ffmpeg RTMP

1、ffmpeg 推送視頻文件,音視頻的編碼格式只能爲H264、AAC。
    ffmpeg -re -i "E:\片源\復仇者聯盟720p.mov" -vcodec copy -acodec copy -f flv rtmp://192.168.11.75/live/test1  
    ffmpeg -re -i "E:\片源\復仇者聯盟720p.mov" -vcodec copy -acodec copy -f flv rtmpt://192.168.11.75:8080/live/test1

2、網絡攝像機 rtsp流轉推rtmp直播(不過有丟包情況,還請大家多給指點)
	ffmpeg -i rtsp://ip address/original -crf 30 -preset ultrafast -acodec aac -strict experimental -ar 44100 -ac 2 -b:a 96k -vcodec libx264 -r 25 -b:v 500k -s 640*480 -f flv rtmp://ip address/live/stram

ffmpeg參數說明:

基本選項:
-formats輸出所有可用格式
-f fmt指定格式(音頻或視頻格式)
-i filename指定輸入文件名,在linux下當然也能指定:0.0(屏幕錄製)或攝像頭
-y覆蓋已有文件
-t duration記錄時長爲t
-fs limit_size設置文件大小上限
-ss time_off從指定的時間(s)開始, [-]hh:mm:ss[.xxx]的格式也支持
-itsoffset time_off設置時間偏移(s),該選項影響所有後面的輸入文件。該偏移被加到輸入文件的時戳,定義一個正偏移意味着相應的流被延遲了 offset秒。 [-]hh:mm:ss[.xxx]的格式也支持
-title string標題
-timestamp time時間戳
-author string作者
-copyright string版權信息
-comment string評論
-album stringalbum名
-v verbose與log相關的
-target type設置目標文件類型("vcd", "svcd", "dvd", "dv", "dv50", "pal-vcd", "ntsc-svcd", ...)
-dframes number設置要記錄的幀數
視頻選項:
-b指定比特率(bits/s),似乎ffmpeg是自動VBR的,指定了就大概是平均比特率
-bitexact使用標準比特率
-vb指定視頻比特率(bits/s)
-vframes number設置轉換多少楨(frame)的視頻
-r rate幀速率(fps) (可以改,確認非標準楨率會導致音畫不同步,所以只能設定爲15或者29.97)
-s size指定分辨率 (320x240)
-aspect aspect設置視頻長寬比(4:3, 16:9 or 1.3333, 1.7777)
-croptop size設置頂部切除尺寸(in pixels)
-cropbottom size設置底部切除尺寸(in pixels)
-cropleft size設置左切除尺寸 (in pixels)
-cropright size設置右切除尺寸 (in pixels)
-padtop size設置頂部補齊尺寸(in pixels)
-padbottom size底補齊(in pixels)
-padleft size左補齊(in pixels)
-padright size右補齊(in pixels)
-padcolor color補齊帶顏色(000000-FFFFFF)
-vn取消視頻
-vcodec codec強制使用codec編解碼方式('copy' to copy stream)
-sameq使用同樣視頻質量作爲源(VBR)
-pass n選擇處理遍數(1或者2)。兩遍編碼非常有用。第一遍生成統計信息,第二遍生成精確的請求的碼率
-passlogfile file選擇兩遍的紀錄文件名爲file
-newvideo在現在的視頻流後面加入新的視頻流
 
高級視頻選項
-pix_fmt formatset pixel format, 'list' as argument shows all the pixel formats supported
-intra僅適用幀內編碼
-qscale q以<數值>質量爲基礎的VBR,取值0.01-255,約小質量越好
-loop_input設置輸入流的循環數(目前只對圖像有效)
-loop_output設置輸出視頻的循環數,比如輸出gif時設爲0表示無限循環
-g int設置圖像組大小
-cutoff int設置截止頻率
-qmin int設定最小質量,與-qmax(設定最大質量)共用,比如-qmin 10 -qmax 31
-qmax int設定最大質量
-qdiff int量化標度間最大偏差 (VBR)
-bf int使用frames B 幀,支持mpeg1,mpeg2,mpeg4
音頻選項:
-ab設置比特率(單位:bit/s,也許老版是kb/s)前面-ac設爲立體聲時要以一半比特率來設置,比如192kbps的就設成96,轉換 默認比特率都較小,要聽到較高品質聲音的話建議設到160kbps(80)以上。
-aframes number設置轉換多少楨(frame)的音頻
-aq quality設置音頻質量 (指定編碼)
-ar rate設置音頻採樣率 (單位:Hz),PSP只認24000
-ac channels設置聲道數,1就是單聲道,2就是立體聲,轉換單聲道的TVrip可以用1(節省一半容量),高品質的DVDrip就可以用2
-an取消音頻
-acodec codec指定音頻編碼('copy' to copy stream)
-vol volume設置錄製音量大小(默認爲256) <百分比> ,某些DVDrip的AC3軌音量極小,轉換時可以用這個提高音量,比如200就是原來的2倍
-newaudio在現在的音頻流後面加入新的音頻流
字幕選項:
-sn取消字幕
-scodec codec設置字幕編碼('copy' to copy stream)
-newsubtitle在當前字幕後新增
-slang code設置字幕所用的ISO 639編碼(3個字母)
Audio/Video 抓取選項:
-vc channel設置視頻捕獲通道(只對DV1394)
-tvstd standard
轉換爲flv: 
    ffmpeg -i test.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 test.flv 
    ffmpeg -i test.wmv -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 test.flv 

 轉換文件格式的同時抓縮微圖: 
    ffmpeg -i "test.avi" -y -f image2 -ss 8 -t 0.001 -s 350x240 'test.jpg' 

  對已有flv抓圖: 
    ffmpeg -i "test.flv" -y -f image2 -ss 8 -t 0.001 -s 350x240 'test.jpg' 

  轉換爲3gp:
    ffmpeg -y -i test.mpeg -bitexact -vcodec h263 -b 128 -r 15 -s 176x144 -acodec aac -ac 2 -ar 22500 -ab 24 -f 3gp test.3gp 
    ffmpeg -y -i test.mpeg -ac 1 -acodec amr_nb -ar 8000 -s 176x144 -b 128 -r 15 test.3gp 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章