多媒體視頻開發_(12) FFMPEG修改視頻分辨率

在本文中,我們將展示如何調整任何視頻文件的大小。

這種方法是在Linux系統(幾乎任何發行版)中調整視頻文件大小的最佳方法之一,也是Windows和Mac用戶的絕佳替代方案。

更改視頻文件的分辨率將是我們在處理視頻文件時將執行的最常見操作之一,因此ffm​​peg能夠完美地完成此操作。我們應該想要更改視頻文件的分辨率有幾個原因,例如:

  • 減少視頻的大小。這可以通過降低視頻的分辨率來實現。如果我們採用高清(1920x1080像素)的視頻,但我們知道我們永遠不會在支持比1024x768更高分辨率的屏幕上看到,我們可以降低視頻分辨率以適應這種新分辨率,從而節省大量存儲空間空間,如果在互聯網上使用,也可以節省帶寬。
  • 很多時候,視頻文件的分辨率會發生變化,從而使其格式標準化。也就是說,如果我們有幾個視頻並且我們希望它們都在同一分辨率下,則必須經歷這個改變分辨率的過程。

在現代網站的開發中,根據它們出現的位置來分辨各種分辨率的視頻是非常有用的。我們可以開發具有響應式設計的網站,其中最適合用戶的視頻播放。例如,如果我們有各種格式的視頻 - 我們說1920x1080,1280x720和640x360-我們可以設計一個響應式網站,讓訪問者根據訪問者瀏覽器節省帶寬重現正確的視頻分辨率(請記住,移動用戶通常支付傳輸數據,因此最好儘可能少地傳輸流量)

在這個例子中,我們將高清格式(1920x1080像素)的視頻分辨率降低到640x360(對於寬高比16:9,這是一個相當常用的配置):

1

ffmpeg -i video_1920.mp4 -vf scale=640:360 video_640.mp4 -hide_banner

僅需要使用-vf scale = 640:360以新的所需分辨率(640:360)指示縮放視頻濾波器  。要考慮:

  • 我們可以指出我們想要的任何分辨率,但生成的視頻將始終具有相同的寬高比。也就是說,它不會扭曲圖像,如果視頻的寬高比爲16:9,它將保持視頻的16:9寬高比。該程序將調整生成的視頻,使其符合我們給出的分辨率。
  • 更改分辨率時,視頻必須再次進行編碼過程,因此根據輸出格式和用於輸出的編解碼器,過程可能會很慢。
  • 我們還沒有提到它,但大多數時候  將視頻轉換爲更高的分辨率  是沒有意義的,因爲視頻質量沒有任何改善。

更改視頻寬高比

如果我們想要改變視頻的外觀,知道圖像會顯得扭曲,我們可以使用額外的過濾器“ setdar”。想象一下,在前一種情況下,我們想要將16:9的寬高比改爲4:3,因此視頻的分辨率爲4:3寬高比,在這種情況下,它將是640x480。進行此轉換的ffmpeg命令將是:

1

ffmpeg -i video_1920.mp4 -vf scale=640:480,setdar=4:3 video_640x480.mp4 -hide_banner

我們在這種情況下獲得的視頻輸出  video_640x480.mp4  改變了原始視頻的外觀並且稍微扭曲了圖像,但它將以新的外觀獲得我們想要的分辨率。

另一方面,如果我們不想依賴於使用可能“更正常”  (4:3,16:9)的寬高比  ,或者如果我們想要對具有未定義寬高比的其他分辨率進行更改,我們是我們不會害怕可能出現的圖像變形,我們可以使用“ setsar”  過濾器,這樣可以避免必須保持這些寬高比。通過這種方式,我們可以使用以下命令將之前的視頻轉換爲200x400的分辨率:

1

ffmpeg -i video_1920.mp4 -vf scale=200:400,setsar=1:1 video_200x400.mp4 -hide_banner

從1920x1080分辨率的200x400分辨率的結果使視頻輸出具有扭曲的外觀。

視頻大小調整的示例

我們將看到一些使用ffmpeg調整視頻大小的示例。我們有一個原始視頻,分辨率爲320x180像素。這裏是。

正如我們之前看到的,我們可以將視頻大小調整爲原始大小的一半。我們使用以下命令將其從320x180像素分辨率調整爲160x90像素分辨率:

1

ffmpeg -i video_320x180.mp4 -vf scale=160:90 video_180x90.mp4 -hide_banner

該視頻的大小從1.18MB變爲354KB視頻(四分之一)。結果如下:

請注意,視頻較小,但我們可以告訴瀏覽器將其放大,與原始視頻相比會有一些質量損失。

現在讓我們將原始視頻寬高比從16:9更改爲4:3。爲此,我們使用以下命令將視頻從320x180調整爲320x240:

1

ffmpeg -i video_320x180.mp4 -vf scale=320:240,setdar=4:3 video_320x240.mp4 -hide_banner

這是結果(你可以看到圖像看起來扭曲):

現在終於我們將調整視頻大小,就好像它必須適合垂直屏幕一樣,因此我們將尺寸從320x180像素調整爲180x320像素。這是執行任務的命令:

1

ffmpeg -i video_320x180.mp4 -vf scale=180:320,setsar=1:1 video_180x320.mp4 -hide_banner

這是扭曲的結果:

請注意,在此視頻中,我還包含了webm格式的源代碼,以實現最大兼容性。我這樣做了所以如果您的瀏覽器無法直接使用mp4文件,您可以在類似的webm文件中看到結果。

轉自:https://www.cnblogs.com/lcxiao/p/11509132.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章