久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

FFmpeg常用命令行

 O聽(tīng)_海_軒O 2020-08-13
  1. 分離視頻音頻流
    ffmpeg -i input_file -vcodec copy -an output_file_video  //分離視頻流ffmpeg -i ffmpeg -i input_file -acodec copy -vn output_file_audio  //分離音頻流

  2. 視頻解復(fù)用
    ffmpeg –i test.mp4 –vcodec copy –an –f m4v test.264
    ffmpeg –i test.avi –vcodec copy –an –f m4v test.264

  3. 視頻轉(zhuǎn)碼
    ffmpeg –i test.mp4 –vcodec h264 –s 352:278 –an –f m4v test.264

  • 轉(zhuǎn)換視頻分辯率
    ffmpeg -i input.mp4 -vf scale=1080:1920 output.mp4

  • 轉(zhuǎn)碼為碼流原始文件
    ffmpeg –i test.mp4 –vcodec h264 –bf 0 –g 25 –s 352:278 –an –f m4v test.264 //轉(zhuǎn)碼

  • 為碼流原始文件
    ffmpeg –i test.avi -vcodec mpeg4 –vtag xvid –qsame test_xvid.avi //轉(zhuǎn)碼為封裝文件

    說(shuō)明:-bf B幀數(shù)目控制,-g 關(guān)鍵幀間隔控制,,-s 分辨率控制

  1. 視頻剪切
    ffmpeg –i test.avi –r 1 –f image2 image-%3d.jpeg //提取圖片
    ffmpeg -ss 0:1:30 -t 0:0:20 -i input.avi -vcodec copy -acodec copy output.avi //剪切視頻//-r 提取圖像的頻率,,-ss 開(kāi)始時(shí)間,-t 持續(xù)時(shí)間

  2. 轉(zhuǎn)視頻格式
    ffmpeng -i source.mp4 -c:v libx264 -crf 24 destination.flv

  3. ffmpeg 把文件當(dāng)做直播推送至服務(wù)器 (RTMP + FLV)
    ffmpeg - re -i demo.mp4 -c copy - f flv rtmp://w.gslb.letv/live/streamid

  4. 將直播的媒體保存到本地
    ffmpeg -i rtmp://r.glsb.letv/live/streamid -c copy streamfile.flv

  5. 將一個(gè)直播流,,視頻改用h264壓縮,,音頻改用faac壓縮,送至另一個(gè)直播服務(wù)器
    ffmpeg -i rtmp://r.glsb.letv/live/streamidA -c:a libfaac -ar 44100 -ab 48k -c:v libx264 -vpre slow -vpre baseline -f flv rtmp://w.glsb.letv/live/streamb

  6. 提取視頻中的音頻,并保存為mp3 然后輸出
    ffmpeg -i input.avi -b:a 128k output.mp3

  7. 合成視頻和音頻
    ffmpeg -i son.wav -i video_origine.avi video_finale.mpg

  8. 將.avi轉(zhuǎn)成.flv
    ffmpeg -i video_origine.avi -ab 56 -ar 44100 -b 200 -r 15 -s 320x240 -f flv video_finale.flv

  1. 從flv提取mp3
    ffmpeg -i source.flv -ab 128k dest.mp3

13,、將文件當(dāng)做直播送至live

ffmpeg -re -i localFile.mp4 -c copy -f flv rtmp://server/live/streamName

  1. 將直播媒體保存至本地文件

ffmpeg -i rtmp://server/live/streamName -c copy dump.flv

  1. 將其中一個(gè)直播流,,視頻改用h264壓縮,音頻不變,,送至另外一個(gè)直播服務(wù)流

ffmpeg -i rtmp://server/live/originalStream -c:a copy -c:v libx264 -vpre slow -f flv rtmp://server/live/h264Stream

  1. 將其中一個(gè)直播流,,視頻改用h264壓縮,音頻改用faac壓縮,,送至另外一個(gè)直播服務(wù)流

ffmpeg -i rtmp://server/live/originalStream -c:a libfaac -ar 44100 -ab 48k -c:v libx264 -vpre slow -vpre baseline -f flv rtmp://server/live/h264Stream

  1. 將其中一個(gè)直播流,,視頻不變,音頻改用faac壓縮,,送至另外一個(gè)直播服務(wù)流

ffmpeg -i rtmp://server/live/originalStream -acodec libfaac -ar 44100 -ab 48k -vcodec copy -f flv rtmp://server/live/h264_AAC_Stream

  1. 將一個(gè)高清流,,復(fù)制為幾個(gè)不同視頻清晰度的流重新發(fā)布,其中音頻不變

ffmpeg -re -i rtmp://server/live/high_FMLE_stream -acodec copy -vcodec x264lib -s 640×360 -b 500k -vpre medium -vpre baseline rtmp://server/live/baseline_500k -acodec copy -vcodec x264lib -s 480×272 -b 300k -vpre medium -vpre baseline rtmp://server/live/baseline_300k -acodec copy -vcodec x264lib -s 320×200 -b 150k -vpre medium -vpre baseline rtmp://server/live/baseline_150k -acodec libfaac -vn -ab 48k rtmp://server/live/audio_only_AAC_48k

  1. 功能一樣,,只是采用-x264opts選項(xiàng)

ffmpeg -re -i rtmp://server/live/high_FMLE_stream -c:a copy -c:v x264lib -s 640×360 -x264opts bitrate=500:profile=baseline:preset=slow rtmp://server/live/baseline_500k -c:a copy -c:v x264lib -s 480×272 -x264opts bitrate=300:profile=baseline:preset=slow rtmp://server/live/baseline_300k -c:a copy -c:v x264lib -s 320×200 -x264opts bitrate=150:profile=baseline:preset=slow rtmp://server/live/baseline_150k -c:a libfaac -vn -b:a 48k rtmp://server/live/audio_only_AAC_48k

  1. 將當(dāng)前攝像頭及音頻通過(guò)DSSHOW采集,視頻h264,、音頻faac壓縮后發(fā)布

ffmpeg -r 25 -f dshow -s 640×480 -i video=”video source name”:audio=”audio source name” -vcodec libx264 -b 600k -vpre slow -acodec libfaac -ab 128k -f flv rtmp://server/application/stream_name

  1. 視頻轉(zhuǎn)換
    比如一個(gè)avi文件,,想轉(zhuǎn)為mp4,或者一個(gè)mp4想轉(zhuǎn)為ts,。
    ffmpeg -i input.avi output.mp4
    ffmpeg -i input.mp4 output.ts

  2. 提取音頻
    ffmpeg -i test.mp4 -acodec copy -vn output.aac
    上面的命令,,默認(rèn)mp4的audio codec是aac,如果不是,,可以都轉(zhuǎn)為最常見(jiàn)的aac。
    ffmpeg -i test.mp4 -acodec aac -vn output.aac

  3. 提取視頻
    ffmpeg -i input.mp4 -vcodec copy -an output.mp4

  4. 視頻剪切
    下面的命令,,可以從時(shí)間為00:00:15開(kāi)始,,截取5秒鐘的視頻。
    ffmpeg -ss 00:00:15 -t 00:00:05 -i input.mp4 -vcodec copy -acodec copy output.mp4
    -ss表示開(kāi)始切割的時(shí)間,,-t表示要切多少,。上面就是從15秒開(kāi)始,切5秒鐘出來(lái),。

  5. 碼率控制
    碼率控制對(duì)于在線(xiàn)視頻比較重要,。因?yàn)樵诰€(xiàn)視頻需要考慮其能提供的帶寬。

那么,,什么是碼率,?很簡(jiǎn)單:
bitrate = file size / duration
比如一個(gè)文件20.8M,時(shí)長(zhǎng)1分鐘,,那么,,碼率就是:
biterate = 20.8M bit/60s = 20.810241024*8 bit/60s= 2831Kbps
一般音頻的碼率只有固定幾種,比如是128Kbps,,
那么,,video的就是
video biterate = 2831Kbps -128Kbps = 2703Kbps。

那么ffmpeg如何控制碼率,。
ffmpg控制碼率有3種選擇,,-minrate -b:v -maxrate
-b:v主要是控制平均碼率。
比如一個(gè)視頻源的碼率太高了,,有10Mbps,,文件太大,想把文件弄小一點(diǎn),,但是又不破壞分辨率,。
ffmpeg -i input.mp4 -b:v 2000k output.mp4
上面把碼率從原碼率轉(zhuǎn)成2Mbps碼率,這樣其實(shí)也間接讓文件變小了,。目測(cè)接近一半,。
不過(guò),ffmpeg官方wiki比較建議,,設(shè)置b:v時(shí),,同時(shí)加上 -bufsize
-bufsize 用于設(shè)置碼率控制緩沖器的大小,設(shè)置的好處是,,讓整體的碼率更趨近于希望的值,,減少波動(dòng)。(簡(jiǎn)單來(lái)說(shuō),,比如1 2的平均值是1.5,, 1.49 1.51 也是1.5, 當(dāng)然是第二種比較好)
ffmpeg -i input.mp4 -b:v 2000k -bufsize 2000k output.mp4

-minrate -maxrate就簡(jiǎn)單了,,在線(xiàn)視頻有時(shí)候,希望碼率波動(dòng),,不要超過(guò)一個(gè)閾值,,可以設(shè)置maxrate。
ffmpeg -i input.mp4 -b:v 2000k -bufsize 2000k -maxrate 2500k output.mp4

  1. 視頻編碼格式轉(zhuǎn)換
    比如一個(gè)視頻的編碼是MPEG4,,想用H264編碼,,咋辦?
    ffmpeg -i input.mp4 -vcodec h264 output.mp4
    相反也一樣
    ffmpeg -i input.mp4 -vcodec mpeg4 output.mp4

當(dāng)然了,,如果ffmpeg當(dāng)時(shí)編譯時(shí),,添加了外部的x265或者X264,那也可以用外部的編碼器來(lái)編碼,。(不知道什么是X265,,可以 Google一下,簡(jiǎn)單的說(shuō),,就是她不包含在ffmpeg的源碼里,,是獨(dú)立的一個(gè)開(kāi)源代碼,用于編碼HEVC,,ffmpeg編碼時(shí)可以調(diào)用它,。當(dāng)然 了,ffmpeg自己也有編碼器)
ffmpeg -i input.mp4 -c:v libx265 output.mp4
ffmpeg -i input.mp4 -c:v libx264 output.mp4

  1. 過(guò)濾器的使用

  • 將輸入的1920x1080縮小到960x540輸出:
    ffmpeg -i input.mp4 -vf scale=960:540 output.mp4
    //ps: 如果540不寫(xiě),,寫(xiě)成-1,,即scale=960:-1, 那也是可以的,ffmpeg會(huì)通知縮放濾鏡在輸出時(shí)保持原始的寬高比,。

  • 為視頻添加logo

比如,,我有這么一個(gè)圖片

logo_white.png

ffmpeg命令添加文字水印
ffmpeg -i balabalayingzhihua1.mp4 -vf "drawtext=fontfile=simhei.ttf:textfile=textfile.txt:x=1590:y=1020:fontsize=24:[email protected]:shadowy=2" balabalayingzhihua12.mp4

相關(guān)說(shuō)明:
1.drawtext必須依賴(lài)libfreetype畫(huà)字庫(kù),libfontconfig字體庫(kù)兩個(gè)庫(kù)
scale分辨率filter,,overlay圖片水印filter
2.文字水印的話(huà),,文字水印必須是utf8編碼的,不然會(huì)是亂碼

想要貼到一個(gè)視頻上,,那可以用如下命令:
./ffmpeg -i input.mp4 -i logo.png -filter_complex overlay output.mp4

給指定位置添加水?。?/p>

$ ffmpeg -i /Users/nenhall_work/Movies/I’m-so-sick-1080P—Apink_m.mp4 -vf 
"movie=/Users/nenhall_work/Desktop/logo_white.png[watermark];[in][watermark]overlay=50:50:1[out]" 
-acodec copy -vcodec copy /Users/nenhall_work/Movies/I’m-so-sick-1080P—Apink_m2.mp4

overlay=50:50:1代表x,y的位置,,第三個(gè)參數(shù)為1,,表示支持透明水印。使用透明的png圖片進(jìn)行視頻編碼后,,成功獲得帶透明水印的視頻,,并且畫(huà)質(zhì)也比較好,
-acodec copy -vcodec copy表示保持音視頻編碼不變
-vf “…” 中間便是水印處理參數(shù),movie是指圖片水印路徑,,搭配overlay一起使用

結(jié)果如下所示:

logo2

要貼到其他地方?看下面:
右上角:
./ffmpeg -i input.mp4 -i logo.png -filter_complex overlay=W-w output.mp4
左下角:
./ffmpeg -i input.mp4 -i logo.png -filter_complex overlay=0:H-h output.mp4
右下角:
./ffmpeg -i input.mp4 -i logo.png -filter_complex overlay=W-w:H-h output.mp4

參數(shù)說(shuō)明
  • 去掉視頻的logo

語(yǔ)法:-vf delogo=x:y:w:h[:t[:show]]
x:y 離左上角的坐標(biāo)
w:h logo的寬和高
t: 矩形邊緣的厚度默認(rèn)值4
show:若設(shè)置為1有一個(gè)綠色的矩形,,默認(rèn)值0,。

ffmpeg -i input.mp4 -vf delogo=0:0:220:90:100:1 output.mp4
結(jié)果如下所示:

logo3
  1. 截取視頻圖像
    ffmpeg -i input.mp4 -r 1 -q:v 2 -f image2 pic-%03d.jpeg
    -r 表示每一秒幾幀
    -q:v表示存儲(chǔ)jpeg的圖像質(zhì)量,一般2是高質(zhì)量,。
    如此,,ffmpeg會(huì)把input.mp4,每隔一秒,,存一張圖片下來(lái),。假設(shè)有60s,那會(huì)有60張,。

可以設(shè)置開(kāi)始的時(shí)間,,和你想要截取的時(shí)間。
ffmpeg -i input.mp4 -ss 00:00:20 -t 10 -r 1 -q:v 2 -f image2 pic-%03d.jpeg
-ss 表示開(kāi)始時(shí)間
-t 表示共要多少時(shí)間,。
如此,,ffmpeg會(huì)從input.mp4的第20s時(shí)間開(kāi)始,往下10s,,即20~30s這10秒鐘之間,,每隔1s就抓一幀,總共會(huì)抓10幀,。

29.視頻轉(zhuǎn)成圖片
ffmpeg -i video.mp4 /outputPath/video-frame-%d.png

fmpeg/ffprobe查看音視頻文件信息并輸出為json格式
ffprobe -v quiet -print_format json -show_format -show_streams 文件路
eg.:ffprobe -v quiet -print_format json -show_format -show_streams /Users/xiud/Downloads/IMG_1070.mp4

30.倒序播放

//reversed.mp4: 處理后的視頻輸出
1.視頻倒放,,無(wú)音頻
ffmpeg -i input.mp4 -filter_complex 
"[0:v]reverse[v]" -map "[v]" -preset superfast reversed.mp4

2.視頻倒放,音頻不變
ffmpeg -i input.mp4 -vf reverse reversed.mp4

3.音頻倒放,,視頻不變
ffmpeg -i input.mp4 -c:v copy -af areverse reversed_audio.mp4

4.音視頻同時(shí)倒放
ffmpeg -i input.mp4 -vf reverse -af areverse -preset superfast reversed.mp4

部份內(nèi)容引用:
FFmpeg ffmpeg 常用命令

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多