【问题标题】:ffmpeg: create .mp4 from .mp3 and .jpgffmpeg:从 .mp3 和 .jpg 创建 .mp4
【发布时间】:2021-06-27 16:17:43
【问题描述】:

我已经寻找了最好的方法来做到这一点,但似乎没有任何效果。我正在使用 Ubuntu 20.04。

ffmpeg-版本:

ffmpeg 版本 4.2.4-1ubuntu0.1 版权所有 (c) 2000-2020 FFmpeg 开发者 使用 gcc 9 (Ubuntu 9.3.0-10ubuntu2) 构建 配置: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable -libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable -libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable -librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable -libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzv bi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable- nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libav 设备 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100

这是我正在使用的命令:

ffmpeg -y -hide_banner -loop 1 -i test.jpg -i test.mp3 -c:v libx264 -tune stillimage -c:a aac -b:a 192k -pix_fmt yuv420p -shortest out.mp4

结果不会在 VLC 中播放。该命令需要很长时间才能完成。 test.jpg 图像的 y 尺寸也是奇数,所以我通过将尺寸减小 1 来使其与 imagick 相同。

你如何“正确”地做到这一点?

【问题讨论】:

  • 分享完整日志。
  • 显示完整的日志将使我们能够为您提供正确执行此操作的答案。

标签: image ffmpeg mp3


【解决方案1】:

首先,将图像转换为正确的像素格式,最好是png:

ffmpeg -y -i test.jpg -qmin 1 -qmax 1 -preset slow test.png

最后,从 png 图像和 mp3 创建视频:

ffmpeg -y -loop 1 -i test.png -i music.mp3 -shortest -c:v libx264 -pix_fmt yuv420p -b:v 5M -preset slow video.mp4

【讨论】:

  • 1) 无需将 jpg 转换为 png 即可从图像制作视频。 2) PNG 忽略-qmin-qmax。 3) -preset 不是所有编码器都可以使用的通用选项。 PNG编码器会忽略它。它被一些视频编码器使用,例如 libx264、libx265、libaom-av1、libxavs 和 libvpx。
  • 我发现 .jpg 文件可以工作,但它需要的时间是 .png 文件的两倍。 jpg 以 1.77x 运行,而 png 以约 3.55x 运行。
  • 是的,.jpg 不是正确的像素格式 - 所以我们需要先将 .jpg 转换为 .png。
猜你喜欢
  • 2022-01-02
  • 1970-01-01
  • 2021-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-03
  • 2014-11-04
  • 2019-01-12
相关资源
最近更新 更多