【问题标题】:VideoView SeekTo working smoothly or delay on different devices - AndroidVideoView SeekTo 在不同设备上正常工作或延迟 - Android
【发布时间】:2015-12-23 09:17:58
【问题描述】:

我正在开发一个功能,我单击下一步按钮,然后 暂停视频 将寻找下一部分并 开始。例如当 video.getCurrentPosition 为 8000 时,我单击按钮使视频搜索到(10000),因为视频在 8000 和 10000 之间显示相同的内容。

此功能在部分安卓设备上运行流畅,如Samsung s6 edge,OnePlus,Xiaomi,Smartison...

但问题是在某些设备上,例如华为、Moto Nexus 6、 当视频在 8000 上时,我单击按钮,它有一些“delay time”。看起来大约 1 秒。稍后,视频终于开始了。

对比一下,我特意改了seekto(10200),这是错误的参数,这些“问题设备”运行流畅,就像“正常设备”一样。但是,之前的视频“@987654323 @" 跳过一些帧并从 10200 开始。

有人知道为什么会导致这个问题吗?希望您的回答,谢谢。

【问题讨论】:

    标签: android video seektotime


    【解决方案1】:

    视频是否使用h264 编码?正如in a comment to this SO question 所建议的那样,使用mpeg4 编解码器重新编码,为我解决了Android ViewView 非常奇怪的seekTo 行为问题。

    要检查编码并重新编码,您可以使用ffmpeg

    $ ffprobe <inputfile> ... ... Stream #0:0(eng): Video: h264 ... ... 这表明该文件是使用h264 编码的,这是更新的,并且通常在与mpeg4 相同的比特率下产生更好的质量,但(可能因此)更难搜索,至少对于Android @987654331 @。

    编码为mpeg4 对我有用,但the ffmpeg wiki 有更多细节。

    $ ffmpeg -i &lt;inputfile&gt; -c:v libxvid &lt;outputfile&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-28
      • 1970-01-01
      • 1970-01-01
      • 2019-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多