2008-08-09 204 views
3

將音頻和視頻轉碼爲在網絡上顯示的最佳方式是什麼?轉碼音頻和視頻

我需要以編程方式進行。我想做一些類似YouTube或Google Video的內容,用戶可以上傳他們想要的任何格式,然後將其編碼爲flv,mp3和/或mp4。我可以在我們的服務器上完成,但我寧願使用EC2實例甚至是Web服務。我們有一臺Windows 2008服務器。

回答

2

我強烈推薦的ffmpeg。在Windows上,我發現this site承載好的二進制文件。

2

ffmpeg可以做到這一點,它是一個使用libavcodec的命令行工具。可以處理大多數視頻格式的轉換。如果符合您的需求,它的許可證是LPGL。您可以通過編程的方式將其作爲單獨的進程來使用,或者如果您覺得自己的核心,可以直接使用libavcodec庫進行編碼。

1

請注意,ffmpeg的某些部分在GPL下。我相信libpostproc模塊是,如果我記得正確,這是用於轉碼。確保此許可證與您正在做的事情兼容。

+0

實際上ffmpeg的GPL部分是可選的,只有在使用--enable-gpl選項運行./configure時才包含。 – mouviciel 2009-02-16 16:19:45

2

當你要轉碼的FLV(這可能是最好的網站),然後我用這條線:

ffmpeg -hq -y -i $directory/$file -r 20 -s 300x200 -deinterlace -ar 22050 $directory/$file.flv 1>/dev/null 2>/dev/null 

它非常好,當然在linux的:-)。

3

類型取決於你想花多少錢。如果這是一個全新的(並且大部分沒有基金)的想法,那麼去ffmpeg路線,但是當你擴大規模並尋求提高質量時,考慮一種可以自動化的更專業的編碼工具(Rhozet,Inlet,Digital Rapids 3個選項)。

1

如果您正在尋找GPL的東西:

對於音頻混日子,嘗試sox.很強大!它做了很多!它包含在大多數Linux發行版中。

還有着名的LAME用於mp3 [音頻]編碼。

對於視頻,mencoder令人印象深刻!它是mplayer包的一部分。它將處理大多數視頻格式的轉換。遠遠超過我夢寐以求的存在。 (有關文檔,請參見Chapter 9. Basic usage of MEncoderChapter 10. Encoding with MEncoder。)

它可以創建的內容稍微有限。但它支持MPEG4 MPEG2DVD-MPEGFLV,等等。 (雖然我自己並沒有嘗試過flv,但Google顯示其他人正在使用它。)

我做的事情,如JPEG +聲音 - > Mpeg4電影:

nice +20 $MENCODER mf://${JPEGFILE} -mf w=720:h=480:fps=1/${SOUNDLENGTH}:type=jpeg -audiofile ${SOUNDFILE} -ovc lavc -oac lavc -lavcopts vcodec=mpeg4 -ofps 30000/1001 -o ${MENU_MPG} 

或轉碼任意格式化的視頻到DVD兼容的MPEG:

nice +20 $MENCODER -edl ${EDL} -ovc lavc -oac lavc -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=${VBITRATE}:keyint=18:acodec=ac3:abitrate=192:aspect=4/3:trell:mbd=2:dia=4:cmp=3:precmp=3:ildctcmp=3:subcmp=3:mbcmp=3:cbp:mv0:dc=10 -of mpeg -mpegopts format=dvd -vf scale=720:480,harddup -srate 48000 -af lavcresample=48000 -ofps 30000/1001 -o ./${INFILE}.reformatted ${FILEPATH} 

-edl/-edlout [編輯決策列表]僅用於剪切我想要的視頻部分。

對於DVD-mpeg-video,$ {VBITRATE}通常爲5000。但如果你有點漏洞,你可以把更多的視頻壓縮到DVD上。假設你可以容忍這些工件。

scale = 720:480,harddup - 我的dvdplayer的刻度尺出錯,harddup在我的「el cheapo」播放器上解決聲音 - 視頻不同步問題。

(要播放的寬屏播放器,不會處理4x3的視頻,我用像暴行「縱橫=九分之十六」「-vf規模= 560:480,擴大= 720:480 ,harddup「。但是一般來說,你不想浪費編碼黑條的位。)

這不是迄今爲止最有效的一組選項到mencoder!運行可能很耗時。但我心中有其他目標......