如何捕获iOS摄像头并发布RTMP实时流?

如何捕获iOS摄像头并发布RTMP实时流?,ios,ffmpeg,h.264,rtmp,aac,Ios,Ffmpeg,H.264,Rtmp,Aac,我已经在iOS上完成了一个RTMP播放器,使用FFmpeg解码flv1视频和speex音频。现在我想捕获iOS摄像头并解码H.264视频和AAC音频,然后将视频和音频流发布到RTMP服务器,Red5服务器作为以前使用的播放器程序。我知道我应该重新编译FFmpeg,添加libx264和libaacplus以支持iOS视频和音频解码。但是如何发布RTMP直播流呢?使用RTMP\u Write()RTMP_SendPacket()?请告诉我一些想法或解决方案,或者给我看一些代码,你真是太慷慨了。谢谢

我已经在iOS上完成了一个RTMP播放器,使用FFmpeg解码
flv1
视频和
speex
音频。现在我想捕获iOS摄像头并解码H.264视频和AAC音频,然后将视频和音频流发布到RTMP服务器,Red5服务器作为以前使用的播放器程序。我知道我应该重新编译FFmpeg,添加
libx264
libaacplus
以支持iOS视频和音频解码。但是如何发布RTMP直播流呢?使用
RTMP\u Write()
<代码>RTMP_SendPacket()?请告诉我一些想法或解决方案,或者给我看一些代码,你真是太慷慨了。谢谢


参考资料:

FFmpeg支持rtmp输入和输出,包括内部协议(“rtmp”)和外部库(“librtmp”)。据我所知,选择内部版本或librtmp版本而不是其他版本的唯一原因是为了特定的服务器支持——也就是说,对于给定的服务器,一个版本可能比另一个版本更适合您

在FFmpeg中,RTMP视频被多路复用到flv,只要您的输出路径/uri以“rtmp://...“它应该对你有用。当然,没有什么可以阻止您直接使用librtmp——但为什么要麻烦呢

将服务器配置为接受流,并知道在哪个端点上查看流,这可能是它自己的小冒险


(免责声明:我现在正在做这件事,所以我知道这是可能的和直接的。)

现在我有了完整的发布rtmp音频数据。这意味着rtmp服务器正常。然后,我尝试捕获摄像头以获取原始yuv420p数据,然后发送到rtmp publisher。我在谷歌上搜索并看到了大多数关于转换为rgb图像的文章。你知道这个吗?我们可以使用im聊天吗?@SmeegolXie您是否正在尝试将原始视频发送到您的RTMP服务器?什么是视频和音频编码?在流式传输到RTMP之前,muxing在做什么?