FFMpeg 合并音视频文件
FFMpeg Merge audio and video files
我需要合并一个音频 (.mp3) 和视频 (.mov) 文件并使用 FFMpeg PHP 库输出一个 mp4 文件。
以下作品:
$ffmpeg = \FFMpeg\FFMpeg::create([
'ffmpeg.binaries' => 'C:/ffmpeg/bin/ffmpeg.exe',
'ffprobe.binaries' => 'C:/ffmpeg/bin/ffprobe.exe'
]);
/* Open video file */
$video = $ffmpeg->open('sample.mov');
/* Resize video */
$video
->filters()
->resize(new \FFMpeg\Coordinate\Dimension(320, 240))
->synchronize();
/* Take screenshot from video */
$video->frame(\FFMpeg\Coordinate\TimeCode::fromSeconds(10))
->save('screen.jpg');
然而这并不是我所需要的。
下面的命令行代码正是我要找的,但我不知道如何将它转换成与上面相同的格式($ffmpeg 版本)。
exec("ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac output.mp4");
问题:
任何人都知道如何将 exec 转换为上面的 PHP?
谢谢大家。
你能试试完整路径吗
$cmd = 'C:\ffmpeg\bin\ffmpeg.exe -i video.mp4 -i audio.mp3 -c:v copy -c:a aac output.mp4';
exec($cmd, $output)
看起来它没有在 PHP-FFMPEG 包中实现,你必须那样做。
https://github.com/PHP-FFMpeg/PHP-FFMpeg/issues/346#issuecomment-292701054
没有明确的 PHP-FFMPEG 函数,但可以构建您的自定义命令。
这里是一个合并 PNG 图像和 MP3 文件生成 MP4 视频的示例。
$ffmpeg = \FFMpeg\FFMpeg::create();
$advancedMedia = $ffmpeg->openAdvanced(['image.png', 'audio.mp3']);
$advancedMedia->map([], new \FFMpeg\Format\Video\X264('aac', 'libx264'), 'output.mp4')->save();
文档的更多详细信息in the "AdvancedMedia" paragraph。
我需要合并一个音频 (.mp3) 和视频 (.mov) 文件并使用 FFMpeg PHP 库输出一个 mp4 文件。
以下作品:
$ffmpeg = \FFMpeg\FFMpeg::create([
'ffmpeg.binaries' => 'C:/ffmpeg/bin/ffmpeg.exe',
'ffprobe.binaries' => 'C:/ffmpeg/bin/ffprobe.exe'
]);
/* Open video file */
$video = $ffmpeg->open('sample.mov');
/* Resize video */
$video
->filters()
->resize(new \FFMpeg\Coordinate\Dimension(320, 240))
->synchronize();
/* Take screenshot from video */
$video->frame(\FFMpeg\Coordinate\TimeCode::fromSeconds(10))
->save('screen.jpg');
然而这并不是我所需要的。 下面的命令行代码正是我要找的,但我不知道如何将它转换成与上面相同的格式($ffmpeg 版本)。
exec("ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac output.mp4");
问题: 任何人都知道如何将 exec 转换为上面的 PHP?
谢谢大家。
你能试试完整路径吗
$cmd = 'C:\ffmpeg\bin\ffmpeg.exe -i video.mp4 -i audio.mp3 -c:v copy -c:a aac output.mp4';
exec($cmd, $output)
看起来它没有在 PHP-FFMPEG 包中实现,你必须那样做。
https://github.com/PHP-FFMpeg/PHP-FFMpeg/issues/346#issuecomment-292701054
没有明确的 PHP-FFMPEG 函数,但可以构建您的自定义命令。
这里是一个合并 PNG 图像和 MP3 文件生成 MP4 视频的示例。
$ffmpeg = \FFMpeg\FFMpeg::create();
$advancedMedia = $ffmpeg->openAdvanced(['image.png', 'audio.mp3']);
$advancedMedia->map([], new \FFMpeg\Format\Video\X264('aac', 'libx264'), 'output.mp4')->save();
文档的更多详细信息in the "AdvancedMedia" paragraph。