我正在尝试用一张图片和一个音频文件制作一段视频。视频应该与音频文件一样长,在整个时长内显示同一张图片。
此命令无法正常工作。视频比音频文件长:
ffmpeg -loop 1 -framerate 2/60 -i 22.jpg -i 22.mp3 -c:v libvpx-vp9 -c:a copy -shortest -r 2 video-output.mkv
而且这个命令也无法正常工作。视频无法转换为 YouTube 服务器版本。(在 YouTube 上传视频后,我看到错误消息,该视频无法处理):
ffmpeg -r 1 -i 22.jpg -i 22.mp3 -c:a copy -r 1 -c:v libvpx-vp9 video-output2.mkv
音频和图片可以在这里下载:
https://mega.nz/folder/JuID2BiA#uZ4qVDe6yb0xjDjiXFlJvw
我更喜欢无需重新编码的无损音频
答案1
尝试以下方法(改编自FFmpeg 维基):
ffmpeg -loop 1 -i 22.jpg -i 22.mp3 -c:v libx264 -c:a copy -shortest video-output.mp4
答案2
使用此引用:
由于 YouTube、Vimeo 和其他类似网站会重新编码您提供的任何内容,因此最佳做法是提供您上传的最高质量的视频。上传原始内容是首选,但由于文件大小或格式,这并不总是一种选择,因此可能需要重新编码。本指南将向您展示如何使用 ffmpeg 创建高质量视频。
根据“使用静止图像(input.png)和音频文件(audio.m4a)创建视频:”下的示例,为了使输出无损,我使用了以下命令:
ffmpeg -loop 1 -framerate 2 -i 22.jpg -i 22.mp3 -c:v libx265 -x265-params lossless=1 -preset medium -qp 0 -c:a copy -pix_fmt yuv420p -shortest -movflags faststart output.mkv
可在 YouTube 上观看:https://www.youtube.com/watch?v=eUw-BZRDF5M
为了验证输出音频是否无损,我使用了几种工具并比较了 Spek 的结果;
- 原始音频文件(22.mp3)
- 从 output.mkv (output.mp3) 中提取的音频
在对上传的视频进行一些检查和验证后,似乎 Youtube 的音频截止频率在 15-18KHz 之间。请参阅这里以获取更多信息,但似乎没有办法解决这个问题。
此外,Youtube 还列出了推荐的编码参数这里。