【问题标题】:3 seconds latency while streaming with Wowza Server使用 Wowza Server 进行流式传输时延迟 3 秒
【发布时间】:2015-07-29 19:08:47
【问题描述】:

我正在尝试使用 RTSP 协议开发一个实时流媒体应用程序。

在带有 Wowza 服务器的 PC 上,我执行以下命令:

代码:

ffmpeg -f dshow -i video="Name_Of_My_Cam":audio="Name_Of_My_Microphone" -vcodec
h263p -f rtsp -muxdelay 0.1 rtsp://<Wowza_server_ip_adress>:1935/live/test

我正在尝试在我的 Samsung Galaxy Note 3 Lite 上的 VideoView 上播放此流。代码如下:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    VideoView vv = (VideoView) findViewById(R.id.videoView);
    // Receive RTSP video from Wowza Server
    vv.setVideoURI(Uri.parse("rtsp://<Wowza_server_ip_adress>:1935/live/test"));
    vv.requestFocus();
    vv.start();
}

我设法阅读了视频和声音,但它需要 3 秒(或更多...)才能启动,并且我在所有流式传输期间都保持此延迟。这很烦人,因为我想开发一个通话会话。

有人知道如何减少这种延迟吗?是 Wowza 的问题吗?

【问题讨论】:

  • 您是否尝试按照How to achieve the lowest latency from capture to playback上的说明进行操作
  • 是的。我试图将 StreamType 更改为“live-lowlatency”并修改我的应用程序的属性。但它什么也没改变。
  • 我尝试使用应用程序“XMTV Player”启动流并且它可以工作(我的延迟不到 1 秒)。所以我想问题出在 VideoView 的实现中。也许缓冲太低了??
  • 显然 VideoView 缓冲区大小为hardcoded in the firmware。您可能需要一个自定义库。
  • 我找到了这个:vitamio。我今天会测试

标签: ffmpeg streaming rtsp latency wowza


【解决方案1】:

我设法使用vitamio 库解决了这个问题。 我实现了自定义 MediaPlayer(参见示例“MediaPlayerDemo_Video.java”),而不是 VideoView。延迟小于 1 秒。所以从我的 Wowza 服务器到安卓手机的流式传输运行良好。

【讨论】:

  • 你用的是哪个版本的vitamio?我目前正在使用 ffmpeg 仅将我的音频流发送到 wowza。但是,一旦从桌面触发 ffmpeg,音频流会在 3-4 秒后到达 wowza。你是怎么解决这个问题的?
猜你喜欢
  • 2016-09-27
  • 2014-01-28
  • 1970-01-01
  • 1970-01-01
  • 2013-12-01
  • 1970-01-01
  • 2017-08-14
  • 2016-07-29
  • 2013-12-06
相关资源
最近更新 更多