2011-06-22 77 views
1

我正在尋找能夠自動化編碼我的視頻以進行HTML5回放的方法。 Miro轉換器做的很好,但我期望自動化這個過程。用於編碼HTML5視頻的API

什麼是可用於實現編碼的優秀付費/免費API?

回答

2

雖然我不知道任何編碼您需要的任何服務,但您可以相當簡單。爲了全面支持所有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等到最後一個命令完成,然後繼續。你可以用這種方式把許多命令鏈接起來。

希望有所幫助。

+1

這是什麼libfaac?我收到未知的編碼器錯誤。另外,我猜測第1遍的輸出應該在第2遍輸出。我們在這裏怎麼做。 – JewelThief

0

FFMpeg是Miro所基於的命令行實用程序,因此您可能需要從此處開始。

+0

感謝kinakuta,你知道是否有任何高流量服務使用此用戶生成的內容? – JewelThief

+0

FFMpeg非常受歡迎,幾乎可以用於每個用戶生成的內容網站。據稱甚至YouTube使用它(雖然YouTube自己未證實 - 這裏的文章:http://multimedia.cx/eggs/googles-youtube-uses-ffmpeg/)。唯一受歡迎的其他開源編碼器是MEncoder。 – Jesse

0

Zencoder是一種可以處理所有HTML5格式的雲端編碼API。

+0

很想探索這個。感謝分享。 – JewelThief

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的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/