国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

FFmpeg視頻轉碼關鍵參數詳解

這篇具有很好參考價值的文章主要介紹了FFmpeg視頻轉碼關鍵參數詳解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1 固定碼率因子crf(Constant Rate Factor)

固定碼率因子(CRF)是 x264 和 x265 編碼器的默認質量(和碼率控制)設置。取值范圍是 0 到 51,這其中越低的值,結果質量越好,同時輸出文件越大,越高的值意味著越高的壓縮比,但可能會在值大到某個點的時候注意到明顯的質量損失。

  • 對 x264,一般取值在 18 到 28 之間,默認值是 23。
  • 對 x265,默認CRF值是 28

CRF數值 +6 會使文件大小減半,為了達到最優(yōu)編碼效果,主要在離線文件存儲中使用CRF編碼如下:

FFmpeg視頻轉碼關鍵參數詳解

命令行使用示例如下:

ffmpeg -i input.mp4 -c:v libx264 -crf 23 output.mp4

ffmpeg -i input.mp4 -c:v libx265 -crf 28 output.mp4

?2 指定編碼速度preset

指定的編碼速度越慢,獲得的壓縮效率就越高,取值范圍如下:

ultrafast,superfast,veryfast,faster,fast,medium,slow,slower,veryslow,placebo
  • placebo與veryslow相比提高了1%,以極高的編碼時間為代價
  • veryslow與 slower相比提升了3%
  • slower與slow相比提升了5%
  • slow 與 medium相比提升了5%~10%

3 視頻幀率

3.1 輸入幀率

幀率(frame per second)就是視頻每秒播放的圖片的幀數。幀率至少要達到15fps,人眼才能才能看到連貫的動作。15fps即1秒刷新15次。幀率主要分為兩類,一種是交錯的(interlaced 縮寫為i),一種是步進的(progressive 縮寫為p)。

  • 交錯幀率(interlaced 縮寫為i)一般應用在電視節(jié)目上。NTSC(美國電視標準)使用60i的幀率,也就是每秒60個交錯場(也就是30幀,兩個交錯場就是一幀)。PAL和SECAM標準使用50i的幀率,也就是每秒25幀。
  • 步進幀率(progressive 縮寫為p)通常使用在電影節(jié)目上,常使用的值包括24p、25p、30p。最近一些高清的電影電視終端節(jié)目上30p已經無法滿足需求,最新使用的幀率通常為50p和60p。

常見幀率的使用場景說明如下表所示:

幀率 描述
24p/23.976p ?電影行業(yè)從1920年引入的標準幀率,在早期電影節(jié)目上使用的比較頻繁。 NTSC采用該幀率的時候將幀率降到了23.976,PAL/SECAM采用該幀率的時候將幀率升到了25fps
25p?

使用50HZ電子頻率國家中的電視電影節(jié)目的標準幀率,因為25p的幀率很容易轉換成50i的幀率?

30p?? ?數碼相機和攝像機的幀率,30p的幀率很容易轉換成60i用于電視直播
50i?? ? PAL和SECAM電視標準的標準幀率
60i/59.94?? NTSC標準中的標準幀率
50p/60p? ?高清電視(HDTV)常用的幀率
48p 新提出的幀率
72p? 新提出的幀率
120p? 超高清電視節(jié)目(UHDTV)使用的幀率
ffmpeg -i input.mp4

輸出的幀率fps如下:

    Stream #0:1(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 19999 kb/s, 59.94 fps, 59.94 tbr, 60k tbn, 120k tbc (default)

3.2 輸出幀率

在設置輸出視頻的幀率時,需要使用-r選項。以下是使用-r項設置輸出視頻幀率為30 fps的示例命令:

ffmpeg -i input.mp4 -r 30 output.mp4

使用-r選項將輸出視頻的幀率設置為30 fps。輸出視頻的文件名為output.mp4。

通過代碼使用Python的subprocess模塊調用ffmpeg設置輸出視頻幀率

import subprocess

input_file = 'input.mp4'
output_file = 'output.mp4'
frame_rate = 30

command = ['ffmpeg', '-i', input_file, '-r', str(frame_rate), output_file]
subprocess.run(command)

4 輸出分辨率

將input.mp4更改為分辨率320*240的視頻輸出,命令示例:

	ffmpeg -i input.mp4 -s 320x240 output.mp4 

視頻分辨率和壓縮大小參考?

分辨率 Bitrate 10分鐘的視頻
320p 320×240 180 kbit/s ~13 MB
360p 640×360 300 kbit/s ~22 MB
480p 864×480 500 kbit/s ~37 MB
576p 720x576 850 kbit/s ~63 MB
720p 960×720 1000 kbit/s ~75 MB

5 視頻文件轉gif圖像

-ss 開始截圖時間(秒) 截圖開始時間越接近篇尾,所花費的時間就越長。
-t 截圖時長(秒) 省略-ss和-t轉換整個視頻文件。
-i 輸入文件
-y 覆蓋舊文件
-s gif圖片的寬和高
-f 生成圖片格式 可以省略,按擴展名轉換
-r 幀率 視頻文件中每一秒的幀數

命令示例:

ffmpeg -ss 5 -t 10 -i input.mp4 -y -s 640x480 -f gif -r 1 output.gif

6 用圖片制作視頻和gif

將test-001.jpg,test-002.jpg…順序排列的圖片文件轉換為視頻和gif。文章來源地址http://www.zghlxwxcb.cn/news/detail-502059.html

ffmpeg -f image2 -r 1 -i test-%03d.jpg -y output.mp4

ffmpeg -f image2 -r 1 -i test-%03d.jpg -y output.gif

到了這里,關于FFmpeg視頻轉碼關鍵參數詳解的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • FFmpeg轉碼分辨率會變化的視頻

    FFmpeg轉碼分辨率會變化的視頻

    有一個H264的視頻流源文件,希望能夠想辦法轉換成mp4的格式。 mp4格式的視頻大多數是固定分辨率的,比如960*480,如果h264視頻流文件是固定尺寸的,那就沒有任何問題。 但是,這個視頻流文件! 不!是!固!定!尺!寸!的! 舉個例子,我已手機的錄屏為例,當手機橫屏的

    2024年01月17日
    瀏覽(24)
  • SpringBoot集成ffmpeg實現視頻轉碼播放

    之前構建過文件預覽服務,對于視頻部分前端播放組件限制只能為mp4格式,為了支持更多視頻格式決定對方案進行升級,由于視頻格式較多,針對每一種格式定制選擇播放器不太現實,決定對視頻源統(tǒng)一轉碼,轉碼后的格式為mp4,兼容性穩(wěn)定且前后端改造工作較小 maven添加

    2024年02月16日
    瀏覽(91)
  • ffmpeg入門之Windows開發(fā)之二(視頻轉碼)

    ffmpeg入門之Windows開發(fā)之二(視頻轉碼)

    添加ffmpeg windows編譯安裝及入門指南-CSDN博客?的頭文件和依賴庫如下: main 函數如下: extern \\\"C\\\" { #ifdef __cplusplus #define __STDC_CONSTANT_MACROS #endif } extern \\\"C\\\" { #include libavutil/timestamp.h #include libavformat/avformat.h #include libavutil/mem.h } static void log_packet(const AVFormatContext* fmt_ctx, const AVPacket*

    2024年02月01日
    瀏覽(45)
  • 如何使用 FFmpeg對視頻進行轉碼和切片

    如何使用 FFmpeg 對視頻進行轉碼和切片 FFmpeg 是一款強大的開源多媒體處理工具,能夠處理音頻、視頻、字幕等多種多媒體數據。下面將介紹如何使用 FFmpeg 進行視頻轉碼和切片。 視頻轉碼 視頻轉碼是指將視頻從一種編碼格式轉換為另一種編碼格式。使用 FFmpeg 進行視頻轉碼的

    2024年04月22日
    瀏覽(46)
  • 項目實戰(zhàn)——Qt實現FFmpeg音視頻轉碼器

    項目實戰(zhàn)——Qt實現FFmpeg音視頻轉碼器

    本文記錄使用 Qt 實現 FFmepg 音視頻轉碼器項目的開發(fā)過程。 1、首先創(chuàng)建一個 Qt 項目,選擇 MSVC2017 32bit 作為其編譯器 2、將 FFmpeg 相關庫及源文件拷貝到當前目錄下 3、注釋 prepare_app_arguments 函數(這里方便后面我們運行時可以指定相應的轉碼參數) 4、將所需的一些 dll 動態(tài)庫

    2024年01月23日
    瀏覽(27)
  • 基于Node.js 和 FFmpeg構建自動化腳本用來轉碼視頻

    這個腳本將監(jiān)控一個特定的目錄,自動轉碼新添加的視頻文件,并將轉碼后的視頻保存到指定目錄。 準備環(huán)境 安裝 Node.js : 訪問 Node.js 官網,下載并安裝適合你操作系統(tǒng)的 Node.js 版本。 安裝 FFmpeg(不清楚的可以看我的上篇博客里有詳細的安裝步驟) : 對于 Windows 用戶,可以從

    2024年03月27日
    瀏覽(36)
  • ffmpeg + nginx 實現rtsp視頻流轉m3u8視頻流,轉碼推流(linux)

    ffmpeg + nginx 實現rtsp視頻流轉m3u8視頻流,轉碼推流(linux)

    FFmpeg即是一款音視頻編解碼工具,同時也是一組音視頻編碼開發(fā)套件,作為編碼開發(fā)套件,它為開發(fā)者提供了豐富的音視頻處理的調用接口。 FFmpeg提供了多種媒體格式的封裝和解封裝,包括多種音視頻編碼、多種協議的流媒體、多種多彩格式轉換、多種采樣率轉換、多種碼率

    2024年02月09日
    瀏覽(32)
  • 嗶哩嗶哩緩存轉碼|FFmpeg將m4s文件轉為mp4|PHP自動批量轉碼B站視頻

    嗶哩嗶哩緩存轉碼|FFmpeg將m4s文件轉為mp4|PHP自動批量轉碼B站視頻

    打開ffMpeg官網 選擇window=Windows builds from gyan.dev 打開https://www.gyan.dev/ffmpeg/builds/ 這里是上面提取的下載鏈接如果過期不能用自己去官網下 上面下載的FFmpeg是綠色軟件,下載解壓到你的常用軟件安裝目錄即可,然后進入bin復制全路徑配置下系統(tǒng)環(huán)境變量即可 https://github.com/PHP-F

    2024年02月14日
    瀏覽(24)
  • 20230403在WIN10下通過ffmpeg調用NVIDIA的硬件加速wmv視頻轉碼為MP4格式

    20230403在WIN10下通過ffmpeg調用NVIDIA的硬件加速wmv視頻轉碼為MP4格式

    20230403在WIN10下通過ffmpeg調用NVIDIA的硬件加速wmv視頻轉碼為MP4格式 2023/4/3 15:50 最近向學習日語,找到日語發(fā)音的視頻中,大多數是MP4格式,少量是WMV格式,PR2023貌似不能識別WMV格式。 于是:萬能的ffmpeg上場了! ? 手動指定編解碼器 通過 ffmpeg -codecs | findstr \\\"vc1\\\" 查看 vc1 的編解

    2023年04月22日
    瀏覽(22)
  • windows使用ffmpeg將MP4轉m3u8使用參數詳解,視頻添加水印和壓縮

    windows使用ffmpeg將MP4轉m3u8使用參數詳解,視頻添加水印和壓縮

    目錄 背景: 一、什么是m3u8: 二、為什么使用m3u8: 三、安裝ffmpeg: 1、下載后直接解壓: 2、配置環(huán)境變量: 四、開始轉換m3u8: 五、視頻添加水印和壓縮: 1. 給視頻加上水印圖片 2.輸出視頻的尺寸 3.輸出文件的起始文件 4.輸出文件的最小大小 和 最大的大?。〞绊懸曨l質量

    2024年02月07日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包