ios - 使用 .m3u8 和 .ts 文件以 iPhone 作为服务器进行直播

标签 ios objective-c ffmpeg http-live-streaming

我正在尝试完成从 iPhone 摄像头进行直播的任务。我做了一些研究,发现我可以使用 .m3u8 文件来流式传输实时视频,其中应该包含 .ts(Mpeg-2) 文件。

现在我的 iPhone 上的文件是 .mp4 文件,它不适用于 .m3u8,所以我想我必须转换 .mp4.ts ,但我没有成功。

我发现可以转换视频 ffmpeg libthis 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/

相关文章:

ios - 如何从横幅中删除新通知?

iphone - iOS7自定义按钮高亮时变透明

iphone - 吉他英雄型节拍器

ios - FFmpeg libavcodec.a Xcode 链接器问题 - 架构 arm64 的 undefined symbol

android - 在android中运行ffmpeg命令行报错

ios - Swift ios11 NavigationItem SearchBar 不会完全隐藏

ios - 如何使用 ARC 在 iOS 中将对象标记为保留和只读?

ios 发行版预生产版和生产版

ios - 调整 UITableViewCell 内容的大小

gcc - 为什么 FFmpeg 没有经过编译器优化?