【问题标题】:Cannot play certain videos无法播放某些视频
【发布时间】:2011-12-01 09:22:08
【问题描述】:

我正在尝试通过我们的服务器在 Android 设备上播放电影。它不是媒体服务器,只是普通的 Apache 服务器。我们使用相同的 API 来访问 iPhone 上的视频,它运行良好。

在 Android 设备上,某些视频可以播放,而其他视频则不能。它们都是以相同的方式创建的,除了大多数不起作用的由静止图像和音频组成。

我们尝试使用 Videora 重新编码它们,并尝试使用 MP4Box 提示它们。存储在 SD 卡上时,所有视频都可以正常播放。我们也试过先将视频从服务器下载到SD卡,保存为文件,然后从文件中播放,但这也行不通。

帮助将是惊人的。我很困惑。 谢谢。

编辑 - Logcat:

01-19 08:19:12.669: DEBUG/MediaPlayer(1878): Couldn't open file on client side, trying server side

01-19 08:19:14.119: INFO/ActivityManager(1172): Displayed activity com.myproject/.VideoClass: 1966 ms (total 1966 ms)

01-19 08:19:15.779: ERROR/PlayerDriver(1071): Command PLAYER_INIT completed with an error or info UNKNOWN PVMFStatus

01-19 08:19:15.789: ERROR/MediaPlayer(1878): error (200, -32)

01-19 08:19:15.789: ERROR/MediaPlayer(1878): Error (200,-32)

01-19 08:19:15.789: DEBUG/VideoView(1878): Error: 200,-32

01-19 08:19:15.849: WARN/PlayerDriver(1071): PVMFInfoErrorHandlingComplete

更新: 这里是三个不同视频的视频分析的 pastebin。 应用程序上的第一个流来自服务器。 第二个视频不会流式传输,但可以下载然后从设备播放。 第三个既不能流式传输也不能下载播放。 http://pastebin.com/9qChSkFz

WTF。

【问题讨论】:

  • 我试了好几个都不行,原来是H.264。
  • @Jai:在 Eclipse 中使用adb logcat、DDMS 或 DDMS 透视图检查 LogCat 并查看是否收到与视频播放相关的任何警告。
  • ^ 我已经添加了从 logcat 获得的错误消息。
  • 您对 Apache 服务器上扩展名为 .mp4 的文件使用什么 MIME 类型?您可以在 PC 上下载并播放该文件吗?
  • 没有设置。应该是什么?当它们被编码相同时,这如何影响一组动画而不是其他动画?

标签: android video video-processing video-encoding h.264


【解决方案1】:

我也遇到过同样的问题,最初放弃后,我找到了解决方案。

我偶然发现了以下页面 http://developer.android.com/guide/appendix/media-formats.html 声明:

对于 3GPP 和 MPEG-4 容器,moov 原子必须在任何 mdat 原子之前,但必须在 ftyp 原子之后。

经过一番挖掘,我发现这正是问题所在。从某些 Android 手机(我相信是 2.3 之前的版本)录制的视频将 moov atom 放在文件的末尾。这使它们无法流式传输。一些谷歌搜索会告诉您这是 MP4 文件和 Flash 播放器的常见问题,特别是因为它们是为流式传输视频而设计的。

MediaPlayer 中甚至有一个特定的错误代码(但我没有看到这些记录) 媒体播放器#MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK。

我的解决方案是通过外部工具运行视频文件以将 moov atom 移动到开头。我最终使用了 MP4Box:http://gpac.wp.institut-telecom.fr/mp4box/ 和命令

MP4Box -inter 500 original.mp4 -out fixed.mp4

希望对其他人有所帮助!

【讨论】:

    猜你喜欢
    • 2016-09-03
    • 1970-01-01
    • 2015-11-26
    • 1970-01-01
    • 1970-01-01
    • 2016-05-18
    • 2019-10-14
    • 2016-04-26
    • 2019-05-15
    相关资源
    最近更新 更多