LoginSignup
18
20

More than 5 years have passed since last update.

スマホ再生できるビデオをエンコードする時の注意

Last updated at Posted at 2015-05-01

はじめに

ユーザ向き合いのサービスをする中で「ビデオ」というコンテンツの重要性は
日に日に高まっているように思います。
それにつられてビデオフォーマットで問題が起きて調べる、なんてことも多くなってきました。
今回は、そのあたりで調べたことをシェアしたいと思います。

私は先行する巨人の肩には積極的に乗る派なので、
他の私の投稿と同じく、勉強させてもらった他サイトのリンク多めです。
予めご了承ください。

そもそもビデオって

基本理解として読んでおくと良いのが、以下。
http://note.chiebukuro.yahoo.co.jp/detail/n335817
簡単にまとめておくと、

  • 一つの動画ファイルには「映像ファイル」と「音声ファイル」が含まれる
  • 「mp4」「wav」などは、映像、音声をまとめたコンテナ形式の一つ
  • 映像、音声それぞれの圧縮技術(コーデック)の規格として「h.264」や「aac」というのがある

これ以上は、上記URLやwikiを読んでもらうのが良いでしょう。
ともあれ、一つのビデオファイルには映像と音声が別々に含まれていて、
個別に圧縮技術がある、ということです。

スマホ対応するビデオのフォーマット

実は、OSや機種によって、それぞれ対応しているものが決まっています。
何でも良いという訳ではないのです。
たとえば、

ここを見ると分かるのですが、選択肢はそれほど多くないのです。
幅広いユーザを考えて、、となると自ずと選択肢はしぼられていて、だいたいは、

フォーマット:mp4
映像コーデック:h.264
音声コーデック:AAC

このあたりに落ち着くことが多いように思います。(実際これでの納入がすごく多い)

mp4エンコード

上述のように、端末やOSの制限で、NGな組み合わせのエンコードが存在します。
実際聞かれたときの調べ方と、注意ポイントを記載してみます。
 #以下は個人的な例ですので、もっと良い方法があったらぜひ教えてください

解析ツール

これが鉄板だと思います。
ほとんどのファイルを解析できて、一般的な設定内容は大体出てきますし、
結果をtxtやxmlで出力したり、といったこともできて、非常に便利です。
使い方は、このあたりが詳しいです。
これでOK/NGファイルを調べて、結果をdiffで取れば、概ね見当はつけられるはず。

つまずきポイント例

  • プロファイルとレベルの指定
  • ref-frameとB-frame
  • 最大ビットレート

結構色々なサイトを参考にさせてもらったので、列挙します。
各種エンコード設定の説明で参考になったのが、この三つ。
http://minamaro.blogspot.jp/2011/11/x264.html
http://www57.atwiki.jp/handbrakeguide/pages/25.html
http://movie.geocities.jp/ketsudan00/H264-01.html

細かい技術理解としては、このあたり。
http://d.hatena.ne.jp/leafcage/20120626/1340713483
http://ja.wikipedia.org/wiki/フレーム間予測
https://msdn.microsoft.com/ja-jp/library/ee341432(v=expression.40).aspx
http://freesoft.tvbok.com/movie_encode/mencoder/h264-main-high.html

現状(20150501時点)ですと、

Base Profile @3.1
ref-frames 3 / B-frames 0(MainProfileなら最大でref6 B3くらい)
最大ビットレート 1000kbps程度

このくらいが再生可能なものとして、割と見かけるようです。
とくにframe設定は、再生側の負荷に大きく関わるので、結構重要なようです。
(実際ヘンテコな値でエンコードすると、古め端末だと再生できないことが多々ある)

最後に

最近、本当にビデオフォーマットが増えたと思います。
一昔前はFlashが多かった印象ですが、技術的なオ●コンぶりからでしょうか、
変わりつつあるように感じます。
html5が広がったのと、手っ取り早くスマホでも素材を撮れる、見せられるというのも
影響しているのでしょうかね。

それにしても動画のエンコード技術は調べるとかなり奥が深く興味をそそられました。
また暇があったら調べてみようと思います。

18
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
20