Smart Cutter 公式サイト

◆ フレーム単位でのカットが可能

◆ 地デジのAAC音声はそのままカット可能

◆ PIDはそのまま維持出来る。このソフトでPIDは選択できない

◆ カット後のファイルはWindowsMediaPlayerで再生できないことがある

◆ 出力ファイルのフレーム数が増される。

◆ なぜかSmart Cutterでカットされたあとのファイルの映像ビットレートが20000kbpsから15000kbpsに減らされる。意味不明。

◆ ソフト自体の使い勝手がものすごく悪い。クセがある。

無料版は使いものにならない。結合部分に変なの(ウォーターマーク)が入る。

サンプル
smartCutter
(1フレーム目)
動画をダウンロード(111MB)

smartCutter p


このソフトに関してはまだ結論が出ていない。
フレーム単位で編集でき、PIDも維持できるのでソースを維持する点では素晴らしいが、解せないところがいくつもある。
しばらく使ってみてはいるが、納得のいかない部分が多すぎるため使用は控えている。
特に結合部分が飛ぶ感じになったり、再生が止まったり、エラーを起こしたり、このソフトを使っていてあまり良いことがない。
要研究。


<やっと見つけたSmartCutterの使い道>

ちょっと見てくれ。
PT2で録画をすると、たまにこういうファイルが出来上がる。

over time no future

第3話に注目してもらうと分かるとおり、30分番組にもかかわらず19時間というこの長さ。
キョンシーで19時間ではさすがのテンテンもババァになってしまうことだろう。

ファイル自体は普通にMediaPlayerで再生できる。
でも、再生時のシークバーも一向に進まずおかしくなるし、これでは満足出来ない。
出来るわけがない!

しかし!!
この時間の長さがおかしくなる問題をSmartCutterで解決できることに気がついた。

やり方は簡単。

ファイルを選択してボタンを押すだけ。

  over time no future fix
見てくれたまえ。気持ち悪いのがなくなった。

多少容量に差があるものの、ファイル自体がいじられた気配もない。
ちなみに言うと、MurdocCutterでも、HDTVtoMPEG2でも駄目だった。

例によってビットレートが減らされてしまうというナゾは残るが、実害のある時間問題よりはマシなので一度SmartCutterを通してみるのも良いのではないだろうか。

これから、SmartCutterにはこのために活躍してもらおう・・・。

あ、もちろん再生は何も問題なくなることは言うまでもない。


<SmartCutter フレーム数のナゾ>

通常、15秒CMのフレーム数は450フレーム(プラマイ1)。
と言うことは、このCMは60秒で1800フレームになるはず。

ところがSmartCutterでカットすると異様にフレーム数が多い
このファイルは1806フレーム

ちなみに、TMPEG3でカットした場合、1799フレームでほぼ計算通り1800フレーム
カットの考え方が異なるためなのだろうか。

どちらかと言うと開発思想とかそういう方面の話なのだろうか?

こういうのは非常に面白いところだ。

おそらく、音声を無変換でカット出来るのは、この余分に挿入されるフレームに秘密があるのだ。
と、みている。


< SmartCutter ビットレート減のナゾ >

現在こちらのナゾはわかっておりません。
他のソフトではこの現象は一切起こらないから問題なのです。
ただ単にビットレートの計算が大雑把過ぎるのか?
何らかの国際規格に則っているからか?

ナゾが多いSmartCutterなのです。


<SmartCutter 再生時のドロップ>

SmartCutterでカットした動画をTVtest+BonDriver_Fileで再生すると、結合部分でドロップを起こす。
さらに、音と映像が少し飛ぶ感じになる。

allPIDdrop

大体27~30くらいドロップする。
これは余分に挿入されるフレーム数分、TVtestがドロップして再生するんだろうか?

 

少し検証してみよう。

結果、いきなりつまずいた(笑)

サンプル
aoi
動画をダウンロード
(このファイルはWindowsMediaPlayerで再生すると途中でエラーを起こす可能性が高いです。)

このファイルは、放送時期は別日・チャンネルは日本テレビ・450フレーム×3本のCMをSmartCutterでぴったり連結したもの。
出来上がったファイルをTMPEG3で読み込ませてみると、1357フレームある。
本来1350フレームでなければならないファイルのどこに7フレームも挿入されているのだろうか?

cm450-450-450SmartCutterallPID

先程、ファイルとファイルの連結部分でフレームを稼ぐ分、ドロップが発生すると予想したが・・・

cm450-450-450SmartCutterallPIDfs

写真はTMPEGenc3でフレーム単位で動画を表示したもの。
まず頭の8フレーム(00.23まで)に全く同じコマが繰り返され、9フレーム目(00.26)から動作が始まっている。

 

この時点で既に余分7フレームな数字となっている。1フレームは誤差だろう。
TMPEGencのフレーム数表示はある程度四捨五入されていると思われるので、だいたい近い数字に思える。

 

次に、各CMのつなぎ目フレームを見てみると・・・

cm450-450-450SmartCutterallPIDcp1
cm450-450-450SmartCutterallPIDcp2

つなぎ目には同じフレームが入ってない!!

 

少し写真ではわかりづらいのだが、そのまま映像が動作している。
ということは、SmartCutterでカットを行った場合、この余分7フレームは冒頭の部分に挿入されるだけということになる。

 

とりあえず、ラーメンのチャーシューのようなフレーム増しのナゾは、目視で確認できたからこれで良しとしよう。

 

しかし、これによって、つなぎ目で同じフレームが挿入されるからドロップするという予想がことごとく崩れ去ってしまった。。。
というか、日清CMの時点で気づくべきだった・・・

 

理由がわからないと夜も眠れない。Zzz・・・


<PIDからつなぎ目ドロップを探る>

サンプル
aoi
動画をダウンロード
(このファイルはWindowsMediaPlayerで再生すると途中でエラーを起こす可能性が高いです。)

 

次に、MurdocCutterでひとつひとつのCMのPIDをminにしたものを、SmartCutterで連結してみた。
PID情報がなくなったことで、再生すると番組情報とかが表示されなくなったと思う。

 

そして再生。
つなぎ目に来ると・・・?

ぬを?ドロップ数が減っている?!

minPIDdrop

 

何度かさっきのファイルとドロップ数を比べてみたが、やはり同じくらいの数値となる。
なるほど、読み込まれるPIDが多ければ多いだけドロップするという寸法か。

 

そもそも、ドロップすることがそんなにいけないことなのか?

 

という疑問も出てくるかもしれないが、多少のドロップが発生しても、再生がスムーズであれば特に気にならないが、映像と音声が途切れるように感じてしまうのはやはり好ましくはない

 

まあ、なんとなく犯人を特定しつつ、もしかしたら違うかもしれないという不安も抱えつつ、次はPIDについてある程度理解を深めないといけないな。

 

ちなみにこれらの問題は、TMPEGencだと何も問題ありませんぜ。
以下サンプルをMediaPlayerで再生してみてください。
非常になめらかに再生も素直だと思います。

サンプル
aoi
動画をダウンロード


<PIDのナゾ>

一般的なPID情報を開いてみるとこうなる。

PIDusual

色々インターネットで調べてみると、いくつか文献を発見できる。
例えばPATは必ず必要で、必ず0000なのだそうだ。

・・・というような決まりごとがあるらしい。

そんなのどこに書いてあるんだよ。
とか思いつつ、バイナリエディタで開いてみたら、番組情報が組み込まれているところを発見できた。

binaryeditor
なるほど、こんな感じで色いろあるわけでございますね。
たぶんこれらのどこかにそれに当たる記述があるってことになると・・・。
意味が無いので深追いはしませんが。

ってことは、自分で不要と思うPIDを削除すれば、純粋にMPEGだけを抜き出せるということか。

しかしちょっと待った。

MPEG2と音声だけ抜き出せたとして、それは本当に良い状態なのだろうか?

TSコンテナを極力いじらないことが目標じゃなかったのか?
まあよい。
とりあえず話を進めていこう。

MurdocCutterでは、上の写真のように、PID情報「MIN」を選ぶことが出来る。
おそらくMINは再生に必要な最小限の情報にしてくれるという意味だと思うが、一応色々なパターンを試してみた。

以下の画像はうまく噛み砕いて下さい。

PIDfile

確かに除いたPID分の容量が減ったりしているようだ。

サンプル
thermos
動画をダウンロード

さすがにこの動画はPID0116のMPEG-2 PES packets以降をすべて削除して最低限で抜き出しているので、ファイル容量もかなり少ない。

このように、絶対的に必要なPIDは、

0000 PAT
0010 Network PID
0110 PMT
0100 PCR PID
0111 MPEG-2 Video
0112 MPEG-2 AAC

であることが分かった。
なので、表でいうと、上から3番目のファイルの情報が必要最低限ということになる。

それ以外はWindows上ではプレビューも表示されなかったし、そもそもTMPEG3でも、このファイルは開けませんと言われた。
もはや動画としての要件も備えてないということになる。

ちなみに、誰が見ても分かる0111(Video)と0112(AAC音声)はどちらかが欠ければ、映像か音声が無くなることは言うまでもない。

余談となるが、TMPEGenc3でカットしたM2TSファイルのPIDはこのようになる。

tmpe3PID

音声がDolbyとなっており、こういう形でもPIDは存在出来るようだ。

ここで軽く疑問が生まれる。

なぜMurdocCutterは無くても再生できるPES packetsをMINの要件として加えているのだろうか?

一方、TMPEGenc3での出力結果には上の写真のようににPESは無い。

この違いは何なのだろうか?必要なのか必要ないのか?

しかもMurdocCutterでカットするとPESは2つもある
(※誤解が無いように言っておくと、元々録画されたファイルにPESは2つある。)

調べてみよう。

パイオニアにPESについてのページがあった。

・・・。
うーーーーーーーん。

いらぬことは考えないようにしよう。笑

何かPESにはストリームの時間情報が載っている的な・・・

なんだかとても重要な雰囲気が醸し出されているため、必要な物だと割り切ることにした。

パケッタライズド・エレメンタリ・ストリームですからね。

名前の響きからして重要だと本能が理解した。

なるほど、時間情報を扱っているなら2つあるのもうなずける

片方はVideo、もう片方はAudioのPESってことだね。

これはこのくらいでいいでしょ。

わかりづらい情報というのはまだ決まってないってことだよ。きっと・・・。

ちなみに、TMPEGencでの出力結果にはF111のNULLは必ずあるようだ。

この話題は後に重要になってきたら、いつかまた。

コメントを追加(どなたでも投稿できます)
  • Smart Cutterはぶつ切りにしたのを繋いでもエラーが起きないように繋ぎ目を再エンコードするらしいんで、ビットレート減はそのせいじゃないですかね
    MurdocCutは単純にぶつ切りらしいんで、ためしにMurdocCutで繋ぎ目以外の部分を切り出すと元のビットレートのものが出てきます