LoginSignup
1
0

More than 3 years have passed since last update.

同じ拡張子なのに動画が再生されない

Posted at

やりたいこと

web上で動画を再生したい

問題

.mp4や.movの拡張子がついているファイルを再生しようとした時に再生できるものとできないものが存在する。

結論

ファイル形式(拡張子)で判断するのではなく、コーデックをブラウザが対応するものに変換する。


動画の構造

動画は大きく映像と音声という2つの構造でできている。
動画は容量が大きいファイルなので圧縮してやる必要がある。
(基本的に動画を録画した時点で勝手に圧縮されたファイルが作成される)

コーデック

圧縮する行為をエンコード
圧縮したままでは再生できないので、圧縮をもとに戻すのがデコードと呼ぶ。
エンコードとデコードの2つを組み合わせてコーデックと呼ぶ。
動画の場合は映像と音声の2つのコーデックが必要になる。

コーデックの種類

代表的な映像コーデック
MPEG-4・ MPEG-1・MPEG-2・ Xvid・Divx・H.263・H.264・HEVC(H.265) など

代表的な音声コーデック
MP3・AAC・AC-3・FLAC・LPCM・WMA など

動画が再生されない原因

映像が再生されないということは映像コーデックが対応していないブラウザである可能性がある。
映像コーデックをChromeなどブラウザの規格に合わせる必要がある。
逆に音声が流れないという場合は音声コーデックを見直す必要がある。

コンテナ

.mp4や.movはコーデックの組み合わせるためのコンテナと呼ばれるもの。
コンテナごとに扱えるコーデックが決まっている。

.mp4
映像: MPEG-4、H.263、H.264 など
音声: MP3、AC3、AACなど

.mov
映像: H.263、H.264、HEVCなど
音声: MP3、AAC 、FLAC など

具体的なケース

自分のケースで言うと、.movのコンテナで H.264とAACのコーデックだと正常に再生されるけど、.movコンテナ HEVCとAACのコーデックだと映像が再生されないということが起きた。

この場合はHEVCのコーデックを変換して、H.264などにする必要がある。

まとめ

1つのコンテナでも複数のコーデックを扱うことができるので、.mp4だからと言って全て再生できるとは限らない。コーデックがなんなのか?ブラウザはどのコーデックに対応しているのか?を確認する。

参考

コーデックとは? 動画を扱うなら知っておきたい基礎知識|ネットワークビデオレコーダー(NVR)

1
0
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
1
0