ffmpeg推流與播放 ffmpeg 推送、保存rtmp 流命令

ffmpeg 推流

ffmpeg -re -i ./demo.mp4 -vcodec libx264 -acodec aac -f flv rtmp://localhost:1935/hls

ffmpeg -re -i cw_1h.ts  -c copy  -f mpegts   udp://10.80.1.70:6666

ffmpeg -re -i chunwan.h264 -vcodec mpeg2video -f mpeg2video udp://233.233.233.223:6666 

ffmpeg -re -i source.flv -vcodec copy -acodec copy -f flv -y rtmp://127.0.0.1:1935/live/livestream  #推rtmp

ffmpeg -re -i cw.ts -vcodec copy -acodec copy  -f rtp_mpegts  rtp://238.123.46.66:8001  推rtp

ffmpeg -re -i cw.ts -vcodec copy -acodec copy  -f mpegts  udp://238.123.46.66:8001  推udp

ffmpeg -re -i chunwan.h264 -vcodec copy -f rtp rtp://233.233.233.223:6666>test.sdp  
注1:-re一定要加,代表按照幀率發送,否則ffmpeg會一股腦地按最高的效率發送數據。
注2:-vcodec copy要加,否則ffmpeg會重新編碼輸入的H.264裸流。
注3:最右邊的“>test.sdp”用於將ffmpeg的輸出信息存儲下來形成一個sdp文件。該文件用於RTP的接收。當不加“>test.sdp”的時候,ffmpeg會直接把sdp信息輸出到控制檯。將該信息複製出來保存成一個後綴是.sdp文本文件,也是可以用來接收該RTP流的。加上“>test.sdp”後,可以直接把這些sdp信息保存成文本。
ffmpeg -re -i chunwan.h264 -pix_fmt yuv420p –f sdl xxxx.yuv -vcodec copy -f flv rtmp://localhost/oflaDemo/livestream    #一邊通過SDL播放視頻,一邊發送視頻流至RTMP服務器

ffplay播放
ffplay -f h264 udp://233.233.233.223:6666  #播放承載H.264裸流的UDP 
ffplay -vcodec mpeg2video udp://233.233.233.223:6666  #播放MPEG2裸流
ffplay test.sdp    #播放承載H.264裸流的RTP 
ffplay -f rawvideo   -video_size   352x288 foreman_cif.yuv  #播放YUV

ffplay -f dshow -i video="Integrated Camera"  #播放本地名稱爲“Integrated Camera”的攝像頭(從設備管理器中查看相機名稱)。

 

最近瀏覽國外網站時候發現,翻譯不準確的敬請諒解。

1、將文件當做直播送至live

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

2、將直播媒體保存至本地文件

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

3、將其中一個直播流,視頻改用h264壓縮,音頻不變,送至另外一個直播服務流

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

4、將其中一個直播流,視頻改用h264壓縮,音頻改用faac壓縮,送至另外一個直播服務流

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、將其中一個直播流,視頻不變,音頻改用faac壓縮,送至另外一個直播服務流

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、功能一樣,只是採用-x264opts選項

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

8、將當前攝像頭及音頻通過DSSHOW採集,視頻h264、音頻faac壓縮後發佈

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

9、將一個JPG圖片經過h264壓縮循環輸出爲mp4視頻

ffmpeg.exe -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

10、將普通流視頻改用h264壓縮,音頻不變,送至高清流服務(新版本FMS live=1)

ffmpeg -i rtmp://server/live/originalStream -c:a copy -c:v libx264 -vpre slow -f flv “rtmp://server/live/h264Stream live=1″
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章