使用 H.264(带音频)的 FFmpeg 流式传输 - Red5 媒体服务器(Ubuntu 操作系统)

标签 ffmpeg streaming red5 rtmp

我正在尝试使用 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)。

所以,我的问题是:
  • 如何使用 H.264/MPEG-4 流式传输到我的 Red5 服务器?
  • 还有哪些流式传输音频的选项?
  • 最后一个问题是:

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

    非常感谢

    最佳答案

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

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

    关于使用 H.264(带音频)的 FFmpeg 流式传输 - Red5 媒体服务器(Ubuntu 操作系统),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14719721/

    相关文章:

    flash - 通过 RTMP 将音频发布到 Red5 服务器,无需 flash

    audio - ffmpeg 如何转换其他格式的音频文件?

    ffmpeg - 使用 ffmpeg 设置 ts 文件的正确开始时间

    android - 如何在 Android 上使用 MediaPlayer 流式传输经过身份验证的内容

    objective-c - 如何使用 Objective C 从特定程序中捕获音频?

    api - 是否有视频租赁 VOD(视频点播)API?

    java - Maven 和 Red5 依赖项

    ffmpeg - 使用 FFMPEG 录制 IP 摄像机流

    c++ - 为什么 FFMPEG 屏幕录像机输出仅显示绿屏?

    java - 如何从 Red5 向我的 Flash AS3 应用程序发送消息?