2011年10月14日金曜日

ffmpegをどうしても通らない地デジファイル (未解決)

mpeg2tsで、どうしてもffmpegを通らない奴がありまして、エラーのメッセージを見ると、どうも映像と音声のストリームを途中でとりちがえてるらしい。何を言ってるんだって?筆者もそう思います。ええ。

具体的にはこうなります

[mpeg2video @ 0x17c4620] mpeg_decode_postinit() failure
    Last message repeated 12 times
[mpegts @ 0x17bc400] probed stream 2 failed
[mpeg2video @ 0x17c4620] mpeg_decode_postinit() failure
[NULL @ 0x19d9f60] start time is not set in av_estimate_timings_from_pts
Input #0, mpegts, from '仮面ライダーフォーゼ 第02話 「宇_宙_上_等」 @0^20110911^0800^0830_HD-1.m2t.BAD':
  Duration: 00:30:00.07, start: 59680.934033, bitrate: 13790 kb/s
  Program 1064
  No Program
    Stream #0.0[0x112]: Audio: aac, 48000 Hz, stereo, s16, 184 kb/s
    Stream #0.1[0x111]: Video: mpeg2video (Main), yuv420p, 1440x1080 [PAR 4:3 DAR 16:9], 20000 kb/s, 34.25 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0.2[0x114]: Data: [0][0][0][0] / 0x0000
    Stream #0.3[0x115]: Data: [0][0][0][0] / 0x0000
At least one output file must be specified
最後に注目。

  • #0.0が音声で
  • #0.1が映像だ、と言ってますが、

そんな筈はありませんし、上手く言ってる奴はこんな事は言いません。

これはひょっとして、mpeg-ts のdrop frameとやらが悪さしているのか?
一旦 TsSplitter.exeには掛けてますが、もう一度通してみる。

EITフラグ:オフ/ECMフラグ:オフ/EMMフラグ:オフ/HD○,SD○○○,1SEG×
0.m2t
  ( 3,103 MB/ 3,103 MB) 100%
  0_HD.m2t
    pid=0x0000, total=   18020, drop=  0, scrambling=0, biterror=0
    pid=0x0100, total=   31119, drop=  0, scrambling=0, biterror=0
    pid=0x0111, total=16160639, drop=  0, scrambling=0, biterror=0
    pid=0x0112, total=  256124, drop=  0, scrambling=0, biterror=0
    pid=0x0114, total=    3143, drop=  0, scrambling=0, biterror=0
    pid=0x0115, total=     360, drop=  0, scrambling=0, biterror=0
    pid=0x0428, total=   36038, drop=  0, scrambling=0, biterror=0
    size=3,030,296 KB, scrambling=0
なんともないなあ。
drop frameが悪さしてるなら、噂のmpeg2repair.exeとやらを試そうと思っていたのですが。って言うかmpeg2repairも動きません。もちろん ubuntu10.10のwine1.3で、ですが。
  1. localspl.dllが無い。と言われる → ~/.wineを一旦削除するしかないらしい。
  2. 一旦削除する。やはり動かない。→ 今度は plugplay.exe が無いと言われる。
  3. 検索してみると、悩んでいる人は多いらしい。 http://forum.winehq.org/viewtopic.php?p=57746&sid=a8caa2db441ab5796ccb46266b7eb013 fool appsがどーたらこうたら、regeditでどーたらこーたら。
  4. 挫折。←いまココ
vlcで再生する分には全く問題ありません。何かが起こってるのでしょう。しかもffmpegのdemuxと相性が悪い何か。
一旦 demux してみるか?とmpegtxとやらをビルドしてみます。

どっち道駄目な感じ。
$ /usr/local/bin/mpgtx -d 仮面ライダーフォーゼ\ 第02話\ 「宇_宙_上_等」\ @0\^20110911\^0800\^0830_HD-1.m2t.BAD
仮面ライダーフォーゼ 第02話 「宇_宙_上_等」 @0^20110911^0800^0830_HD-1.m2t.BAD is not a valid mpeg file
根本的に何かを間違えてる臭い。