我可以从iPhone的相机中获得单独的帧.我需要的是一种用声音打包它们以便流式传输到服务器的方法.我拥有它们后发送文件并不是什么大问题.它生成的流媒体文件我遇到了问题.我一直试图让FFMpeg没有太多运气.
任何人都有任何关于如何解决这个问题的想法?我想要一个已知的工作API或有关让FFMpeg在iPhone应用程序中正确编译的说明.
我想从iPhone获得实时视频到另一台设备(桌面浏览器或其他iPhone,例如点对点).
注意:这不是一对多,而是目前只有一对一.音频可以是流的一部分或通过iphone上的电话呼叫.
我能想到的方法有四种......
在iPhone上捕获帧,将帧发送到mediaserver,让mediaserver使用主机webserver发布实时视频.
在iPhone上捕获帧,转换为图像,发送到httpserver,在浏览器中使用javascript/AJAX尽快从服务器重新加载图像.
在iPhone上运行httpServer,在iPhone上捕获1秒持续时间的电影,在iPhone上创建M3U8文件,让另一个用户直接连接到iPhone上的httpServer以进行liveStreaming.
在iPhone上捕获1秒持续时间的电影,在iPhone上创建M3U8文件,发送到httpServer,让其他用户连接到http服务器以进行liveStreaming.这是一个很好的答案,有没有人得到它的工作?
有更好,更有效的选择吗?从iPhone上获取数据的最快方法是什么?是ASIHTTPRequest吗?
感谢大家.
我正在尝试同时读写由AVAssetWriter编写的H.264 mov文件.我设法提取单个NAL单元,将它们打包到ffmpeg的AVPackets中,并使用ffmpeg将它们写入另一种视频格式.它的工作原理和生成的文件播放效果很好,但播放速度不正确.如何从原始H.264数据计算正确的PTS/DTS值?或者也许还有其他方法可以获得它们?
这是我尝试过的:
将捕获最小/最大帧速率限制为30,并假设输出文件为30 fps.事实上,它的fps总是小于我设定的值.而且,我认为fps在数据包之间并不是一成不变的.
记住每个书面样本的表示时间戳,并假设样本一对一映射到NALU并将保存的时间戳应用于输出数据包.这不起作用.
将PTS设置为0或AV_NOPTS_VALUE.不行.
从谷歌搜索我了解原始H.264数据通常不包含任何时间信息.它有时在SEI中有一些时间信息,但我使用的文件没有它.另一方面,有些应用程序正是我正在尝试做的事情,所以我认为它可能以某种方式.