FFMPEG将图像和音乐合并生成视频。

3

我尝试将图片(1080p .png)和音乐(320Kb mp3)合成为YouTube视频。

    ffmpeg -loop 1 -i image.png -i music.mp3 -c:a copy -c:v libx264 -crf 0 -preset veryslow -shortest output.mp4
但是转换速度太慢了。有什么想法,如何优化它呢? E:_TEST>ffmpeg -loop 1 -i image0.png -i music0.mp3 -c:a aac -c:v libx264 -crf 0 -preset veryfast -shortest video0.mp4 ffmpeg版本N-87306-g6743351版权所有 (c) 2000-2017年FFmpeg开发人员 使用gcc 7.2.0 (GCC)编译 配置: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib libavutil 55. 75.100 / 55. 75.100 libavcodec 57.106.101 / 57.106.101 libavformat 57. 82.100 / 57. 82.100 libavdevice 57. 8.101 / 57. 8.101 libavfilter 6.105.100 / 6.105.100 libswscale 4. 7.103 / 4. 7.103 libswresample 2. 8.100 / 2. 8.100 libpostproc 54. 6.100 / 54. 6.100 输入#0,png_pipe,来自'image0.png': 持续时间:N/A,比特率:N/A 流#0:0:视频:png,rgb24(pc),1920x1080,25 fps,25 tbr,25 tbn,25 tbc 输入#1,mp3,来自'music0.mp3': 元数据: 编码器:Lavf57.56.101 持续时间:01:00:33.06,开始:0.025057,比特率:128 kb/s 流#1:0:音频:mp3,44100 Hz,立体声,s16p,128 kb/s 元数据: 编码器:Lavc57.64 流映射: 流#0:0 -> # 0:0(png(本机)-> h264(libx264)) 流#1:0 -> # 0:1(mp3(本地)-> aac(本地)) 按 [q] 停止,按 [?] 获取帮助 [libx264 @ 0000000002d3f320]使用 CPU 功能:MMX2 SSE2Fast SSSE3 SSE4.2 AVX XOP FMA3 BMI1 [libx264 @ 0000000002d3f320]配置文件高 4:4:4 预测,级别 4.0,4:4:4 8 位 [libx264 @ 0000000002d3f320]264-core152 r2851 ba24899-H.264/MPEG-4 AVC编解码器-Copyleft2003-2017-

你能否也发布你的_veryslow_预设文件的内容?你要转换的文件大小是多少? - Matt Clark
你至少读过使用标签的描述吗?交互式使用不适合在SO上。请在这里提出你的问题。 - Aleks Andreev
@MattClark 没有外部预设文件。预设在 x264 中集成。 - llogan
嗨,这样行吗? - Nikita Slastikhin
2个回答

6
ffmpeg -loop 1 -framerate 1 -i image.png -i music.mp3 -c:v libx264 -crf 0 -preset veryfast -tune stillimage -c:a copy -shortest output.mkv
  • 使用帧率为1。
  • 只复用音频并避免重新编码音频。
  • 使用Matroska输出格式而不是MP4来处理几乎任何音频格式。

在某些播放器中,输出可能无法正常工作,但在YouTube中可以正常工作。


是的,那很有帮助。谢谢! - Nikita Slastikhin
1
@drgs “输出可能在某些播放器上无法正常工作,但在YouTube上可以正常工作。” 问题要求解决方案适用于YouTube。如果您希望它在标准播放器中正常工作,则请改用“-framerate 25”、“-crf 18”、“-c:a aac”、“output.mp4”。 - llogan
1
我通过反复试错尝试了无数组合,最终找到了这个可行的方案:ffmpeg -r 1 -loop 1 -i image.png -i music.mp3 -acodec copy -r 1 -tune stillimage -shortest video.flv - drgs

0

使用以下命令可以更快地完成操作:

ffmpeg -loop 1 -i image.png -i music.mp3 -c:a aac -c:v libx264 -crf 0 -preset veryfast -shortest output.mp4

这样会更快。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接