【问题标题】:Can't Play video in android uploaded from iphone无法在 android 中播放从 iphone 上传的视频
【发布时间】:2014-05-13 09:45:49
【问题描述】:

我已在 Android 和 iPhone 设备上上传和播放视频,但从 iPhone 上传的视频无法在 Android 上播放。它无法在 Android 视频播放器中播放。它给我错误信息

“抱歉,此视频无法播放”

视频为 mp4 格式。

【问题讨论】:

  • 请检查服务器支持的格式类型以及您的应用程序代码。如果 .mov 不受支持,请添加它:)
  • @Ashutosh 视频在服务器上发布之前将其转换为 mp4 格式。
  • 这个视频可以在iOS设备上播放吗?
  • 是的,ios 可以播放该视频,也可以播放从 android 设备发布的所有视频。只有 ios 发布的视频无法在 android 设备上播放。
  • 那么你应该选择 Biraj Zalavadia 的回答。

标签: android ios iphone video


【解决方案1】:

是的,没错。

这是因为 android 支持有限的内置编解码器,如 mp3、mp4、mpeg。

虽然 iphone 支持大多数编解码器。

有什么办法解决这个问题?

用于视频的 MP4 和用于音频的 MP3 已被广泛接受并在这两个平台上运行。

所以你需要在服务器上做一些事情。实现将所有视频转换为 MP4 和音频转换为 MP3 的 ffmpeg 库。

我们正在使用相同的机制来解决此问题。

查找 PHP Here 的 FFMPEG 实现和

将所有视频转换为 MP4 的命令Here 希望对您有所帮助。

谢谢。

【讨论】:

  • 感谢您的建议,我也会检查这部分的实施情况。
  • 你的网络服务是 php 的吗?
  • 你会很容易找到这个实现的代码。您需要创建 cron 作业,corn 会定期运行并将视频转换为 MP4
  • 好的,让我在服务器端刺穿这个东西。
【解决方案2】:

如果是mp4,那么你需要检查使用了哪些编解码器。 iPhone 通常将所有内容编码为 h264,但是,h264 有不同的配置文件,Android 可能不支持高配置文件,因为它们的解码更复杂。

甚至苹果在他们的文档中说:

H.264 Baseline Level 3.0、Baseline Level 3.1、Main Level 3.1 和 High Profile Level 4.1。

iPad、iPhone 3G 和 iPod touch(第 2 代及更新机型)支持 H.264 基线 3.1。如果您的应用程序在旧版本的 iPhone 上运行或 但是,对于 iPod touch,您应该使用 H.264 Baseline 3.0 兼容性。如果您的内容仅用于 iPad、Apple TV、 iPhone 4 及更高版本,以及 Mac OS X 电脑,您应该使用 Main Level 3.1.

基线配置文件应该在任何地方播放。

在此处查看列表 - http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Profiles

因此,如果您可以控制编码(如果视频是从您的 iOS 应用程序录制的),那么您可以通过编程方式进行。我刚刚搜索了一下,发现了一段设置配置文件的代码:http://forums.macrumors.com/archive/index.php/t-1512924.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    • 2012-01-30
    • 1970-01-01
    • 2013-01-03
    • 2014-12-14
    相关资源
    最近更新 更多