web-dev-qa-db-ja.com

iphoneからアップロードしたAndroidで動画を再生できません

AndroidとiPhoneデバイスの両方で動画をアップロードして再生していますが、iPhoneからアップロードされた動画はAndroidで動作していません。Androidエラーメッセージをください

"申し訳ありません。このビデオは再生できません"

ビデオはmp4形式です。

16
user2524618

はい、そうです。

Androidは、mp3、mp4、mpegなどの組み込みの限定コーデックをサポートするために発生します。

IPhoneはほとんどのコーデックをサポートしています。

これを解決する方法は何ですか?

ビデオ用のMP4とオーディオ用のMP3は広く受け入れられており、両方のプラットフォームで動作します。

そのため、サーバーで何かを行う必要があります。すべてのビデオをMP4に、オーディオをMP3に変換するffmpegライブラリを実装します。

この問題を解決するために同じメカニズムを使用しています。

PHP Here および

すべてのビデオをMP4に変換するコマンド ここ これがお役に立てば幸いです。

ありがとう。

9
Biraj Zalavadia

Mp4の場合、使用されているコーデックを確認する必要があります。 iPhoneは通常h264ですべてをエンコードしますが、h264にはさまざまなプロファイルがあり、Androidでは高プロファイルがサポートされない場合があります。

でもAppleは彼らのドキュメンテーションで言う:

H.264ベースラインレベル3.0、ベースラインレベル3.1、メインレベル3.1、およびハイプロファイルレベル4.1。

iPad、iPhone 3G、およびiPod touch(第2世代以降)は、H.264 Baseline 3.1をサポートしています。ただし、古いバージョンのiPhoneまたはiPod touchでアプリを実行する場合は、互換性のためにH.264 Baseline 3.0を使用する必要があります。コンテンツがiPad専用である場合、Apple TV、iPhone 4以降、およびMac OS Xコンピューターは、メインレベル3.1を使用する必要があります。

ベースラインプロファイルはどこでも再生する必要があります。

こちらのリストをご覧ください- http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Profiles

したがって、エンコードを制御できる場合(ビデオがiOSアプリケーションから記録される場合)、プログラムで実行できます。私はグーグルで調べて、プロファイルが設定されているコードを見つけました: http://forums.macrumors.com/archive/index.php/t-1512924.html

9
Dmitry