1. 程式人生 > >FFMPEG推流到RTMP伺服器命令

FFMPEG推流到RTMP伺服器命令

1、將檔案當作源推送到RTMP伺服器

ffmpeg -re -i localFile.mp4 -c copy -f flv rtmp://server/live/streamName 
引數解釋
-r 以本地幀頻讀資料,主要用於模擬捕獲裝置。表示ffmpeg將按照幀率傳送資料,不會按照最高的效率傳送

2、將直播檔案儲存至本地

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

3、將其中一個直播流中的視訊改用H.264壓縮,音訊不變,推送到另外一個直播伺服器

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

4、將其中一個直播流中的視訊改用H.264壓縮,音訊改用aac壓縮,推送到另外一個直播伺服器

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 

5、將其中一個直播流中的視訊不變,音訊改用aac壓縮,推送到另外一個直播伺服器

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

6、將一個高清流複製為幾個不同清晰度的流重新發布,其中音訊不變

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  

7、將當前攝像頭以及揚聲器通過DSHOW採集,使用H.264/AAC壓縮後推送到RTMP伺服器
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

8、將一個JPG圖片經過H.264壓縮後輸出為MP4檔案

ffmpeg -i INPUT.jpg -an -vcodec libx264 -coder 1 -flags +loop -cmp +chroma -subq 10 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -flags2 +dct8x8 -trellis 2 -partitions +parti8x8+parti4x4 -crf 24 -threads 0 -r 25 -g 25 -y OUTPUT.mp4  

9、將MP3轉化為AAC

ffmpeg -i 20120814164324_205.wav -acodec  libfaac -ab 64k -ar 44100  output.aac  

10、將AAC檔案轉化為flv檔案,編碼格式採用AAC

ffmpeg -i output.aac -acodec libfaac -y -ab 32 -ar 44100 -qscale 10 -s 640*480 -r 15 output.flv