源于这样一个需求,需要将多种视频流推送入rtmp server。
目前解决方案是:
any format stream ->ffmpeg -> rtp, ts流 -> udp -> ffmpeg -> rtmp . 看似多余了一步,但是却由于后端的统一,却做到了相对灵活。通用性目前来看会好很多。
1. 将所有的视频流转化为统一的视频格式rtp,或者是ts流,或者其他方式。 之后发送至udp端口。
2. ffmpeg 通过udp接收数据,并推送只rtmp . (标准操作)
附两个ffmpeg命令:
ffmpeg -i udp://localhost:1234 -vcodec copy output.mp4 // 1234端口接收数据流
ffmpeg -i rtp://localhost:1234 -vcodec copy output.mp4
// 1234端口接收rtp流
参考文章:
[1] http://blog.csdn.net/leixiaohua1020/article/details/39803457 雷神
[2] http://blog.chinaunix.net/uid-11344913-id-4432752.html bsf的转化为ts流发送至udp。