夜が明けてきた そろそろ寝よう
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


【YouTube】旧動画のDASH化の際に起きる障害のまとめ
YouTubeのDASH化については以前別エントリで説明しましたが、ビットレート大幅削減による画質劣化という、なかなか厳しい仕様変更となっています。新規アップロード動画だけでなく、昔の動画も順次DASH化されており、その結果、昔よりも劣化した画質で見させられるという時代を逆行するような辛い事態になってますが、一部の動画ではそれだけで済まずに障害が起きています。このエントリではそれら障害で私の知っているものをまとめます。

旧動画のDASH化時系列



DASH化は'13年5月頃に始まりました。それ以降の新規アップ動画は全てアップ時にDASH化されるのでわかりやすいですが、旧動画はどうかというと、全てを一気にDASH化するのは無理です。重いエンコード処理が必要ですから。なので、図の赤線で示すように、徐々にDASH化されています。その順番ははっきりしませんが、傾向としては再生数の多い動画から順にやってるようです。そして、'14年1月現在、まだ全ての動画のDASH化は完了していません。その完了をおとなしく待っててくれたら良かったんですが…
'13年10月頃から、従来版1080p、480pの削除が始まりました。そしてあっというまに終わりました。削除するだけなので速攻です。
この従来版1080p、480pの削除がスケジュール通りだったのか、ディスクの逼迫で前倒しされたのかわかりませんが、DASH化が完了しないうちに行われたため、問題が起きています。

DASH化による障害
(1)あったはずの1080p、480pがいつのまにかなくなっている
図の②の部分が該当します。DASH化されてない(DASH版が作られてない)のに従来版の1080p、480pが削除されたため、この障害となります。
(2)あったはずの解像度がいつのまにかなくなっている
症状は(1)に似てますが原因が違うケースです。図の①の一部ってことになりますかね、敢えて言えば。
一応DASH化されてるものの、DASH版の作成が不完全で一部欠けていると、この障害になります。
私の動画(元々は720pの動画)では、DASH版の480pだけが作られ、720p、360p、240p、144pが作られてないものがありました。この場合プレーヤーでは480pしか選べません。
運が悪いと、DASH版の144pだけ作られて、結果、プレーヤーで144pしか選べないこともあるようです。元々1080pの動画がこんな事態になったら愕然とするでしょうね。
(3)音が出ない
原因的には(2)と一緒です。
DASH版の作成が不完全で、映像ファイルはあるけど音声ファイルがない場合、この障害になります(DASHでは映像と音声を別ファイルで用意しています)。
(4)大きなブロックノイズ発生
「wmv形式でアップした動画」で、「不幸にも'13年8月前半にDASH化」され、「フェードイン、フェードアウト処理がある」場合、そのフェードイン、フェードアウトに大きめのブロックノイズが発生することがあるようです。
海外のYouTubeフォーラムのこちらのトピック(1)で議論されていますが、簡単にまとめます。
YouTube側で行われる再エンコード処理に問題があり、'13年8月前半、wmvのエンコードがブロックノイズまみれとなっていたようです(特にフェード処理で多発)。半月程度で正常に戻ったようです。この間にアップロードしてブロックノイズまみれになってしまった動画は、前記トピックに動画リンクを記せば担当者の方で対処(再々エンコード)するという、日本のYouTubeフォーラムではありえない処置がなされます。
しかし、この問題にひっかかるのは8月にアップした動画だけではありません。アップが大昔でも、DASH化が8月に行われれば、同様の事態に見舞われます。そして被害は、より甚大です。今更アップし直しなんてできないでしょうから。ということでそういう動画を救済するためのトピック(2)も作られました。でもあまり活用されてないようです。気づかない人、気づいても途方に暮れるだけの人が多いのかもしれません。

原因の確認方法
上記障害が起きても、その症状だけを見てDASH化のせいとは決め付けられません。特に音が出ないなんて他の原因の方が多そうです。というわけで、上記障害が起きた時にDASH化が原因か否かを確認する方法を説明します。主に動画再生ページのソース(HTML表記)を確認することになります。
(1)あったはずの1080p、480pがいつのまにかなくなっている
HTMLをdashで検索していき、
"dash": "1"
"dashmpd"
これら記載があれば、その動画はDASH化されています。記載がなければまだDASH化されてません。
記載がないなら、1080pと480pがないのはある意味当たり前、最初の図で説明したとおり、YouTube側の処理順がちょっとおかしいせいです。
(2)あったはずの解像度がいつのまにかなくなっている
HTMLをdashで検索していき、
"dash": "1"
"dashmpd"
これら記載があること(つまりDASH化されてること)を確認します。次にHTMLを itag= で検索していきます。itag=xx というのはサーバ側に用意されてる動画フォーマットの一つ一つに対応しています。例えばHTML中に itag=134 という表記があった場合、それは360pのDASH版映像が用意されてることを意味します。以下にitagの表記とDASH版映像フォーマットの対応をまとめます。

HTML中のitag表記 映像フォーマットの種別
itag=160 144p
itag=133 240p
itag=134 360p
itag=135 480p
itag=136 720p
itag=137 1080p

元々が720pの動画だったとすると、HTML中に「itag=160」「itag=133」「itag=134」「itag=135」「itag=136」の全てがあればDASH化は(映像については)正常に完了しています。それでもプレーヤーに表示される解像度がおかしい場合はDASH化以外の原因があるはずです。
元々が720pの動画なのに「itag=160」しかないなど、HTML中の映像フォーマットに不足があるなら、それはDASH化が不完全ということになります。HTMLにない映像フォーマットは当然プレーヤーにも出てきません。
なお動画フォーマットは上記以外にも3D、HTML5用など多々ありますが、ここでは触れません。全てのフォーマットとitagの関係はYouTubeのwikipediaに記載されてます。
(3)音が出ない
HTMLをdashで検索していき、
"dash": "1"
"dashmpd"
これら記載があること(つまりDASH化されてること)を確認します。次にHTMLを itag= で検索していき、音声が正しく作られているか確認します。itagとDASH版音声ビットレートの対応は以下の通りです。

HTML中のitag表記 音声ビットレートの種別
itag=140 128k

元々は3種類の音声があったんですが、一年たたないうちに2つ消えて1つになってしまいました。表の意味がない。
上記音声(つまりitag=140)がHTML中にないようなら、DASH化が不完全なせいで音声が出ないことになりそうです。
itag=140がHTMLにあり、それでも音が出ないなら、DASH化以外の原因を探ることになります。
(4)大きなブロックノイズ発生
これがDASH化によるものかの確認は難しいです。
「wmv形式でアップした動画」か否かは動画管理ツールで動画情報を確認すれば、「元のファイル」として表記があるのでわかります。
「フェードイン、フェードアウト処理がある」か否かは目視確認ですね。
真っ黒の画面から映像がフェードインするとか、映像がホワイトアウトするとか、
映像A→映像Aと映像Bの混在→映像B
とゆっくり変わる時にブロックノイズが出るようです。フェード処理してるところに限らず広範囲にブロックノイズが出る場合は別原因になります。
「不幸にも'13年8月前半にDASH化」の確認ですが、まずDASH化されてるか否かは既に記載したとおり、HTML中に
"dash": "1"
"dashmpd"
があるか否かでわかります。
DASH化時期を確認するには、まずDASH版の映像ファイルをダウンロードします。その映像ファイルのヘッダにはエンコード日時が記載されているので、Mediainfoなどのツールで確認可能です。ただ、ダウンロードは正規の手続きでできない、ってか違法なんですよね。なので、ダウンロード方法を詳しく書けません。なお、動画管理ツールに「MP4でダウンロード」のメニューがありますが、これでダウンロードできるのはDASH版ではなく従来版なので、本確認には使えません。

対処方法

(1)はDASH版が作られるのを待つんでしょう。いつになるかわかりませんが。
(4)は既に記したようにトピック(2)に申し立てれば対処してくれるのかもしれません。ただあまり使われてる形跡がないのと、何より、英語なのが厳しい。
(2)~(4)の障害に対する正攻法として、再生画面下の「フィードバックを送信」から苦情を申し立てる手があります。相手が見えない手続きなので、どれだけやってくれてるか疑問なところはありますが、私の動画は対処してくれました(間に一週間ほど挟んで2回フィードバックを送信しました)。
(1)~(4)共通の対処として、「動画加工ツール」での空編集が考えられます。空編集とは、ツールで用意された編集操作(カットやフィルタ適用など)を一切せずに単に「保存」することです。これにより再エンコードが行われるので正しいDASH化がなされる可能性は高いです。ただ、空編集とはいえ動画加工ツールを通すことで余計な画質劣化があるかもしれません。また、DASH化の処理はまだ枯れてないので、空編集契機によるDASH化でも障害を起こす可能性は無いとは言えず、場合によっては現状より悪い状態になるかもしれません(ってくらい保険をかけておこう)。
動画のURLが別になり、再生数や評価をリセットしても良いなら、より安全な空編集として、「保存」ではなく「名前をつけて保存」を選ぶ手があります。「保存」だと上書きですが、「名前をつけて保存」だと、元の動画はそのまま残されて、空編集した別動画が新たに作られます。これなら、失敗した場合は元動画を継続使用、成功した場合は新たな動画を採用すればよいことになります。ただ、この方法にも若干の難があって、元動画の再生画面で変な表記が出てきます。下記イメージがそれで、「元になった動画 読み込んでいます」という謎の表記が出ます。まぁ表示されるだけで悪さはしないですが、目触りではあります。「名前をつけて保存」にはそういう厄介事があります。


 
ちなみに、「保存」で上書きした場合はこの謎表記は出ません。
「動画加工ツール」はこのように意味不明な挙動があるので、いきなり公開済みの歴史ある動画に適用するのではなく、テスト用動画でテストして、動きを理解してからにした方がいいと思います。
スポンサーサイト


コメント

コメントの投稿














管理者にだけ表示を許可する


トラックバック
この記事にトラックバックする(FC2ブログユーザー)
トラックバック URL
http://hori68.blog.fc2.com/tb.php/27-c15ed17d



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。