2011-06-21 15 views
7

WebブラウザでHTML5で正しくレンダリングされるH.264エンコードされたビデオがありますが、iPadでは正しくレンダリングされません。私がインターネットからダウンロードしたH.264ビデオを使用すると、ビデオがiPad上で正しくレンダリングされるため、HTMLの問題ではありません。ここでiPadはHTML5でH.264ビデオをレンダリングしません

は、自分の動画についてffmpegの情報です -

私の元.MOVビデオ:

は、ストリーム1のコーデックフレームレートがコンテナのフレームレートと異なるようだ:6000.00(1分の6000) - > 30.00(30/1)

'a_video.mp4' から入力#0、MOV、MP4、M4A、3GP、3G2、MJ2、:

メタデータ:

major_brand  : qt 
minor_version : 537199360 
compatible_brands: qt 

再生時間:00:00:42.74、開始:0.000000、ビットレート:MP4に私のMOVを変換するために、ハンドブレーキを使用した後220キロバイト/ sの

Stream #0.0(eng): Audio: aac, 44100 Hz, stereo, s16, 94 kb/s 
Stream #0.1(eng): Video: h264, yuv420p, 762x464, 122 kb/s, 30 fps, 30 tbr, 3k tbn, 6k tbc 

、まだ上でレンダリングされません。アプリ:

は、ストリーム0コーデックフレームレートが容器フレームレートと異なる思える:180000.00(1分の180000) - 、> 29.97(1001分の30000)

入力#0、MOV、MP4、M4A、3GP 3g2、mj2、from 'a_video.m4v':

メタデータ:

major_brand  : mp42 
minor_version : 0 
compatible_brands: mp42isomavc1 
encoder: HandBrake 0.9.5 2011010300 

時間:00:00:42.77、開始:0.000000、ビットレート:/ sの169キロバイト

ストリーム#0.0(ウント):ビデオ:H264、YUV420P、752x464 [ PAR 381:376 DAR 381:232]、35kb/s、PAR 145161:141376 DAR 145161:87232,29.97fps、29.97tbr、90k tbn、180k tbc
ストリーム番号0.1(オーディオ):オーディオ:aac、44100Hz 、ステレオ、s16,128kb/s

.MP4私はiPad上でレンダリングんオンラインが見つかりました:

は、ストリーム1のコーデックフレームレートがコンテナのフレームレートと異なるようです:180000.00(1分の180000) - > 25.00(25/1)

入力# 'a_video_3_emu.mp4' から0、MOV、MP4、M4A、3GP、3G2、MJ2、:

メタデータ: major_brand:M4VP
minor_version:1
compatible_brands:M4VPM4A mp42isom
エンコーダ:677 CoreMediaAuthoring、CoreMedia 420.17、i38 6

時間:00:01:38.01、開始:0.000000、ビットレート:/ S 1023キロバイト

ストリーム#0.0(ウント):オーディオ:AAC、32000 Hzの、モノ、S16、97 KB /秒
ストリーム#0。1(ウント):ビデオ:H264、YUV420P、480×360 [PAR 1:1 DAR 4:3]、914キロバイト/秒、25 fpsで、25 TBR、90K TBN、180K TBC

誰もが何か間違ったことを確認してい

私は自分のビデオをエンコードしているのですか?最初に私の理論で

編集

は、iPadが異なるコンテナフォーマットに敏感だったということでした。しかしそれはそうでないようである。 iPadで正しくレンダリングされたビデオを.movに変換したところ、はまだがiPadで正しく再生されました。したがって、iPadが基礎となるH.264ストリームをどのように扱うかには問題があるはずです。

+0

デスクトップブラウザでページを表示してもmp4は機能しますか? – Niklas

+0

はい。これはiPadでのみ発生します。 mp4とm4vの関係があります。 – jgoldberg

+0

私はiPadでレンダリングしたビデオでこのコマンドを実行しました:ffmpeg -i a_video_3_emu.mp4 -acodec copy -vcodec mpeg4 output.mp4。 output.mp4はまだiPadで動作しました。コンテナの問題ではなく、基本的なストリームのように見えます。 – jgoldberg

答えて

3

コンテナ(mov、m4v、mp4)に関係なくH.264ビデオストリームがあり、HTML5ビデオはWebブラウザでレンダリングされますが、iPadではレンダリングされない場合、2つの可能性があります修正:

最初の解決策は、H.264ビデオストリームをmpeg4に変換することです。

ffmpeg -i video_h264_not_working.mov -acodec copy -vcodec mpeg4 video_mpeg.mov

(あるいは、あなたがハンドブレーキに代えてH.264のMPEG4を選択することができる。)

第二の溶液は、以下のパラメータを使用して再処理H.264ビデオである:

ffmpeg -i video_h264_not_working.mov -vcodec libx264 -r 25 -b 516k -bt 516k -crf 22 -vpre normal video_h264.mov

第2の解決策はから来た:http://houseoflaudanum.com/navigate/howtos/html5-video-no-webm/

私は前者のケースでは、mpeg4コーデックがiPad上でよりリラックスしていると推測しています。後者の場合、iPadは元のH.264エンコーディングのストリームパラメータの一部を好まないため、「クリーニング」が必要でした。

ビデオストリームが実際に何であるかを確認するには、ffmpeg -i myvideo.movを実行します。

1

Mark PilgrimのVideo on the Web section of Dive Into HTML5で推奨されているように、無料のMiro Video Converter(OS X、Windows)を使用してHTML5ビデオのエンコードとトランスコードを成功させました。

Miro Video Converterは、ほぼすべてのビデオファイルをMP4、Theora、またはMP3(オーディオのみ)に変換できます。これは、一般的な携帯電話、iPod、および他のメディアプレーヤーの正しいサイズとフォーマットにビデオを変換するプリセットを備えています。ビデオを変換してデバイスにコピーするだけです。

ほとんどすべてのビデオをMP4、WebM(vp8)、Ogg Theora、またはAndroid、iPhoneなどに簡単に変換できます。あなたはそれが100%無料でオープンソースであることが良いと感じるでしょう。

もう1つの真のビデオ変換ユーティリティはVideo Monkeyです。これはMac専用の無料ビデオエンコードアプリケーションです。それは、偉大なツールVisual Hubの終了後に作成されました。 Video Monkeyは概念的にも、TranscoderReduxとしてSourceForgeに投稿された元のコードダンプからも、Visual Hubビデオ変換ツールを大いに借りています。

+0

私は同じ問題があります。 Miroは動作しません。実際、.wmvを.webmに変換してChromeで使用すると、クラッシュします。 (参考:HandbrakeとVLCもiPadでは動作しませんが、両方ともChromeで動作するさまざまなフォーマットの動画を制作できます) – Bobby

0

sudo port install ffmpegと、この秘密のソース試してみてください。

#!/bin/bash 
BR=512k 
WIDTH=640 
HEIGHT=272 
input=${1} 

# strip off the file extension 
output=$(echo ${input} | sed 's/\..*//') 

# works for most videos 
ffmpeg -y -i ${input} -f mpegts -acodec libmp3lame -ar 48000 -ab 64k -s ${WIDTH}x${HEIGHT} -vcodec libx264 -b ${BR} -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -subq 7 -trellis 0 -refs 0 -coder 0 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 200k -maxrate ${BR} -bufsize ${BR} -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 30 -qmax 51 -qdiff 4 -level 30 -aspect ${WIDTH}:${HEIGHT} -g 30 -async 2 ${output}-iphone.ts 

は、元の映像に幅と高さを調整し、あなたが合うようにビットレートを設定します。元のビデオをパラメータとしてスクリプトに渡します。ほぼすべてのソース形式で動作します。 portコマンドにはmacportsが必要です。

関連する問題