直播桌面到Android平板电脑和延迟

时间:2013-08-24 00:27:53

标签: android ffmpeg http-live-streaming live-streaming

我正在尝试将桌面直播到Android平板电脑。这就是我做的事情

1)使用ffmpeg

捕获屏幕

ffmpeg -y -f x11grab -s 800x600 -r 20 -i :0 http://x.x.x.x:8090/feed1.ffm

2)使用ffserver

这是部分ffserver.conf文件

<Stream test>
Feed feed1.ffm
Format flv
NoAudio                                                
VideoSize 800x600                                      
</Stream>

3)使用网址“http://x.x.x.x:8090/test

在平板电脑(Android 4.3)上播放视频流

我能在平板电脑上看到几乎没有问题的桌面 1)视频中有大约6到8秒的延迟 2)玩家显示警告“第一帧不是关键帧”

当我在“ffserver.conf”文件中将“Format flv”更改为“Format mpegts”时,警告消失了。但延迟仍然存在。

有没有办法减少延迟?

我使用的是正确的格式吗?

我希望桌面流媒体播放延迟最多2秒。

1 个答案:

答案 0 :(得分:0)

您在Android设备上使用什么来观看视频?这个问题看起来非常通用。

  1. 您只是将原始帧发送到接收器吗?在这种情况下,它们可能会相当沉重,需要一些时间来处理它们。看看你是否可以对它们进行实际编码并流式传输到网络。

  2. 其次,它还取决于网络延迟,您的网络有多好?首先在WLAN中尝试,然后在两个公共IP号码之间尝试。

  3. 接收器上的抖动缓冲区大小是多少?如果你有大的抖动缓冲,玩家设置一些百分比限制填充,然后才能实际踢。显然,如果你有大的抖动缓冲区,它可能需要很长时间来填充它,因此你的视频的初始延迟。因此,在测试用例中关闭抖动缓冲区。

  4. 我还可以归咎于你的接收器设备的解码功能。