TsCutter Ver0.08とか

 朝、DEEN宅にて起床。大開のマクド朝マックのソーセージエッグマフィンセットをケータイクーポンで食ってから出社。

 昼、吉野家で牛丼弁当並を買って帰還し、昼食。

 昨日作ったTsCutter Ver0.05でリネームできるのがTSファイルだけだと整合性の面で不便だったので、GOPリストとログファイルもリネームするようにしてみた。

 ついでに既にリネームされてたら(末尾が「)」で終わっていたら)リネームしないようにした。ただ、それだと末尾が「)」で終わるようなファイル名付けをしているTSファイルで不便なので、強制的にリネームする「-rf」オプションを付けてみた。例えば、sample.tsをリネームしてsample (00h30m00s).tsになったものをリネームするとsample (00h30m00s) (00h30m00s).tsになる。

 あとは既にリネームされていても末尾の「 (」〜「)」を取り去って、再び録画時間やエラーの有無を付加する「-rr」オプションも付けてみた。

 それからTSファイルの分割で、どこから分割するかを指定できるようにしてみた。先頭からの時間を追加で指定すると、そこから指定した時間分だけを1つだけ分割出力してくれる。(例えば、tscutter sample.ts 00:30:00:000 01:00:00:000と入力すると、先頭から1時間経った箇所から30分だけを切り出してsample_000.tsとして出力する)

 これで、よみうりテレビのMONDAY PARKからGA 芸術科アートデザインクラスだけを切り出すことが出来る(笑)

 Ver0.07から少しだけ仕様変更。録画時間を表示する際、加えてカッコで録画開始時間と録画終了時間を表示するようにした。これらはGOPリストで最初に現れる放送時間と最後に現れる放送時間なので、その差は録画時間と一致しない場合がある。

 また、リネームする際に付加する録画時間のフォーマットを(01h30m00s)のような時分秒の表記から(90min)のように分単位の表記に変更した。秒は四捨五入している。

 以下、2009/09/17追記:Ver0.08からリネームする際に付加する録画時間のフォーマットを(90min)のような英字表記から(90分)のような日本語表記に変更した。既に(30min)のようにリネームしたものは、再リネームオプション(-rr)で(30分)のように付けなおせるが、以下のようにエラーの有無がある場合は若干ゴミが残るので注意。

  • 開始位置から指定時間だけ切り出す処理は上手く動いてないっぽい。
  • 再リネームオプション(-rr)はエラーの有無がファイル名に含まれているとゴミが残るっぽい。(sample (31分)(Drop=1).tsだとsample (31分 (31分)(Drop=1).tsとかになってしまう)

 以下、2009/09/18追記:どうやら分割が上手く動作しないのは、ファイルアクセスに使っている関数(fseekはlong型でファイル位置の指定を行う)が4GB以上のファイルに対応できないのが原因っぽい(汗)>4GBはlong型(32ビット)で表せる最大の数値

ダウンロード

TsCutter Ver0.08

  • CRC32: CC96FC76
  • MD5: 40EB29A41526391647590917BFE27949
  • SHA-1: AA3726D038202F984CCC728E9046F8C118AD0715


TsCutter Ver0.07

  • CRC32: B3BC706A
  • MD5: 4E41356D7FBCB591E456C03A2B2C5A96
  • SHA-1: 2623CB80BDF07B989AE98DCE2E281BA42038473E

TsCutter Ver0.06

  • CRC32: 525590A6
  • MD5: AFCE5FB5E022FB4FA854B288BBBA0765
  • SHA-1: 280B0375353DFAFE47823F7DEA6F415C1FA44060