記錄下本人用到過的 FFmpeg常用使用命令
# 1.mp4/flv文件生成m3u8切片文件
ffmpeg -i 1.mp4[1.flv] -c:v libx264 -c:a copy -hls_list_size 0 -f hls /test/index.m3u8
# 2.mp4轉(zhuǎn)flv
ffmpeg -i 1.mp4 -c:v libx264 -ar 44100 1.flv
# 3.用裸264碼率文件锡足,推送直播流
ffmpeg -re -i 800600.264 -c copy -f flv rtmp://192.168.0.124/live/livestream
# 3.調(diào)用攝像頭和麥克風(fēng)似将,推送直播流
ffmpeg -f dshow -i video="Integrated Webcam":audio="麥克風(fēng) (Realtek High Definition Au" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -f flv rtmp://localhost/live/livestream
ffmpeg參數(shù)說明:
基本選項(xiàng):
-formats 輸出所有可用格式
-f fmt 指定格式(音頻或視頻格式)
-i filename 指定輸入文件名兵琳,在linux下當(dāng)然也能指定:0.0(屏幕錄制)或攝像頭
-y 覆蓋已有文件
-t duration 記錄時(shí)長(zhǎng)為t
-fs limit_size 設(shè)置文件大小上限
-ss time_off 從指定的時(shí)間(s)開始, [-]hh:mm:ss[.xxx]的格式也支持
-itsoffset time_off 設(shè)置時(shí)間偏移(s)罐氨,該選項(xiàng)影響所有后面的輸入文件。該偏移被加到輸入文件的時(shí)戳滩援,定義一個(gè)正偏移意味著相應(yīng)的流被延遲了 offset秒栅隐。 [-]hh:mm:ss[.xxx]的格式也支持
-title string 標(biāo)題
-timestamp time 時(shí)間戳
-author string 作者
-copyright string 版權(quán)信息
-comment string 評(píng)論
-album string album名
-v verbose 與log相關(guān)的
-target type 設(shè)置目標(biāo)文件類型("vcd", "svcd", "dvd", "dv", "dv50", "pal-vcd", "ntsc-svcd", ...)
-dframes number 設(shè)置要記錄的幀數(shù)
視頻選項(xiàng):
-b 指定比特率(bits/s),似乎ffmpeg是自動(dòng)VBR的,指定了就大概是平均比特率
-bitexact 使用標(biāo)準(zhǔn)比特率
-vb 指定視頻比特率(bits/s)
-vframes number 設(shè)置轉(zhuǎn)換多少楨(frame)的視頻
-r rate 幀速率(fps) (可以改租悄,確認(rèn)非標(biāo)準(zhǔn)楨率會(huì)導(dǎo)致音畫不同步谨究,所以只能設(shè)定為15或者29.97)
-s size 指定分辨率 (320x240)
-aspect aspect 設(shè)置視頻長(zhǎng)寬比(4:3, 16:9 or 1.3333, 1.7777)
-croptop size 設(shè)置頂部切除尺寸(in pixels)
-cropbottom size 設(shè)置底部切除尺寸(in pixels)
-cropleft size 設(shè)置左切除尺寸 (in pixels)
-cropright size 設(shè)置右切除尺寸 (in pixels)
-padtop size 設(shè)置頂部補(bǔ)齊尺寸(in pixels)
-padbottom size 底補(bǔ)齊(in pixels)
-padleft size 左補(bǔ)齊(in pixels)
-padright size 右補(bǔ)齊(in pixels)
-padcolor color 補(bǔ)齊帶顏色(000000-FFFFFF)
-vn 取消視頻
-vcodec codec 強(qiáng)制使用codec編解碼方式('copy' to copy stream)
-sameq 使用同樣視頻質(zhì)量作為源(VBR)
-pass n 選擇處理遍數(shù)(1或者2)。兩遍編碼非常有用泣棋。第一遍生成統(tǒng)計(jì)信息记盒,第二遍生成精確的請(qǐng)求的碼率
-passlogfile file 選擇兩遍的紀(jì)錄文件名為file
-newvideo 在現(xiàn)在的視頻流后面加入新的視頻流
高級(jí)視頻選項(xiàng)
-pix_fmt format set pixel format, 'list' as argument shows all the pixel formats supported
-intra 僅適用幀內(nèi)編碼
-qscale q 以<數(shù)值>質(zhì)量為基礎(chǔ)的VBR,取值0.01-255外傅,約小質(zhì)量越好
-loop_input 設(shè)置輸入流的循環(huán)數(shù)(目前只對(duì)圖像有效)
-loop_output 設(shè)置輸出視頻的循環(huán)數(shù)纪吮,比如輸出gif時(shí)設(shè)為0表示無限循環(huán)
-g int 設(shè)置圖像組大小
-cutoff int 設(shè)置截止頻率
-qmin int 設(shè)定最小質(zhì)量,與-qmax(設(shè)定最大質(zhì)量)共用萎胰,比如-qmin 10 -qmax 31
-qmax int 設(shè)定最大質(zhì)量
-qdiff int 量化標(biāo)度間最大偏差 (VBR)
-bf int 使用frames B 幀碾盟,支持mpeg1,mpeg2,mpeg4
音頻選項(xiàng):
-ab 設(shè)置比特率(單位:bit/s,也許老版是kb/s)前面-ac設(shè)為立體聲時(shí)要以一半比特率來設(shè)置技竟,比如192kbps的就設(shè)成96冰肴,轉(zhuǎn)換 默認(rèn)比特率都較小,要聽到較高品質(zhì)聲音的話建議設(shè)到160kbps(80)以上榔组。
-aframes number 設(shè)置轉(zhuǎn)換多少楨(frame)的音頻
-aq quality 設(shè)置音頻質(zhì)量 (指定編碼)
-ar rate 設(shè)置音頻采樣率 (單位:Hz)熙尉,PSP只認(rèn)24000
-ac channels 設(shè)置聲道數(shù),1就是單聲道搓扯,2就是立體聲检痰,轉(zhuǎn)換單聲道的TVrip可以用1(節(jié)省一半容量),高品質(zhì)的DVDrip就可以用2
-an 取消音頻
-acodec codec 指定音頻編碼('copy' to copy stream)
-vol volume 設(shè)置錄制音量大小(默認(rèn)為256) <百分比> 锨推,某些DVDrip的AC3軌音量極小铅歼,轉(zhuǎn)換時(shí)可以用這個(gè)提高音量,比如200就是原來的2倍
-newaudio 在現(xiàn)在的音頻流后面加入新的音頻流
字幕選項(xiàng):
-sn 取消字幕
-scodec codec 設(shè)置字幕編碼('copy' to copy stream)
-newsubtitle 在當(dāng)前字幕后新增
-slang code 設(shè)置字幕所用的ISO 639編碼(3個(gè)字母)
Audio/Video 抓取選項(xiàng):
-vc channel 設(shè)置視頻捕獲通道(只對(duì)DV1394)
-tvstd standard 設(shè)