nicolish!
コーデック
最終更新:
nicolish
-
view
ひとつ上のうp主になる01
01.観られるAVIと観られないAVI
動画にはMPGとかAVIとかFLVとか、色んな形式がある。
再生ソフトや編集ソフトによって、どれを扱えるかは決まってる。これは常識。
でも「AVIなのにメディアプレイヤーで開けない><」とか、経験した事ない?
見た目には同じAVIだったとしても、中身は違う場合があるのです。まずはその話から。
再生ソフトや編集ソフトによって、どれを扱えるかは決まってる。これは常識。
でも「AVIなのにメディアプレイヤーで開けない><」とか、経験した事ない?
見た目には同じAVIだったとしても、中身は違う場合があるのです。まずはその話から。
いわゆる「動画」は、大雑把に言って音声と映像の2つの要素から成ります。
ややっこしいので、以下映像部分だけを指す場合は「映像」って言う事にします。
音声と映像を合わせたものを「動画」って言う事にしましょか。
ややっこしいので、以下映像部分だけを指す場合は「映像」って言う事にします。
音声と映像を合わせたものを「動画」って言う事にしましょか。
音声と映像をまとめて動画にする時、映像と音声を一緒にしておくための「箱」が必要になるのです。
この「箱」は、色んなソフトで使えるようにするために形が決まってます。
これがAVIとかの動画形式。FLVもこの「箱」。専門用語でも「コンテナ」と言います。
この「箱」は、色んなソフトで使えるようにするために形が決まってます。
これがAVIとかの動画形式。FLVもこの「箱」。専門用語でも「コンテナ」と言います。
AVIが再生できない時ってのは、箱はAVI(知ってる!)だけど、中身の映像がよく分からない形式である場合が多い。
AVIは単なる「箱」なので、中身がなんであってもブチ込めるわけだ、便利。
AVIは単なる「箱」なので、中身がなんであってもブチ込めるわけだ、便利。
プレイヤーはAVI形式は分かるので、後は映像がナニモノであるかが分かれば再生できるわけ。
これを担当するのが、みんな良く聞く「コーデック」。
これを担当するのが、みんな良く聞く「コーデック」。
ここまでのまとめ
- AVIやFLVは「箱(コンテナ)」であり、中に音声や映像が入っている
- コンテナの形式と、中身の形式は基本的には無関係。
- コンテナを開くのはソフトの役割だけど、中身を読むのはコーデックの担当。
02.コーデックと圧縮形式
コーデックってのは、圧縮されて箱の中に入ってる映像なり音声なりを読む担当。
圧縮する方もだいたい同じプログラムなので、こっちもひっくるめてコーデック。
あー、圧縮ってなんだっけ?
圧縮する方もだいたい同じプログラムなので、こっちもひっくるめてコーデック。
あー、圧縮ってなんだっけ?
圧縮というのは、バカでかい容量を持つファイルを軽くするために何とかする事。
人間の感覚では違いが分からないような情報を削ったりするんだけど、詳細は割愛。
人間の感覚では違いが分からないような情報を削ったりするんだけど、詳細は割愛。
音声の圧縮、と言えば有名なのがごぞんじMP3。
無圧縮のWAVをMP3に変換すると1/10くらいになる。ちょう便利。
無圧縮のWAVをMP3に変換すると1/10くらいになる。ちょう便利。
で、映像にも同じように圧縮技術があるのだわ。
DivX、VP6などはこの圧縮方法(と、それによって出来るデータ形式)の名前。
DivX、VP6などはこの圧縮方法(と、それによって出来るデータ形式)の名前。
DivXやVP6は映像の圧縮形式。
だから「中身がDivXのAVI」とか「中身がVP6のAVI」とかいう形で取り扱う事になる。
DivXには同名のコンテナ(拡張子.divx)があるけど、マイナーなのでとりあえず忘れろ。
だから「中身がDivXのAVI」とか「中身がVP6のAVI」とかいう形で取り扱う事になる。
DivXには同名のコンテナ(拡張子.divx)があるけど、マイナーなのでとりあえず忘れろ。
え?WMVとMPGをスルーしてる?
いいところに気が付いた!この辺はややっこしいんだよね…
いいところに気が付いた!この辺はややっこしいんだよね…
教科書に載ってる「コラム」的に考えて。わかんない人は読み飛ばした方が混乱しない。 WMV形式の動画、ってのは、映像がWMV形式で、音声がWMA方式で、コンテナがASF形式で、って感じ。多分。自信ない。 MPGってのは、映像圧縮形式の名前でもあり、コンテナでもある。 だから、「WMV形式で映像を圧縮したAVI」ってのも作れるし、「MPEG方式で映像を圧縮したAVI」も作れる。 コンテナは変わらないけど、映像圧縮形式の方は進歩してるんで、MPEG-2とかMPEG-4とか言わないとどれの事かわかんないんだけど。コーデックも違うし。
03.FLVとは?VP6とは?
ようやく本編キタ━━━━(゚∀゚)━━━━ッ!!
FLVはコンテナです。VP6は映像形式。以上。
冗談だお。
FLVはコンテナ。正式名称はFlash Video。
中身に結構うるさくて、許される形式がとても少ない。というか1つしかない。
FLVはコンテナ。正式名称はFlash Video。
中身に結構うるさくて、許される形式がとても少ない。というか1つしかない。
- FLV1
- 映像はH.263フォーマットしか入らない
- 音声はmp3か無圧縮(PCM)しか入らない
- FLV4
- 映像はVP6フォーマットしか入らない
- 音声はFLV1と同じ
単にバージョンが違うだけなので、普通はどっちもまとめて単にFLVと呼ぶ。
分かってきたね!
動画をエンコするとき(nicowikiのffmpegセット(flvenc.zip)の場合)
動画をエンコするとき(nicowikiのffmpegセット(flvenc.zip)の場合)
- 「動画をVP6でエンコしてAVIにして」
- 「MP3とAVIを変なバッチファイル(.bat)でFLVに結合」
してると思うんだ。
これは要するに、
- 映像部分を先に用意(圧縮)して、とりあえずAVI箱に突っ込んどいて
- バッチファイル(.bat)でFLV箱に移し変えてる
わけ。だから後者の処理は一瞬で終わる。
映像を逆さまでエンコードしてるのは、この箱詰めを行なうソフトにバグがあるから。
(いくつかのソフトが絡むわけだけど、どいつが悪いかは知らない)
バグさえなければそんな工程は本当は必要無い。
(いくつかのソフトが絡むわけだけど、どいつが悪いかは知らない)
バグさえなければそんな工程は本当は必要無い。
「FLVからAVIの変換をする時、中身をいじらずに箱だけ変えれば劣化しないんじゃね?」と思った人、正解!
この場合、変換後は「映像VP6、音声MP3のAVI」になるわけだ。
この場合、変換後は「映像VP6、音声MP3のAVI」になるわけだ。
この変換は、たとえばFLV Extractのようなソフトで行なえる。
mencoderでも、バッチファイルさえ書けばできる。
hugflashによる抜き出しは、VP6からいっぺん無圧縮AVIに書き出しちゃうから意味がちょっと違う。
mencoderでも、バッチファイルさえ書けばできる。
hugflashによる抜き出しは、VP6からいっぺん無圧縮AVIに書き出しちゃうから意味がちょっと違う。
ちなみに、時期FlashPlayerでは音声と映像の圧縮形式が進化する。
つまり、圧縮形式がVP6、MP3じゃなくなる。
(FLVのバージョンが上がる、って事なのかな、良く分かんないや)
つまり、圧縮形式がVP6、MP3じゃなくなる。
(FLVのバージョンが上がる、って事なのかな、良く分かんないや)
なので、そのうちニコニコやようつべでもっといい音/映像が見られるようになる。
と思う。
と思う。