欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用FFmpeg來(lái)無(wú)損壓縮視頻文件的操作方法

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

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

這個(gè)時(shí)候,我們就可以使用ffmpeg的hevc編碼功能來(lái)實(shí)現(xiàn)無(wú)損的壓縮!

什么是FFmpeg?

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

啥是HEVC編碼?

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

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

HEVC編碼格式有什么缺點(diǎn)?

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

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

那就開(kāi)始動(dòng)手吧!

安裝FFmpeg

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

使用FFmpeg

FFmpeg是一個(gè)只有命令行界面的程序,因此需要在電腦的控制臺(tái)里面運(yùn)行它。

Windows小提示

Windows下,按鍵盤(pán)的win+R,然后輸入cmd,即可打開(kāi)命令行界面

查看FFmpeg的幫助界面

讓我們?cè)诳刂婆_(tái)輸入以下命令:

ffmpeg -h

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

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

ffmpeg -decoders
ffmpeg -encoders
ffmpeg -codecs

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

ffmpeg壓縮視頻指令

vip會(huì)員內(nèi)容

開(kāi)始?jí)嚎s吧!

我們使用FFmpeg的libx265庫(kù)進(jìn)行壓縮,只需要這樣的幾個(gè)簡(jiǎn)單步驟:

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

接著,我們?cè)谖募A下面新建一個(gè)新的文件夾,叫做output,待會(huì)我們輸出的視頻就存在這個(gè)文件夾里面。

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

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

一個(gè)最簡(jiǎn)單的例子

我們可以使用以下的命令格式來(lái)輸出一個(gè)視覺(jué)無(wú)損的視頻:

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

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

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

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

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

進(jìn)行更高級(jí)的壓縮

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

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

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

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

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

輸出最高壓縮效果的視覺(jué)無(wú)損視頻

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

對(duì)于上面的視頻,我們可以用下面這個(gè)壓縮命令:

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

壓縮前后大小對(duì)比如下:

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

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

批量的壓縮視頻

由于上面的方法壓縮視頻只能一個(gè)一個(gè)的壓縮,為此我簡(jiǎn)單寫(xiě)了一個(gè)python腳本來(lái)完成自動(dòng)壓縮文件夾下的所有視頻的功能。

在電腦上安裝python和ffmpeg之后,即可運(yùn)行這個(gè)腳本。然后,在腳本所在的文件夾下創(chuàng)建input文件夾及output文件夾。并把要壓縮的視頻放置在input文件夾下。運(yùn)行python腳本之后,就會(huì)開(kāi)始?jí)嚎s視頻,輸出文件放置在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é)語(yǔ)

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

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

相關(guān)文章

  • python三引號(hào)如何輸入

    python三引號(hào)如何輸入

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

    解決pycharm每次新建項(xiàng)目都要重新安裝一些第三方庫(kù)的問(wèn)題

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

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

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

    python用fsolve、leastsq對(duì)非線性方程組求解

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

    深入探究Python中的多進(jìn)程模塊用法實(shí)例

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

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

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

    python 采集中文亂碼問(wèn)題的完美解決方法

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

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

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

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

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

    python logging.info在終端沒(méi)輸出的解決

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

最新評(píng)論