ffplay ffmpeg基本認識

2021-10-05 19:47:58 字數 3668 閱讀 4668

ffplay、ffmpeg日常食用的簡單姿勢

開始前的bb

只列舉了一些平常經常用到的命令列,以及ffmpeg命令列幫助的方法

ffmpeg -h 這個是最簡單的幫助命令

這個部分 上面configuration是說當前用的ffmpeg的編譯設定選項,–disable-***就是禁用***的意思 --enable-***就是啟用***的意思,相信憑大家的機制一眼就看懂了

中間的部分是每個元件的詳細版本號

usage 是說明使用ffmpeg命令列的格式,也就是 ffmpeg [options]

[[infile options] -i infile]

...

...

簡單來講就是

ffmpeg [一些選項]

[[輸入檔案的選項] -i 輸出檔案的路徑]

大家如果對於類unix命令列不太熟悉,可以選擇先記下這個格式,下面我們寫的時候再看

獲取幫助 -h 列印基本的選項 -h long 這個選項會列印的非常全,一般控制台顯示不下 建議輸出為文字看,比如ffmpeg -h full > ffmpeg_full.log -h type=name 這個type的選項可以為decoder/encoder/demuxer/muxer/filter/bsf中的任意乙個,name的話就是裡面乙個詳細的格式,通過這個命令可以來檢視是否支援指定格式,比如ffmpeg -h decoder=h264

這邊顯示的支援h264的解碼器的列表 除自帶的以外,還開啟了x264的解碼支援

檢視支援的formats/decoders

檢視支援的formats/decoders等:

//支援的封裝格式(合併&&分離)

ffmpeg -formats

//合併

ffmpeg -muxers

//分離

ffmpeg -demuxers

//支援的過濾器

ffmpeg -filters

//支援的編解碼器

ffmepg -codecs

//支援的解碼器

ffmpeg -decoders

//支援的編碼器

ffmpeg -encoders

//支援的硬編解列表

ffmpeg -hwaccels

//位流格式

ffmpeg -bsfs

//畫素格式

ffmpeg -pix_fmts

//取樣格式

ffmpeg -sample_fmts

複製**

檢視具體支援某一種格式,類似這樣

ffmpeg -h muxer=flv
複製**

如果不支援 就是unknown了

其他的還有

ffmpeg -h filter=atempo

ffmpeg -h encoder=libx264

複製**

之類幫助的用法大概就是這樣

主要命令

主要選項有

最直接的: ffplay test_video.mp4

我們加上一些上面的引數後 也可以這種播 ffplay -window_title 「mirs ffplay」 -ss 2 -t 10 -autoexit test.mp4

效果大家自己去根據上面的提示和自己實際動手操作一下,我這就不說了

ffplay rtmp:

(偷懶是真滴舒服)

舒服ffplay -i test_video.mp4 -vf transpose=1

(鏡面) ffplay test_video.mp4 -vf hflip

(上下) ffplay test_video.mp4 -vf vflip

ffplay -i test_video.mp4 -af atempo=1.5

ffplay -i test_video.mp4 -vf setpts=pts/1.5

ffplay -i test_video.mp4 -vf setpts=pts/3 -af atempo=3

效果自己執行看 (留個疑問 根據引數猜原理)

首先來吧他常用的引數分個類

常用引數

主要引數:

-i 設定輸入流

-f 設定輸出格式

-ss 開始時間

-t 時間長度

-r 設定幀速率,預設為25

-s 設定畫面的寬與高

-aspect 設定畫面的比例

音訊引數:

-aframes 設定要輸出的音訊幀數

-b:a 音訊位元速率

-ar 設定取樣率

-ac 設定聲音的channel數

-acodec 設定聲音編解碼器,未設定時則使用與輸入流相同的編解碼器

-an 不處理音訊

-af 音訊濾波器

分離音訊 ffmpeg -i test_video.mp4 -acodec copy -vn audio.aac
然後…

提取h264

ffmpeg -i test_video.mp4 -vcodec copy -an test_copy.264

提取aac

ffmpeg -i test_video.mp4 -acodec copy -vn test.aac

改變編碼格式

ffmpeg -i test_video.mp4 -vcodec copy -acodec copy test_copy.ts

修改幀率

ffmpeg -i test_video.mp4 -r 15 output.mp4

修改位元速率

ffmpeg -i test_video.mp4 -b:v 1.5m output2.mp4

修改音訊位元速率

ffmpeg -i test_video.mp4 -b:a 192k output2.mp4

ffmpeg -i test_video.mp4 -b:v 1.5m -b:a 192k output2.mp4

修改解析度

ffmpeg -i test_video.mp4 -s 640x480 output.mp4

提取pcm

ffmpeg -i test.mp4 -f s16le audio.pcm

提取yuv

提取3秒 解析度和原來的一致 ffmpeg -i test_video.mp4 -t 3 -pix_fmt yuv420p yuv420p_orig.yuv 提取3秒 指定解析度 ffmpeg -i test_video.mp4 -t 3 -pix_fmt yuv420p -s 320x240 yuv420p_320x240.yuv

提取rgb

提取3秒資料,解析度轉為320x240 ffmpeg -i test_video.mp4 -t 3 -pix_fmt rgb24 -s 320x240 rgb24_320x240.rgb

rgb和yuv轉換

ffmpeg -s 968x544 -pix_fmt yuv420p -i yuv420p_orig.yuv -pix_fmt rgb24 orig.rgb

常用的命令和選項基本都在這邊了,可以根據自己的需求去選擇不同的命令列實現功能

springsecurity Run As認證服務

zhangxin.security.service.roleservice.loadmenu role user,run as temp zhangxin.security.runasdemo.runasdate.showdate role admin,role run as temp object...

Token Cookie Session的認識了解

token token的意思是 令牌 是使用者身份的驗證方式,最簡單的token組成 uid 使用者唯一的身份標識 time 當前時間的時間戳 sign 簽名,由token的前幾位 雜湊演算法壓縮成一定長的十六進製制字串,可以防止惡意第三方拼接token請求伺服器 還可以把不變的引數也放進token...

Jupyter Notebookde 簡單認識

這是官網上對於 jupyter notebookde的介紹。大概意思是說 基於瀏覽器的工具,用於互動式創作文件,可以用於計算 解釋文字 數學 影象和物件的富 表示的輸入和輸出。特點1 在瀏覽器中編輯 自動語法高亮,縮排,和標籤完成 自省。2 能夠從瀏覽器執行 並將計算結果附加到生成它們的 3 使用h...