最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

什么是FFmpeg?

FFmpeg是業(yè)內(nèi)有名的開源圖像視頻處理程序。它被廣泛的使用,在許多視頻剪輯軟件、圖像處理軟件中,都使用的FFmpeg,還有比如OBS這樣的導播軟件里面也使用了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”按鈕,進入下載頁面,下載對應的版本即可。然后在電腦上安裝。Windows還需要將安裝目錄添加到環(huán)境變量。

使用FFmpeg

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

Windows小提示

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

查看FFmpeg的幫助界面

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

ffmpeg -h

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

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

ffmpeg -decoders
ffmpeg -encoders
ffmpeg -codecs

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

ffmpeg壓縮視頻指令

vip會員內(nèi)容

開始壓縮吧!

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

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

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

這時候文件夾下面應該長這樣:

接著,我們來研究一下怎么使用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é)省了29.6%的空間!而且,經(jīng)過我的測試,在視覺上,這兩個視頻的畫質(zhì)是差不多的。

進行更高級的壓縮

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

此外,FFmpeg還為我們提供了一些預設選項,我們可以通過preset選項,快速設置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

結語

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

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

相關文章

  • 詳解python變量與數(shù)據(jù)類型

    詳解python變量與數(shù)據(jù)類型

    這篇文章主要介紹了python變量與數(shù)據(jù)類型的相關資料,幫助大家更好的理解和學習python,感興趣的朋友可以了解下
    2020-08-08
  • 詳解Python中的循環(huán)語句的用法

    詳解Python中的循環(huán)語句的用法

    這篇文章主要介紹了詳解Python中的循環(huán)語句的用法,循環(huán)語句是學習各個編程語言的最基本的基礎知識,需要的朋友可以參考下
    2015-04-04
  • 在Python中處理字符串之ljust()方法的使用簡介

    在Python中處理字符串之ljust()方法的使用簡介

    這篇文章主要介紹了在Python中處理字符串之ljust()方法的使用,是Python學習中的基礎知識,需要的朋友可以參考下
    2015-05-05
  • Python高效操作Word的實用技巧與進階方法

    Python高效操作Word的實用技巧與進階方法

    在當今數(shù)據(jù)驅(qū)動的時代,自動化處理文檔成為了提高工作效率的關鍵,本文旨在為讀者提供一份全面而深入的指南,介紹如何使用Python來操作Word文檔,有需要的小伙伴可以了解下
    2025-12-12
  • VsCode終端激活anconda環(huán)境問題解決

    VsCode終端激活anconda環(huán)境問題解決

    本文主要介紹了VsCode終端激活anconda環(huán)境問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-01-01
  • pandas將DataFrame的列變成行索引的方法

    pandas將DataFrame的列變成行索引的方法

    下面小編就為大家分享一篇pandas將DataFrame的列變成行索引的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • 21行Python代碼實現(xiàn)拼寫檢查器

    21行Python代碼實現(xiàn)拼寫檢查器

    21行python代碼實現(xiàn)的一個簡易但是具備完整功能的拼寫檢查器,感興趣的小伙伴們可以參考一下
    2016-01-01
  • Python中如何檢查字符串是否包含列表中的元素

    Python中如何檢查字符串是否包含列表中的元素

    在數(shù)據(jù)預處理或糾錯的過程中可能會用到對列表中是否含有我們需要的字符串的判斷,下面這篇文章主要給大家介紹了關于Python中如何檢查字符串是否包含列表中的元素的相關資料,需要的朋友可以參考下
    2023-06-06
  • python 使用建議與技巧分享(四)

    python 使用建議與技巧分享(四)

    這篇文章主要介紹了python的一些使用建議與技巧分享,幫助大家更好的理解和學習python,感興趣的朋友可以了解下
    2020-08-08
  • python實現(xiàn)簡單的貪吃蛇游戲

    python實現(xiàn)簡單的貪吃蛇游戲

    這篇文章主要為大家詳細介紹了python實現(xiàn)簡單的貪吃蛇游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03

最新評論

永顺县| 阿拉善左旗| 衡阳县| 呼和浩特市| 武邑县| 邹平县| 昌吉市| 万宁市| 巴彦县| 靖江市| 大安市| 长治市| 东丰县| 芜湖县| 呼伦贝尔市| 华容县| 安远县| 辛集市| 永昌县| 吉水县| 耿马| 建平县| 滁州市| 湘阴县| 无为县| 香河县| 肃北| 彭州市| 兴安县| 屏南县| 保亭| 肃北| 怀集县| 天水市| 祥云县| 永和县| 任丘市| 色达县| 博罗县| 民乐县| 牙克石市|