回答
虽然我不知道任何编码您需要的任何服务,但您可以相当简单。为了全面支持所有html5浏览器的网络,您需要以(至少)2种不同格式进行编码。
h264由IE9,Safari,Mobile Safari(iPhone)和Android支持。 (我认为Chrome可能支持这一点,但未来可能不支持政治)
Theora支持Opera,Mozilla(Firefox)和Chrome。
您可以使用ffmpeg编码为这两种格式,所以完全可以自行创建批量转换器。
这里有几个命令让你开始:
ffmpeg -i input -pass 1 -vcodec libx264 -preset fast -b 512k -threads 0 -f mp4 -an -y /dev/null && ffmpeg -i [INPUT FILE] -pass 2 -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -preset fast -b 512k -threads 0 output.mp4
这将做2遍编码的MP4/AAC H264。使用-b选项播放更高和更低的比特率(和文件大小)。 -ab选项是你的音频,128k应该很多,但如果你发现它听起来不好,你可以尝试使用256k。
Theora设置起来有点棘手,但是有一个很好的工具叫做ffmpeg2theora,它可以使转换过程变得更简单。它可以在这里找到:http://v2v.cc/~j/ffmpeg2theora/
用法比ffmpeg更简单一些,如:ffmpeg2theora -v 7 -a 3 [INPUT FILE]
,其中-v是视频质量(10),-a是音频质量(10)。
在这两个示例中,用您的输入替换[INPUT FILE]
,例如myvideo.avi
。
我推荐使用这两种工具来获得它们的感觉,它们都是强大的,一旦你掌握了它的使用非常简单。
一旦你想为它创建一个批处理文件,最简单的方法之一就是编写一个快速的shell脚本。下面是一个例子:
#!/bin/bash
# super simple batch video script
ffmpeg -i input -pass 1 -vcodec libx264 -preset fast -b 512k -threads 0 -f mp4 -an -y /dev/null && ffmpeg -i $1 -pass 2 -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -preset fast -b 512k -threads 0 output.mp4 && ffmpeg2theora -v 7 -a 3 $1
将它保存为encode.sh
。
然后,使其可执行:chmod 755 encode.sh
,并用路径到视频参数运行它:sh encode.sh "/path/to/video.avi"
在脚本中的唯一的东西,可能是不熟悉的有:
#!/bin/bash
- 这告诉sh在bash shell中运行这个脚本。
$1
- 这将是传递给bash shell的第一个参数。在上述情况下,视频文件路径。
&&
- 这告诉bash等到最后一个命令完成,然后继续。你可以用这种方式把许多命令链接起来。
希望有所帮助。
FFMpeg是Miro所基于的命令行实用程序,因此您可能需要从此处开始。
感谢kinakuta,你知道是否有任何高流量服务使用此用户生成的内容? – JewelThief
FFMpeg非常受欢迎,几乎可以用于每个用户生成的内容网站。据称甚至YouTube使用它(虽然YouTube自己未证实 - 这里的文章:http://multimedia.cx/eggs/googles-youtube-uses-ffmpeg/)。唯一受欢迎的其他开源编码器是MEncoder。 – Jesse
http://www.bitcodin.com可以生成MPEG-DASH和HLS内容,这些内容可以通过不同的浏览器在HTML5中本地播放。有关内容生成的综合教程:http://www.bitcodin.com/blog/2015/02/create-mpeg-dash-hls-content-for-amazon-s3-and-cloudfront/
可以使用基于HTML5的JavaScript播放器(例如http://www.dash-player.com)来播放HTML5。还有一个教程如何使用x264 + MP4Box生成MPEG-DASH内容:http://www.dash-player.com/blog/2014/11/mpeg-dash-content-generation-using-mp4box-and-x264/
- 1. Android的HTML5视频编码
- 2. 的Youtube API HTML5视频
- 3. 用于编辑视频的管道API
- 4. 为html5播放编码视频
- 5. 支持HTML5视频编解码器
- 6. 用于Silverlight视频会议的视频/音频编解码器
- 7. 用于Windows的视频编码库
- 8. 使用api访问html5视频元素
- 9. 适用于iPad的HTML5视频标签
- 10. 用于HTML5视频的Android webkit代理
- 11. html5音频编解码器
- 12. 适用于iOS和Android的HTTP视频流编解码器(HTML5嵌入)
- 13. 如何编码/解码MVC(多视点视频编码)视频?
- 14. 视频播放:HTML5 VS的Youtube API
- 15. z-index不适用于HTML5视频
- 16. HTML5视频标签不适用于iPad?
- 17. 适用于Android平台的音频/视频编解码器
- 18. HTML5视频寻找API如何工作?
- 19. Java编码视频
- 20. Brightcove的HTML5视频
- 21. 视频在HTML5
- 22. 对HTML5视频
- 23. HTML5视频为
- 24. HTML5视频量
- 25. 如何从JavaScript获取HTML5视频的编解码器信息?
- 26. 替换html5视频的多个编码javascript
- 27. ffmpeg视频编码策略,用于防止低质量视频的“膨胀”
- 28. 用于Python视频的Microsoft Emotion API
- 29. 用于视频聊天的API
- 30. ios上的html5视频背景视频
这是什么libfaac?我收到未知的编码器错误。另外,我猜测第1遍的输出应该在第2遍输出。我们在这里怎么做。 – JewelThief