一、服務器端
1、nignx
2、ffmpeg
3、srs
4、livego
5、node-rtsp-rtmp-server
github搜一圈也很多
https://github.com/gwuhaolin/livego
https://github.com/sevenzoe/gortmp
https://github.com/c-bata/rtmp
二、rtmp推流器
1、rtmp發布h264裸數據
librtmp比較常用,但是不好用,還是整理了下
https://blog.csdn.net/firehood_/article/details/8783589
linux版
https://files.cnblogs.com/files/dong1/librtmp_pusher.tar.gz
windows版
https://files.cnblogs.com/files/dong1/librtmp_pusher_win.zip
2、發布h264 rtmp最省事的還是srs-librtmp
開源srs自帶的示例srs_h264_raw_publish.c就很容易用起來
我導出了srs-librtmp項目,做了兩個demo,分別跑在x86和arm
附件:https://files.cnblogs.com/files/dong1/srs-librtmp_pusher_demo.zip
具體細節可以看看調試筆記
https://www.cnblogs.com/dong1/p/10600115.html
3、直接用ffmpeg
https://github.com/Akagi201/ffmpeg-push
整理了下,可以推送文件和url網絡實時流
https://files.cnblogs.com/files/dong1/ffmpeg_push.zip
./main source.200kbps.768x320.flv rtmp://182.61.45.149:1935/live/movie
./main rtsp://admin:12345@172.16.23.142:554/H.264/ch1/main/av_stream rtmp://182.61.45.149:1935/live/movie
4、下面這個有音頻和視頻兩路數據,比較方便
This tool is used to encapsulate H264 and AAC to RTMP
https://github.com/rainfly123/flvmuxer
5、封裝成ts也可以
ts muxer
https://github.com/felix-001/tslib
三、拉流
1、ffmpeg
2、python-librtmp
四、測試實例
我這里用的開源livego和libRTMP
https://www.cnblogs.com/dong1/p/9574508.html
https://files.cnblogs.com/files/dong1/librtmp_pusher.tar.gz
ffplay -i rtmp://localhost:1935/live/movie
ffplay http://127.0.0.1:7002/live/movie.m3u8
使用RTMPdump(libRTMP)直播來自v4l2的攝像頭數據
https://blog.csdn.net/li_wen01/article/details/71548079
https://files.cnblogs.com/files/dong1/libRTMP_live_v4l2-master.zip