我在iOS上完成了一个RTMP播放器,使用FFmpeg解码flv1
视频和speex
音频。现在我想捕获iOS摄像头并解码H.264视频和AAC音频,然后将视频和音频流发布到RTMP服务器,Red5服务器作为之前使用的播放器程序。我知道我应该重新编译FFmpeg,添加libx264
和libaacplus
来支持iOS视频和音频解码。但那么如何发布RTMP直播流?使用RTMP_Write()
? RTMP_SendPacket()
?请告诉我一些想法或解决方案,或者向您展示一些代码非常慷慨。谢谢!
答案 0 :(得分:0)
FFmpeg支持使用内部协议(" rtmp")和来自外部库(" librtmp")的rtmp输入和输出。我知道选择内部或librtmp版本而不是另一个版本的唯一原因是特定服务器支持 - 即对于给定服务器,一个可能比另一个更好。
在FFmpeg中,只要输出路径/ uri以" rtmp://...&#34开头,RTMP视频就会复制到flv。它应该适合你。当然,没有什么能阻止你直接使用librtmp - 但为什么要这么麻烦呢?
将服务器配置为接受流,并知道要查看流的端点,可能是它自己的小冒险。
(免责声明:我现在几乎都是这样做的,所以我知道它可行而且直截了当。)