回答
ffmpeg提供此功能。所有你需要做的是運行像
ffmpeg -i <inputfilename> -s 640x480 -b 512k -vcodec mpeg1video -acodec copy <outputfilename>
成纔對於您需要更改-b
到-b:v
的ffmpeg的新版本:
ffmpeg -i <inputfilename> -s 640x480 -b:v 512k -vcodec mpeg1video -acodec copy <outputfilename>
輸入視頻文件轉換爲視頻大小爲640 x 480和512千比特/秒的比特率使用MPEG 1視頻編解碼器,並且僅複製原始音頻流。當然,您可以插入任何您需要的值,並隨着大小和比特率的變化來實現您正在尋找的質量/尺寸折中。在documentation
運行ffmpeg -formats
或ffmpeg -codecs
中也有大量的其他選項,描述了所有可用格式和編解碼器的列表。如果您不需要針對最終輸出的特定編解碼器,則可以使用像H.264這樣的先進編解碼器,以最小的質量損失實現更好的壓縮比。
除了使用H.264編解碼器選擇固定比特率,您還可以選擇不同的預設,如https://trac.ffmpeg.org/wiki/x264EncodingGuide中所述。我還發現Video encoder comparison at KeyJ's blog(archived version)是一個有趣的閱讀,它將H.264與Theora等進行了比較。
以下是我嘗試過的各種選項的比較。錄製的視頻最初尺寸爲673M,採用RecordMyScreen在iPad上拍攝。它的持續時間約爲20分鐘,分辨率爲1024x768(其中一半視頻爲空白,所以我裁剪到768x768)。爲了減小尺寸,我將分辨率降低到480x480。沒有音頻。
結果,取相同的1024×768作爲鹼(和應用裁剪,縮放和a filter):
- 由於沒有特殊的選項:95M(編碼時間:1m19s)。
- 僅添加
-b 512k
,尺寸降至77M(編碼時間:1m17s)。 - 由於只有
-preset veryslow
(沒有-b
),它成爲70M(編碼時間:6m14s) - 與這兩個
-b 512k
和-preset veryslow
,尺寸變爲77M(100K不僅僅是-b 512k
小)。 - 隨着
-preset veryslow -crf 28
,我得到了一個39M的文件,它需要5m47s(與我沒有視覺質量差異)。
N = 1,所以把結果與一粒鹽,並執行自己的測試。
如果你想保持相同的屏幕尺寸,你可以考慮使用CRF因素:https://trac.ffmpeg.org/wiki/Encode/H.264
這裏是爲我工作的命令:(在Mac上,你需要添加-strict -2
能夠使用AAC音頻編解碼器。
ffmpeg -i input.mp4 -c:v libx264 -crf 24 -b:v 1M -c:a aac output.mp4
- 1. 減小硒幀的尺寸
- 2. Android MediaCodec:減少MP4視頻尺寸
- 3. 減少尺寸
- 4. 使HTML5視頻海報與視頻本身尺寸相同
- 5. 使用Keras降低尺寸
- 6. 減小尺寸
- 7. 大尺寸視頻EmguCV
- 8. Threejs:PointCloudMaterial尺寸相比ShaderMaterial gl_PointSize與大小衰減
- 9. 如何減少不同尺寸的表?
- 10. 減少圖像的尺寸
- 11. YACC降低/減少衝突
- 12. 卸下降低/減少
- 13. MediaRecorder保存的視頻尺寸與SurfaceView相同
- 14. 不同尺寸大小與containerviews
- 15. 幀總是相同的尺寸
- 16. 如何降低的WebPack包裝尺寸
- 17. 動畫UILabel尺寸減少
- 18. 降低HTML5視頻
- 19. 減少圖像尺寸增加文件大小C#
- 20. 爲什麼視頻的尺寸小於iOS照片的尺寸
- 21. 相等的視頻尺寸具有相同的長寬比
- 22. 減小照片的尺寸
- 23. 減小SNMP4J的尺寸
- 24. 降低圖像質量而不降低其幾何尺寸
- 25. 使用分佈式計算減少地圖減少尺寸?
- 26. 如何減少視頻大小 - iOS Titanium視頻?
- 27. 視頻背景的最大尺寸是多少?
- 28. iPad視頻大小/格式
- 29. 減少顏色數量的位圖 - 不應該減小尺寸?
- 30. 相同的表格,不同的尺寸?
非常感謝你讓我節日快樂:) – Vignesh 2010-12-20 18:12:20
-b必須-b:v對於VID比特率 – 2012-10-09 19:11:11
@MrAH,感謝您的更新。自從我發佈該界面後,界面似乎發生了變化。它曾經是視頻比特率的'-b',音頻比特率是'-ab',但它已經變成'-b:[流說明符]'。 – 2012-10-09 19:55:23