【问题标题】:FFmpeg streaming using H.264 (with audio) - Red5 media server (Ubuntu OS)使用 H.264(带音频)的 FFmpeg 流式传输 - Red5 媒体服务器(Ubuntu 操作系统)
【发布时间】:2013-01-21 02:23:05
【问题描述】:

我正在尝试使用 RTMP 将带有 FFmpeg 的网络摄像头流式传输到我的 Red5 服务器。我已经使用 FLV 格式成功完成了这项工作,其中包含以下行:

ffmpeg -f video4linux2 -i /dev/video0 -f flv rtmp://localhost/live/livestream

我是 FFmpeg 和实时流媒体的新手,我尝试过使用 H.264/MPEG-4 流媒体。但是我对 FFmpeg 选项的了解有点有限(我确实在这里找到了:http://man.cx/ffmpeg%281%29)。

所以,我的问题是:

  1. 如何使用 H.264/MPEG-4 流式传输到我的 Red5 服务器?

  2. 还有哪些流式传输音频的选项?

  3. 最后一个问题是:

当我在 Mozilla Firefox(在 Ubuntu 上)中使用 JWPlayer 播放内容时,我有大约 5 秒的延迟。你能帮我解决这个问题吗?有什么建议吗?

非常感谢

【问题讨论】:

  • 你试过用-f mp4-f m4v 代替-f flv 吗?对于 mp4,ffmpeg 默认使用 H.264 和 AAC 编解码器。
  • -f mp4 是个坏主意,因为 -f flv 对于 rtmp 流式传输是必需的,而 mp4 不适合流式传输。
  • 我正在尝试同样的东西。我启动了 Red5 服务器,但是如果我使用相同的 ffmpeg 命令,终端输出: rtmp://localhost/live/livestream: Unknown error occurred

标签: ffmpeg streaming red5 rtmp


【解决方案1】:

无需使用 ffmpeg 流式传输 H.264/MPEG-4 文件,因为 red5 已内置支持此功能。使用 ffmpeg 只会给你的 CPU 使用带来不必要的负担。 Red5 会自动识别文件类型,您只需在 JWPlayer 中指定 mp4 文件即可。

关于延迟,据我所知,JWPlayer 默认有 3 秒的缓冲。您可以尝试降低此值(属性缓冲区长度或类似的东西)。也许 JWPlayer 也有一个“实时”属性,可以以最小的延迟进行流式传输,但我不确定这一点。删除 ffmpeg 也可能会加快进程。

【讨论】:

  • 知道如何流式传输 h.265 吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-09-22
  • 2023-03-31
  • 2013-02-04
  • 2011-05-20
  • 1970-01-01
  • 2016-12-02
  • 2013-05-01
相关资源
最近更新 更多