用于为HTML5编码视频的API

时间:2011-06-22 17:51:57

标签: html5 html5-video

我希望自动化为HTML5播放编码视频的方法。米罗转换器做得很好,但我希望自动化这个过程。

有哪些很棒的付费/免费API可以用来实现编码?

4 个答案:

答案 0 :(得分:2)

虽然我不知道任何编码所需内容的服务,但您可以相当简单地制作自己的服务。要获得所有html5浏览器网络的全面支持,您需要以(至少)2种不同格式进行编码。

IE9,Safari,Mobile Safari(iPhone)和Android均支持

h264 。 (我认为Chrome可能支持这一点,但将来可能不会。政治。)

Opera,Mozilla(Firefox)和Chrome支持

Theora

您可以使用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

这将对mp4 / aac h264进行2遍编码。使用-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要等到最后一个命令完成,然后继续。你可以用这种方式链接很多命令。

希望有所帮助。

答案 1 :(得分:0)

FFMpeg是Miro所基于的命令行实用程序,因此您可能希望从那里开始。

答案 2 :(得分:0)

Zencoder是一种云编码API,可以执行所有HTML5格式。

答案 3 :(得分:0)

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中的播放可以使用基于HTML5的JavaScript播放器完成,例如http://www.dash-player.com。还有一个教程如何使用x264 + MP4Box生成MPEG-DASH内容:http://www.dash-player.com/blog/2014/11/mpeg-dash-content-generation-using-mp4box-and-x264/