« tsファイルを直接再生可能な機器 | トップページ | tsファイル処理で使用できるサポートアプリ »

2008.11.19

tsファイルを自動処理するバッチスクリプト各種

Friio(フリーオ)・HDUS改・PT1・Bon系・TvRock各まとめ記事のバッチスクリプト共通セクション。

●更新
2009/1/23
 セクション「PCの時刻を日本標準時サーバーを使って正確にあわせるためのバッチスクリプト」を追加。
 Windowsの自動時刻合わせ機能が微妙にエラーが
 多かったので作成。
 毎日放送されている番組を時刻あわせの為だけに
 録画予約しておき、終了後にこのバッチの実行で
 PC内蔵時計の時刻修正を行ない、ダミーで録画した
 ファイルは削除するように作った。
 とりあえず時刻修正に使用するアプリは桜時計を指定。
 (たぶん「起動→即時刻修正→自動終了系
  NTPクライアント」であれば他のアプリも使えると思う)
---
過去ログ:-2008/12まで


↓TvRockで使用するバッチの設置場所など。
 TvRockデフォルト設定の場合は
 %HOMEDRIVE%%HOMEPATH%\My Documents\tvrock
 に設置する事。
 録画後に自動でバッチ処理を行なう場合はTvRockの
 設定変更も忘れずに。
 タスクトレイのTvRockアイコン右クリック-「設定」-
 「プロセス」-「コマンドを実行する」で有効になった
 テキストボックスへ例えば、
  TN:TsFileSyori.bat "%1"
 と入力しエンターキーを押し、最後に
 設定画面を[OK]ボタンで終了しておくと
 次回録画分から指定したバッチが走り出す。
 ※バッチ内にpause行があると
  処理が終わらないので注意。
 
↓各batファイルをダウンロードする場合の注意点。
 「対象をファイルに保存」しないとうまくDLできません。
 zipアーカイブにするつもりは特にありませんので
 宜しくお願いします。
 この文章を理解できない場合はこのページの存在を
 スルーしてください。

↓使用は全て自己責任で。ソース改造などご自由に。
 個人間の再配布は自由。なにせ未熟者が作ったバッチです。
 サポート出来るほどの技量はありませんが、
 役に立つなら気にせずバンバン使って改造して下さい。

では本題。

●録画したtsファイルを自動処理するバッチスクリプト各種
制作基本ポリシー
※tsファイルをバッチスクリプトへD&D
  複数ファイルのドロップ対応。
※バッチスクリプトの出力結果は全て元のファイルが
 存在するフォルダに書き出される。
※元のファイルは削除しない方向で。
※出力ファイルは上書きモード。
※各.batファイルは初回使用前にメモ帳などで編集が必要。
 例えば.exeファイルへのパス指定など。

 バッチ使用時の注意点:
  ファイルをバッチへD&Dする時、ファイル名が
  全角文字A+全角空白+全角文字B.tsな場合、
  一番後ろの全角文字B.tsのファイル名しか認識しない
  模様。
  全角文字A+全角空白+全角文字B+半角空白+#1.ts
  のように半角空白が入ると正常処理される。
  WindowsでD&Dする時のバグ仕様かも。
  →コマンドラインから起動する場合は発生しないので
   録画アプリからの出力時に半角空白をファイル名の
   最後に設定しておけば回避可能なハズ。

・tsファイルのステータス情報を確認するバッチ。
 複数ファイルドロップに対応。
 tsファイルのエラーを調べるときに使用。
 ログを書き出すだけの処理。
 ログファイルは"元ファイル名_log.txt”で出力する。
 TsSelect.bat
 要TsSelect.exe

・tsファイルからHDストリームを抜き出す単純バッチ。
 TsSplitter.exeに -SEP3オプションを付けているので
 番組開始位置でファイル分割される。
 複数ファイルドロップに対応。
 SET行の -SEP3 を -SEPA 等に
 書き換えるとTsSplitterの挙動を変える事が出来る。
 TsSplitterHD.bat
 要TsSplitter.exe

・tsファイルから1セグ・SD・HDの各ストリームを
 分離出力する単純バッチ。
 複数ファイルドロップに対応。
 TsSplitter.exeに -SEP3オプションを付けているので
 番組開始位置でファイル分割される。
 TsSplitter.bat
 要TsSplitter.exe

・録画したtsファイルにscramblingエラーがあるか自動で
 判断しエラーを解除後、tsファイルから
 ストリームを分離するバッチファイル。
 カードリーダー必要。
 複数ファイルのドロップ対応。
 環境に合わせて.batファイル内の.exeのパス修正必要。
 詳しくはバッチファイル内のテキストを読んだら
 大体の流れがわかるはず。
 TsFileSyori.bat
 要 TsSelect.exe/TsSplitter.exe Ver1.16 以上
  /Multi2Dec最新版
 ※dropエラーがあるMPEG2-TSファイルを処理する
  場合はMPEG2Repairを通してから
  再生すると良いらしい。
 ※手動でscramblingエラーを解除したい場合は
  Multi2Decをダウンロードして実行。
  GUIで操作してスクランブル解除出来るらしい。
  要カードリーダー。

・MPEG2-TS→MPEG2-PS変換バッチ
 複数ファイルのドロップに対応。
 使用法は.bat内のテキスト参照。
 →音声をmp2a 256kbpsに変換するバージョン
  Ts2PsSyoriVLC.bat
  要VLCメディアプレイヤー
  ※エラーやスクランブルがあるMPEG2-TSファイルを
   処理すると変換途中で止まるので、一つ上で
   挙げたバッチスクリプトやMulti2DecMPEG2Repair
   でエラーを修正しておく。
 →音声をAACで維持するバージョン
  Ts2PsSyoriRemuxTS.bat
  要RemuxTS

TSReader Liteで調べたTSファイルのPIDを
 指定してmpgファイルを作成。
 TSファイルからのPID抽出支援用バッチ。
 出力ファイル名は「元ファイル名.mpg」。
 1つめのPIDパラメータ 0x0000は入力不要。
 PIDは1個入れる都度エンターキー。
 入力するPIDがなくてもエンターキー。
 何故か複数ファイルドロップ対応。
 tsファイル1個処理するごとにPIDパラメータを
 聞いてくる。
 TsSelectPIDs.bat
 要TsSelect.exe

・同じ番組を録画したtsファイル2つの
 正常パケットをtsファイルとして再出力するバッチ。
 TsMerge.bat
 要tsmerge.exe

・TsRenameで新ファイル名にリネームするバッチスクリプト。
 TsRename.bat
 要TsRename
 ※ソースファイルをリネームするので注意。


●EpgDataCap_Bon(EpgTimer_Bon.exe)で「tsファイルを自動処理するバッチスクリプト」を使用するためのバッチ。
制作基本ポリシーは上のセクションと同じ。
※このセクションのバッチスクリプトは
 EpgDataCap_Bon(人柱版8.56まで)用。
 目的に合わせて以下のバッチファイルを
 EpgTimer_Bonの「録画後実行bat」に設定する。
※人柱版9以降はバッチ内の
 「$FilePath」を「$FilePath$」へ変更の必要あり。
※各.batファイルは初回使用前にメモ帳などで編集が必要。
 例えば.exeファイルへのパス指定など。

 ・EDCB_After_AutoRun.bat
  tsファイル自動処理へ処理を渡すだけの単純バッチ。
  ※初回使用前、環境に合わせて修正必要。
  bat内の説明も参照のこと。

 ・RenameEDCBでファイルをリネーム後
  tsファイルを自動処理するためのバッチスクリプト。
  EDCB_AutoRun_after_Renaming.bat
  要RenameEDCBパスcapusb
  ※リアルタイム視聴時などでEpgTimerBonから
   プログラム予約の時間指定録画を行なった場合に
   .program.txtが出力されない場合の処理を追加。
   →.program.txtが無い場合はRenameEDCB処理を
    パスするようにした。

 ・tsrenamecで新ファイル名を生成して元ファイルから
  リネーム後、tsファイルを自動処理するバッチスクリプト。
  EDCB_AutoRun_after_tsrenamec.bat
  要tsrenamecパスcapusb
  ※ナンバリング用フォルダは元ファイルの
   フォルダ配下に作成されるようにした。
  ※リネーム後のファイル名が既に存在する場合は
   リネーム処理をパスしてtsファイルの自動処理を
   行なうようにした。

 ・TsRenameで新ファイル名にリネームするバッチスクリプト。
  リネームするだけの単純バッチ。
  EDCB_TsRename.bat
  要TsRename


●PCの時刻を日本標準時サーバーを使って正確にあわせるためのバッチスクリプト
※バッチの最後に録画したダミーファイルを削除する
 仕様なので、ファイルの削除に理解のある方のみ
 利用いただくよう宜しくお願いします。
 OSの標準コマンドと桜時計のみ使用しています。
 バッチがちゃんと動作するかは環境によって変わります。
 全て自己責任で。
・一般用(TvRockなど用)
「TvRockNTP.bat」をダウンロード
桜時計
バッチの名前がアレなので簡単に説明。
ダウンロードしたバッチは解凍した桜時計の
環境に合わせて書き換えて保存。
TvRockの設定-「プロセス」タブ-「コマンドを実行する」
で入力枠に
時刻合わせ:TvRockNTP.bat "%1"
をコピペしてOKボタン。
%HOMEDRIVE%%HOMEPATH%\My Documents\tvrock
へ 保存したTvRockNTP.bat をコピーor移動。
あとはTvRockで毎日何かの番組をダミーで予約録画。
録画後実行後コマンドにこのバッチを指定すると
時刻を合わせ、さらにダミーで録画したファイルを
削除する仕様。
もっと別の賢いやり方もあるような気がしたんですが
思いつきでサクっと作ってみました。

・EDCB用(8.56まで)
※人柱版9以降で使用したい場合はバッチ内の
 マクロ部を"$FilePath"→"$FilePath$"に変更すれば
 そのまま動くと思います。
EpgDataCap_Bon専用バッチスクリプト。
EDCBからファイル名を受け取って上記の
「TvRockNTP.bat」を呼び出すだけのスクリプト。
「EDCB_NTP.bat」をダウンロード
TvRockNTP.bat
  桜時計
設置方法は
1:桜時計を適当なフォルダへ解凍。
2:TvRockNTP.batを適当なフォルダへダウンロード
 「1:」で保存した桜時計の環境に合わせてバッチ内を
 修正して保存。
3:ダウンロードした EDCB_NTP.bat をメモ帳などで編集。
 「2:」のTvRockNTP.batを保存した場所に合わせて
 EDCB_NTP.batをメモ帳で修正・保存。
4:EDCBで絶対に予約が重ならない時間帯を狙って
 毎日録画予約。終了後バッチに「EDCB_NTP.bat」を
 指定する。
以上。

※重ねて記載しますが、バッチの最後に録画した
 ダミーファイルを削除する仕様なので、ファイルの
 削除に理解のある方のみ利用いただくよう
 宜しくお願いします。
 OSの標準コマンドと桜時計のみ使用しています。
 バッチがちゃんと動作するかは環境によって変わります。
 全て自己責任で。


●テストで作ってみた
・cciconvを前処理に使用したTsSplitterバッチ
 複数ファイルドロップ対応。
 TsSplitterHD188.bat
 要cciconv/TsSelect.exe
 処理後のファイルサイズがほんの少しだけ
 TsSelect処理だけより小さくなる事がたまにある。
 よくわかりません。

|

« tsファイルを直接再生可能な機器 | トップページ | tsファイル処理で使用できるサポートアプリ »

「パソコン・インターネット」カテゴリの記事

「趣味」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/35143/43162839

この記事へのトラックバック一覧です: tsファイルを自動処理するバッチスクリプト各種:

« tsファイルを直接再生可能な機器 | トップページ | tsファイル処理で使用できるサポートアプリ »