我正在使用以下命令将 AVI 编码为 H264 视频以用于 HTML5 视频标签:
ffmpeg -y -i "test.avi" -vcodec libx264 -vpre slow -vpre baseline -g 30 "out.mp4"
Run Code Online (Sandbox Code Playgroud)
这工作得很好。但我也想从单个静止图像创建一个占位符视频(长篇故事),所以我这样做:
ffmpeg -y -i "test.jpg" -vcodec libx264 -vpre slow -vpre baseline -g 30 "out.mp4"
Run Code Online (Sandbox Code Playgroud)
这不起作用。是什么赋予了?
编辑:在尝试 LordNeckbeards 回答后,这是我的完整输出:http ://pastebin.com/axhKpkLx
10 秒输出示例:
ffmpeg -loop 1 -framerate 24 -i input.jpg -c:v libx264 -preset slow -tune stillimage -crf 24 -vf format=yuv420p -t 10 -movflags +faststart output.mp4
Run Code Online (Sandbox Code Playgroud)
同样的事情,但有音频。输出持续时间将匹配输入音频持续时间:
ffmpeg -loop 1 -framerate 24 -i input.jpg -i audio.mp3 -c:v libx264 -preset slow -tune stillimage -crf 24 -vf format=yuv420p -c:a aac -shortest -movflags +faststart output.mp4
Run Code Online (Sandbox Code Playgroud)
-loop 1 循环图像输入。
-framerate设置图像输入的帧率。默认为 25。一些玩家有低帧率的问题,所以建议值超过 6 左右。
-i input.jpg 输入。
-c:v libx264 H.264 视频编码器。
-presetx264 编码预设。使用最慢的一种。
-tune x264 调整进行各种调整以适应特定情况。
-crf为了质量。较低的值导致较高的质量。使用仍能为您提供可接受质量的最高值。默认值为 23。
-vf format=yuv420p输出像素格式为yuv420p. 这确保输出使用广泛接受的色度子采样方案。从图像编码时推荐用于 libx264。
-c:a aacAAC 音频编码器。如果您的输入已经是 AAC 或 M4A,则使用 -c:a copy 来流式复制而不是重新编码。
-t 10(在第一个示例中)产生 10 秒的输出。需要,因为图像无限循环。
-shortest(在第二个示例中)使输出的持续时间与最短的输入相同。在这种情况下,它是音频,因为图像无限循环。
-movflags +faststart编码完成后将 moov atom 重新定位到文件的开头。允许在渐进式下载播放中更快地开始播放;否则必须在播放前下载整个视频。
-profile:v main (可选)某些设备无法处理高配置文件。
有关更多信息,请参阅FFmpeg Wiki:H.264。
| 归档时间: |
|
| 查看次数: |
5651 次 |
| 最近记录: |