ffmpeg rtmp推流 視頻轉碼


 ffmpeg -re -i 123.mp4 -vcodec libx264 -acodec aac -strict -2 -f flv rtmp://183.216.186.96:9935/live/555
首先安裝ffmpeg ,命令解釋
1. -re 本地幀頻讀數據,主要用於模擬捕獲設備
2. -i 輸入您要處理的視頻文件路徑,123.mp4是當前路徑下
3. -vcodec libx264
強制使用libx264編解碼方式。 如果用copy表示原始編解碼數據必須被拷貝
4. -acodec acc
使用acc 編解碼
5. -strict -2 -strict -2 之前是實驗參數表示 aac音頻編碼 如果不使用aac音頻編碼使用使其的編碼好像還需要導入第三方的音頻編碼庫 比較麻煩 使用FFmpeg自帶的aac音頻編碼要帶上-strict -2 參數就可以了。帶這個參數是為了使用aac音頻編碼。
6.
-f flv 強制使用flv格式
7.rtmp://183.216.186.96:9935/live/555 nginx配置的推流地址,live是應用路由,9935時監聽端口,555是推流房間號,也就是推流id,會以這個id生成文件,比如這里會生成 555.flv文件

rtmp {
    server {
        listen 1935;
        chunk_size 4000;
        application live {
            live on;
        }
    }
} 
如上配置的rtmp 推流路徑是 rtmp://ip:1935/live/roomId roomid是自定義的

ffmpeg 視頻格式轉換
# -f mp4 指定格式,-vcode指定視頻編碼器,-acode指定音頻編碼器,-y覆蓋輸出文件 ,強制使用codec編解碼方式。 如果用copy表示原始編解碼數據必須被拷貝。


ffmpeg -i $path -f mp4 -vcodec copy -acodec copy -y $dirname/$basename.mp4 >>/opt/out.log 2>&1;

#path - recorded file path (/tmp/rec/mystream-1389499351.flv) //記錄文件路徑
#filename - path with directory omitted (mystream-1389499351.flv)
#basename - file name with extension omitted (mystream-1389499351)
#dirname - directory path (/tmp/rec)
 
        

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM