まるも氏の作ったMPEG-TS分離用のソースコード。Windows用だがソース自体は互換ヘッダを用意することで簡単にUNIXでもコンパイルできる。 実は移植済みコードが、DTV関連ツールにuploadされてることを 知らなくて、自分で移植 してしまっていた(^^;アフォだ。
で、本題。どうも初心者スレなどをチェックしていると「tsselectでストリームを検証する」という話が散見されるのだが・・・軽くソースを読んだ限り、tsselect.cがやっているチェックというのは
これだけ。
ドライバを書いたことがある人はピンとくると思うが、 DMAバッファなどは 188バイトアラインで用意する 場合が 多い。OFDM復調後のFIFOから読み出す場合は、こうしておいた 方がいろいろ都合が良いからね。
言い換えると、割り込み処理ミスや高負荷でドロップする場合は 188バイトの倍数で落ちるわけだ。この場合、 tsselect.cでは何にもチェックできない お・・・ 試しに「真ん中10分ぶん抜けた」ストリームを 作って食わせてみたけどprocessing: finishだったよ。 実に1.2GB欠落したファイルなわけだがエラーゼロだ(笑)
ああ、誤解しないでくれ。tsselectに文句をつけてるわけじゃない。 tsselectはあくまで「ストリームをPIDで分離するツール」であって 「検証ツールではない」ってことが伝わればイナフです。 初心者スレで検証ツールであるかのごとく扱うのが間違いだってこと。
ARIBストリームの正当性検証は、俺のdumpeitやperlrtmp氏のrec.plが やっているように「TOTをデコードし時刻補正情報のインクリメントを観察する」か、一般的なデコーダがやっているように「エレメンタリーまで解いてPTSインクリメントを観察する」か、しないとダメですな。 必須PSI/SIのservice description tableのCRCチェックも有効かもしれない。
まあどちらにせよ撮り漏らしは復活する方法ないんで、 アナログ的な手段(アンテナ経路の見直し、ブースターの交換、ブースター電源供給の見直し、ACグランドをとる)に力入れたほうがいいかもしれないな。
いや、全部与太話ですけどね。
あー、リスト見て大体ヲイラとほぼ同じもん録画してる
ように感じましたが、その録画ペースだと1TB積んでも
1クール保ちませんよ。ワンセグとかで録ってるのもある
から辛うじて1クールで収まるかどうかってとこですね。
今からBDドライブ買うか、ポートマルチプライヤ対応の
eSATAボードとどかどかHDD買うか(ってどかどかHDD
買ってませんでしたっけ?)、片っ端からH.264/AVCに
エンコしまくる24時間稼働鯖立てるかの三択プランを
練っておきましょう。なぁに、もう21万円(以下略
しばらくアニメ熱ひいてので・・・・
TSでとっとくのは(想像はできたけど)非現実的ですなあ。
一応ここ数日のffmpegの改造でドロップさえなければ全自動で
AVCになるようにはなったんですけどね。今度はこのAVC/MP4を
いったいどこに保存しておくんだという話がっががあ
まぁ、BDもメディアが安くなってきたんでBDに焼けば
そう非現実的でもないんですけどね<TS収録
地デジなら1話あたり3GB計算で1枚に7話くらい入るので
2枚あれば1クール収まりますし。BSだと3枚ですかね。
>エンコした動画の保存先
そりゃとりあえずはテンポラリのHDDに保存するのが
一番無難でしょうねぇ。で、頃合いを見てDVDに焼くと。
Linuxならそんなに小細工しなくても全自動化はでき
ますよねぇ。メディアの入れ替えはともかく。
MP4/AVC化したものなら1TBもあれば楽勝だと思うので
さっくりHDD買いに行っちゃうのがいいと思いますよ。
tsselectはTSヘッダの中にあるカウンタの非連続性のチェックはしていませんでしたっけ?
出力先ファイルを指定しなかった場合の動作です。
信頼性が無いチェック方法であるというのはその通りなのですけれど。
processing: finishはただ操作が終わったというだけなので何も意味しないはずです。
>TSヘッダの中にあるカウンタの非連続性のチェック
連続性指標はキー局間のATM伝送などで冗長性を確保したいとき、そのチェックに使うものであって、タイムスタンプ的な情報じゃないんですよ。そもそも。
確かにカウントアップと重複チェックコードは
tsselectにありますけど。
で、シーケンシャルにファイルを処理する場合において
パケット重複がおきたりすることはマズないでしょうから、
個人的にはこのチャックは不要だと思うですが・・・・
まあ、俺もARIBの規格書全部読んだわけじゃないんで、
間違ってるかもしれませんが、少なくとも録画したTSの
ストリームチェックにはならんですな。
ああ、言い方が悪いですん。もちろんこんなので
不連続検出されたら、当然そのストームはヤバイですよw
ただ検出されないからといってまともなTSとは呼べない、
ってことです。