2

我和我的朋友要进行现场表演,为此我在我的旧 2006 Intel Core Duo Mac mini 上设置了一个 Red5 服务器,运行 Mac OS X Snow Leopard Server 10.6.8。

我使用 Flash Media Live Encoder 向 Red5 的 oflaDemo 应用程序广播,并且流效果很好,除了我希望流与 iOS 一起使用。我正在为它开发一个应用程序,但我仍然需要将我的流转换为 Apple 的 HTTP Live Streaming 协议才能使其工作。谁能帮我将 RTMP 流转换为 MPEG2-TS,因为那是 mediastreamsegmenter 支持的格式?我已经在服务器上安装了 Apple 的 HTTP Live Streaming Tools,所以分段器不是问题。

FFmpeg 不起作用,至少对于我在这里找到的代码不起作用。有了它,总是会出现“不允许操作”错误。Xuggler 不起作用,即使是 Linux 机器也不行。有人可以帮我吗?我真的,真的很感激。

——雷尼尔·阿隆

4

2 回答 2

3

这个调用是我成功用来将 red5 直播流转换为带有 TS 文件的 m3u8 HLS 格式的方法:

ffmpeg -re -i "rtmp://domain/oflaDemo/test live=1" -hls_time 10 -hls_wrap 7 -hls_list_size 3 -f hls test.m3u8

选项“-hls_list_size 3”注意在 m3u8 文件中列出了 3 个 TS 文件。选项“-hls_wrap 7”负责 .TS 文件在 7 个文件后自动删除。

因此不需要其他工具,ffmpeg 可以为您完成全部工作。如果您不指定选项“-hls_wrap”,则完整的流将保存在 10 秒的 TS 文件中(-hls_time 10)。

顺便说一句,我在使用 rtmpdump v2.3 编译的 CentOS v5.8 上使用 ffmpeg 1.2.1 和来自 git://git.videolan.org/x264.git 的最新 x264 库,并具有以下配置选项:

./configure --enable-librtmp --enable-libx264 --enable-gpl
于 2013-06-16T18:42:38.737 回答
0

如果您想继续使用 Red5 进行流式传输,可以尝试我的 HLS 插件,源代码可以在这里找到:https ://github.com/Red5/red5-hls-plugin

于 2014-02-05T16:24:16.483 回答