Joh*_*ero 14 h.264 ffmpeg html5 video-encoding webm
我应该在 ffmpeg/mencoder/some_other_CLI_app 中执行哪些命令列表以获取所有正确格式的视频以使用Video for Everyone ?
即是否有一个微妙之处阻止了机械教程说
VIDEO=video.mp4
TYPE=$(ffmpeg --find-information-about-the-video ... )
ffmpeg ... > video.mov
ffmpeg ... > video.flv
ffmpeg ... > video.webm
ffmpeg ... > video.h.264
...
Run Code Online (Sandbox Code Playgroud)
然后将适用于所有人的视频代码复制并粘贴到您的页面中?
我的目标是在我托管的个人网页中嵌入视频。带有 Flash 回退的 HTML5 是首选,因此最简单的方法似乎是为每个人提供视频。但该页面留下了最复杂的部分,即将视频编码为所有不同的格式,让读者通过阅读有关视频格式的长而完整的文章来弄清楚。这当然没有必要。我可以为用户提供一个命令列表来盲目地将音频文件转换成一堆不同的格式。希望 ffmpeg 大师可以为视频做同样的事情。
slh*_*hck 21
注意:此答案自其原始发布以来已被大量编辑。现在是 2017 年;流媒体的工作方式与以前不同。本指南假设以一种给定的分辨率对一个视频流进行简单的渐进式下载 - 没有自适应流。
首先,确保下载最新ffmpeg
版本(下载静态版本;不要调用apt-get install ffmpeg
或类似)。理想情况下,自己编译。不需要太长时间。
要生成大多数浏览器支持的视频,请务必查看最新的兼容性表。没有单一的编解码器/格式适用于所有浏览器,但如果您在 MP4 中生成 H.264 并在 WebM 中生成 VP9,使用相应的音频编解码器,您将支持 Chrome、Firefox、Safari 和某些版本的 IE。
遵循FFmpeg VP9 指南中的建议,并使用具有速率限制的两遍编码方法:
ffmpeg -y -i input-c:v libvpx-vp9 -b:v 2000k -minrate 500k -maxrate 2500k -c:a libvorbis -pass 1 -f webm /dev/null && \
ffmpeg -i input-c:v libvpx-vp9 -b:v 2000k -minrate 500k -maxrate 2500k -c:a libvorbis -pass 2 output.webm
Run Code Online (Sandbox Code Playgroud)
目标比特率取决于您的分辨率、帧率、内容类型以及您想要的质量。对于 30 fps 的高清视频,2.5 MBit/s 应该是一个很好的折衷方案。有关一些建议,请参阅此 Google 指南。
遵循FFmpeg H.264 指南中的建议,并使用具有速率限制的两遍编码方法:
ffmpeg -y -i input -c:v libx264 -b:v 5000k -minrate 1000k -maxrate 8000k -pass 1 -c:a aac -f mp4 /dev/null && \
ffmpeg -i input -c:v libx264 -b:v 5000k -minrate 1000k -maxrate 8000k -pass 2 -c:a aac -movflags faststart output.mp4
Run Code Online (Sandbox Code Playgroud)
在这里,目标比特率应该比 VP9 视频高约 50%,因为 H.264 不是那么有效。将-movflags faststart
选项添加到第二遍以使视频的初始加载速度更快。
有关设置音频选项的信息,请参阅AAC 编码指南。
归档时间: |
|
查看次数: |
8608 次 |
最近记录: |