亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用FFmpeg來無損壓縮視頻文件的操作方法

 更新時間:2023年12月21日 15:11:08   作者:燈瓏  
FFmpeg是業(yè)內(nèi)有名的開源圖像視頻處理程序,在許多視頻剪輯軟件、圖像處理軟件中,都使用的FFmpeg,還有比如OBS這樣的導(dǎo)播軟件里面也使用了FFmpeg,FFmpeg的功能十分強大,遠不止視頻壓縮的功能,本文介紹使用FFmpeg來無損壓縮視頻文件的操作方法,感興趣的朋友一起看看吧

咱們平時如果經(jīng)常拍視頻的話,都會遇到一個困境:視頻文件太大了,存儲的時候需要占用很多的空間。如果直接使用視頻壓縮工具來壓縮碼率的話,又會擔(dān)心損失了視頻的畫質(zhì),這該怎么辦呢?

這個時候,我們就可以使用ffmpeg的hevc編碼功能來實現(xiàn)無損的壓縮!

什么是FFmpeg?

FFmpeg是業(yè)內(nèi)有名的開源圖像視頻處理程序。它被廣泛的使用,在許多視頻剪輯軟件、圖像處理軟件中,都使用的FFmpeg,還有比如OBS這樣的導(dǎo)播軟件里面也使用了FFmpeg

啥是HEVC編碼?

咱們常用的MP4格式中,一般使用的都是H.264編碼格式,它于2003年被正式發(fā)布并廣泛使用于各種場合。

十年后,也就是2013年,HEVC編碼正式發(fā)布。HEVC是High Efficiency Video Coding(高效視頻編碼)的縮寫,又被稱為H.265.相較于H.264,它擁有更高的壓縮率。在畫質(zhì)相同時,HEVC編碼格式能節(jié)省25%~50%的存儲空間占用。因此,對于動輒幾個GB的視頻文件,使用HEVC編碼進行歸檔存儲,再也合適不過了。

HEVC編碼格式有什么缺點?

相較于H.264,HEVC編碼格式在編解碼的過程中,需要占用更多的硬件資源。大白話就是,速度更慢。因此,如果你的電腦沒有很好的顯卡來支持HEVC格式的硬件加速,那么將會以很慢的速度壓縮你的視頻,播放的時候也可能會發(fā)生卡頓。

并且,由于HEVC格式的普及程度不如已有近20年歷史的H.264,因此,有些播放軟件無法播放它。但是在不遠的將來,這個問題也不再是問題。

那就開始動手吧!

安裝FFmpeg

首先,我們打開FFmpeg的官網(wǎng)https://ffmpeg.org然后點擊“Download”按鈕,進入下載頁面,下載對應(yīng)的版本即可。然后在電腦上安裝。Windows還需要將安裝目錄添加到環(huán)境變量。

使用FFmpeg

FFmpeg是一個只有命令行界面的程序,因此需要在電腦的控制臺里面運行它。

Windows小提示

Windows下,按鍵盤的win+R,然后輸入cmd,即可打開命令行界面

查看FFmpeg的幫助界面

讓我們在控制臺輸入以下命令:

ffmpeg -h

然后ffmpeg就會輸出它的幫助信息。由于信息是英文的,因此需要一點耐心去閱讀它。下面是與我們的目標相關(guān)聯(lián)的兩個幫助信息:

這是關(guān)于編碼器和解碼器的信息,然后我們可以輸入以下代碼,分別查看編碼器和解碼器的可選項:

ffmpeg -decoders
ffmpeg -encoders
ffmpeg -codecs

我們會發(fā)現(xiàn)輸出了一堆信息,讓我們眼花繚亂。是的,F(xiàn)Fmpeg就是這么強大,支持很多的編解碼器.

ffmpeg壓縮視頻指令

vip會員內(nèi)容

開始壓縮吧!

我們使用FFmpeg的libx265庫進行壓縮,只需要這樣的幾個簡單步驟:

為了安全起見,我們先將待壓縮的視頻復(fù)制到一個新的文件夾下面,防止誤操作丟失了數(shù)據(jù)。然后在新的這個文件夾中打開控制臺(windows下需要使用cd命令進去對應(yīng)的文件夾)。

接著,我們在文件夾下面新建一個新的文件夾,叫做output,待會我們輸出的視頻就存在這個文件夾里面。

這時候文件夾下面應(yīng)該長這樣:

接著,我們來研究一下怎么使用ffmpeg壓縮視頻。

一個最簡單的例子

我們可以使用以下的命令格式來輸出一個視覺無損的視頻:

ffmpeg -i 輸入文件名 -c:v libx265 -x265-params crf=18 output/輸出文件名.mp4

對于上圖的文件,命令就是下面這樣:

ffmpeg -i demo.mp4 -c:v libx265 -x265-params crf=18 output/demo_1.mp4

然后,經(jīng)過一段時間的等待,我們就可以看到結(jié)果了!

左邊是源視頻,右邊是壓縮后的視頻。我們可以看到,它節(jié)省了29.6%的空間!而且,經(jīng)過我的測試,在視覺上,這兩個視頻的畫質(zhì)是差不多的。

進行更高級的壓縮

在這里,我們講解一下上面的參數(shù)設(shè)置的含義。crf是Constant Rate Factor的縮寫,它的值越小,畫質(zhì)越高,占用的空間越大。它的可選項為0~51,默認為28.當(dāng)crf在20以下的時候,就能實現(xiàn)視覺上的無損。

此外,FFmpeg還為我們提供了一些預(yù)設(shè)選項,我們可以通過preset選項,快速設(shè)置x265編碼的時候使用到的參數(shù)。

preset的可選項按照編碼速度從快到慢,排列如下:

  • ultrafast
  • superfast
  • veryfast
  • faster
  • fast
  • medium
  • slow
  • slower
  • veryslow
  • placebo

編碼速度越慢,則壓縮效果及畫質(zhì)越好。preset選項的默認參數(shù)為medium。

輸出最高壓縮效果的視覺無損視頻

ffmpeg -i 輸入文件名 -c:v libx265 -x265-params crf=18:preset=placebo output/輸出文件名.mp4

對于上面的視頻,我們可以用下面這個壓縮命令:

ffmpeg -i demo.mp4 -c:v libx265 -x265-params crf=18:preset=placebo output/demo_2.mp4

壓縮前后大小對比如下:

雖然這次的體積只減少了13.1%,但是肉眼看視頻的時候,很明顯感覺視頻畫質(zhì)和原視頻沒啥區(qū)別。

這樣算下來,1GB的視頻,使用最高畫質(zhì)的無損壓縮,可以節(jié)省下131MB的空間呢!還是很可觀的!

批量的壓縮視頻

由于上面的方法壓縮視頻只能一個一個的壓縮,為此我簡單寫了一個python腳本來完成自動壓縮文件夾下的所有視頻的功能。

在電腦上安裝python和ffmpeg之后,即可運行這個腳本。然后,在腳本所在的文件夾下創(chuàng)建input文件夾及output文件夾。并把要壓縮的視頻放置在input文件夾下。運行python腳本之后,就會開始壓縮視頻,輸出文件放置在output文件夾下。

腳本我已經(jīng)上傳到GitHub:

Utility-gadgets/cv/batch_transcode2HEVC at main · fslongjin/Utility-gadgets · GitHub

https://github.com/fslongjin/Utility-gadgets/tree/main/cv/batch_transcode2HEVC

結(jié)語

FFmpeg的功能十分強大,遠不止視頻壓縮的功能。它的功能還有待我們?nèi)ヌ剿?,有興趣的同學(xué),可以在FFmpeg官網(wǎng)查看官方的文檔與教程,學(xué)習(xí)更多的知識哦~

到此這篇關(guān)于使用FFmpeg來無損壓縮視頻文件的文章就介紹到這了,更多相關(guān)FFmpeg壓縮視頻無損內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python三引號如何輸入

    python三引號如何輸入

    在本篇文章里小編給大家整理的是關(guān)于python三引號輸入方法及相關(guān)實例,需要的朋友們可以學(xué)習(xí)下。
    2020-07-07
  • 解決pycharm每次新建項目都要重新安裝一些第三方庫的問題

    解決pycharm每次新建項目都要重新安裝一些第三方庫的問題

    今天小編就為大家分享一篇解決pycharm每次新建項目都要重新安裝一些第三方庫的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python將xml和xsl轉(zhuǎn)換為html的方法

    Python將xml和xsl轉(zhuǎn)換為html的方法

    這篇文章主要介紹了Python將xml和xsl轉(zhuǎn)換為html的方法,實例分析了使用libxml2模塊操作xml和xsl轉(zhuǎn)換為html的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • python用fsolve、leastsq對非線性方程組求解

    python用fsolve、leastsq對非線性方程組求解

    這篇文章主要為大家詳細介紹了python用fsolve、leastsq對非線性方程組進行求解,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • 深入探究Python中的多進程模塊用法實例

    深入探究Python中的多進程模塊用法實例

    多進程是計算機編程中的一個概念,也可以說是一種可用于實現(xiàn)并行性和利用多個 CPU 內(nèi)核或處理器并發(fā)執(zhí)行任務(wù)的技術(shù),在本文中,我們將學(xué)習(xí)有關(guān) python 中多進程處理的所有知識、理論和實際使用代碼
    2024-01-01
  • Python編程之基于概率論的分類方法:樸素貝葉斯

    Python編程之基于概率論的分類方法:樸素貝葉斯

    這篇文章主要介紹了Python編程之基于概率論的分類方法:樸素貝葉斯,簡單介紹了其概述,貝葉斯理論和條件概率,以及樸素貝葉斯的原理等相關(guān)內(nèi)容,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • python 采集中文亂碼問題的完美解決方法

    python 采集中文亂碼問題的完美解決方法

    下面小編就為大家?guī)硪黄猵ython 采集中文亂碼問題的完美解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • python內(nèi)置進制轉(zhuǎn)換函數(shù)的操作

    python內(nèi)置進制轉(zhuǎn)換函數(shù)的操作

    這篇文章主要介紹了python內(nèi)置進制轉(zhuǎn)換函數(shù)的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • python主線程捕獲子線程的方法

    python主線程捕獲子線程的方法

    這篇文章主要為大家詳細介紹了python主線程捕獲子線程的方法,具有一定的參考價值,感興趣的朋友可以參考一下
    2018-06-06
  • python logging.info在終端沒輸出的解決

    python logging.info在終端沒輸出的解決

    這篇文章主要介紹了python logging.info在終端沒輸出的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05

最新評論