我正在尝试完成从 iPhone 摄像头进行直播的任务。我做了一些研究,发现我可以使用 .m3u8
文件来流式传输实时视频,其中应该包含 .ts(Mpeg-2)
文件。
现在我的 iPhone 上的文件是 .mp4
文件,它不适用于 .m3u8,所以我想我必须转换 .mp4
到 .ts
,但我没有成功。
我发现可以转换视频 ffmpeg lib如 this article here 中所述.我已经成功导入了 ffmpeg
库,但我第一次使用它时不知道如何使用它来转换视频。
另一件事apple documentation说
There are a number of hardware and software encoders that can create MPEG-2 transport streams carrying MPEG-4 video and AAC audio in real time.
这里说的是什么?有没有其他方法可以使用 .mp4 文件进行直播,而无需从 iOS 转换它们?
如果我不清楚,请告诉我,我可以提供更多信息。欢迎提出任何建议。我想知道我在这里的道路是否正确?
编辑
我正在为我的问题添加更多信息,所以基本上我要问的是,我们可以使用以下命令将 .mp4 视频转换为 .ts
ffmpeg -i file.mp4 -acodec libfaac -vcodec libx264 -an -map 0 -f segment -segment_time 10 -segment_list test.m3u8 -segment_format mpegts -vbsf h264_mp4toannexb -flags -global_header stream%05d.ts
我如何使用 ffmpeg 库来执行此命令在 iOS 中的操作。
最佳答案
您可以查看 ffmpeg.c 以了解 ffmpeg 使用 ffmpeg 库中的内容。但是,这是一个非常复杂的文件。您可能想要重命名 main() 并将其编译为一个对象,然后您可以从您的代码中调用新的 ffmpeg_main() 函数。
关于ios - 使用 .m3u8 和 .ts 文件以 iPhone 作为服务器进行直播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25993754/