FFmpeg 音频拼接问题
使用的laravel包:https://github.com/char0n/ffmpeg-php
需求
- 将几个时长不一样的音频合并为一个
问题: - 时长不一样的 audio_1 和 audio_2 拼接出来的音频 new.mp3 会出现问题。
- 如果auido_1 比 audio_2 的时长短,新的new.mp3 到后面会读的特别快并且音色也不一样
- 有的时候只能读前几秒,后面直接退出了
$ffmpeg = FFMpeg::create([
'ffmpeg.binaries' => '/usr/local/ffmpeg/bin/ffmpeg',
'ffprobe.binaries' => '/usr/local/ffmpeg/bin/ffprobe',
'timeout' => 3600, // The timeout for the underlying process
'ffmpeg.threads' => 12, // The number of threads that FFMpeg should use
]);
$audio_1 = storage_path('app').'/coconut2.mp3'; //00:00:03 时长
$audio_2 = storage_path('app').'/2.mp3'; //00:02:20 时长
$audio = $ffmpeg->open($audio_1);
$file_path = storage_path('app').'/new.mp3';
$audio->concat([$audio_2,$audio_1])->saveFromSameCodecs($file_path,true);
//new.mp3 00:06:31 时长,没有$audio_2的声音,只能读前几秒
不知道该问题如何解决,或者有没有其他的实现方式,希望大佬指点一二。
推荐文章: