なにかに文句を言ったり写真を撮ったり、ごくたまに修理(改造・破壊)記事を書くblog。

    2011年1月25日火曜日

    エンコードの作法 - わけてつぶしてくっつける

    エンコードってのは謎だらけな世界だと思っているのです。単純に理解できていないから謎になるわけです。それにしても複雑怪奇な手順と作法があるらしく一筋縄では行かないものです。
    音と映像を分け、映像をエンコードし、その圧縮したものと音をくっつける。アナログな頭ではめんどくさいと思うけど、エンコードにはこの手順が必要らしい。


    試しに作った死屍累々。別にブラタモリをそこまでして残したいわけでもないが。



    以下、AVIVOのフロントエンドA's video converterを使った場合のエンコード手順一例。
    今ひとつ理解不足なのでアホなことをしているかもしれない。

    ◆エンコード条件

    ・PS3で快適に再生できること
    ・CMカット等は考慮しない
    ・容量が1/3~程度、画質もそこそこで

    ◆短時間番組の場合(30分程度)

    PT1の録画ファイルtsの場合、BonTsDemuxを使い映像のm2vと音声のaacもしくはWAVに分ける。

    BonTsDemuxでtsをpsのmpegにしただけでは、エンコード後に音ずれが発生してしまったため、psは使用しないほうがよい。

    m2vをA's video converterでh.264のmp4にする。
    エンコード結果の.mp4と.aacをYambを使い Create → Click to create an MP4~で合成(mux)する。
    以上で、PS3で再生できるmp4ファイルができる。
    エンコードを含めた作業時間は30分弱。3.65GBが1.24GBとなった。

    ◆長時間の番組の場合

    AVIVOの仕様かバグによりh.264 mp4では2GB制限があり、エンコード後のファイルサイズが2GBを越えると壊れてしまう。そのため、長時間のエンコードにh.264 aviを利用する。

    しかしプレイヤーがPS3なので、aviは避けたい。PS3で再生できる場合もあるが基本的には再生できない。PS3 Media Serverを通せばaviも再生できるけれどシークが遅く使いづらい。

    そこでまたYambを使う。A's video converterでエンコードしたh.264 aviから映像部分を Editing → Click to Exitract~で分離。

    音声部分は.tsからBonTsDemuxで分離した.aacそのままだと途中で無音になったりするので.wavとして分離してiTunesなどでエンコードして.aacにする。
    単純なステレオ放送など、そのままBonTsDemuxで分離した.aacを使っても成功する場合もある。二カ国語の後や、5.1chの場合は失敗する場合もある。※今回5.1chそのまま生かす方法は調べていない

    .aviから分離した.h264ファイルとエンコードした.aacを用意し、Yambで Create → Click to create an MP4~で合成(mux)する。

    色々やっていくうちにAVIVOの短時間という利点が薄れまくる気がしないでもないが、ちゃんと再生できるファイルを作る上で、急がば回れという通り道であった。
    これを常用するかどうかはともかく、作業一例のメモということで。

    以前の記事:AVIVO でAVCエンコードはなにかと惜しい - Radeon HD 4850でエンコード

    2 件のコメント:

    1. ichigo様

      TS→MP4をどうにか自動化しようと試行錯誤していたのですが、このページのお陰で先が見えそうです!
      長時間の問題もA's Video Converter の Ver4 から対応されたようですし、BonTsDemuxとYambでなんとかなりそうですねっ。
      ありがとうございました。

      返信削除
    2. >匿名さん
      avivoを使ったエンコードもバージョンアップで実用的になりつつあるようですね。
      拙い作業手順でしたが参考になってよかったです。

      返信削除