我使用ffmpeg將家庭視頻轉換爲DVD格式,並希望在轉換之前計算輸出文件的大小。如何計算ffmpeg輸出文件大小?
我的輸入文件的比特率爲7700 kbps,長度爲114秒。音頻比特率是256 kbit(每秒?)輸入文件是77 MB。爲了得到這個信息,我跑:
mplayer -vo null -ao null -frames 0 -identify input.MOD
所以從理論上講,輸入文件應該有(大致)的文件大小:
((八分之七千七)* 114)/ 1024
也就是說,(7700/8)是千字節/秒,乘以114秒,然後轉換爲兆字節。這給了我107MB,遠遠超過了我的77.因此我對他的公式持懷疑態度。
這就是說,轉換視頻後:
ffmpeg -i input.MOD -y -target ntsc-dvd -sameq -aspect 4:3 output.mpg
的數字似乎更有意義。比特率是9000 kbps,應用上面的公式,我得到125MB,而我的實際輸出文件大小爲126MB。
於是,兩個問題:
如何因素的音頻比特率到這個計算?它是添加劑(視頻文件大小+音頻文件大小)?
DVD是否總是有9000千比特/秒的速度?這是DVD的定義嗎?或者可能會根據我的輸入視頻的視頻質量而改變? 「-target ntsc-dvd」對我的視頻有什麼保證?
爲什麼我的輸入文件不能「匹配」計算,但輸出文件呢?有沒有其他的變量我沒有考慮?
什麼是計算文件大小的正確方法?
這是否意味着我可以使用最大比特率 - 在這種情況下,對於DVD,9000kbps - 作爲編碼後文件大小可能有多大的上限? – poundifdef
是的。這也意味着如果您需要更緊密地壓縮它,您可以指定更嚴格的平均比特率。標準DVD可以在任何地方從1150kbps到9000kbps,這意味着從1h到8h在單面單層磁盤上。 – qdot