← ドキュメント ・ ← SmartCut ・ English
GUI の中で動いているのと同じエンジンを、コマンドとしても使えます。
配布物では smartcut-cli という名前で入っています(Windows では
smartcut-cli.exe、tar.gz では展開したフォルダーの ./smartcut-cli)。
smartcut のほうは GUI です。ソースからビルドしたときのコマンド名は smartcut で、
このページの例もそちらで書いています。
決まった処理を繰り返すとき、スクリプトから呼ぶとき、あるいは画面を出せない サーバーで使うときのためのものです。できることは GUI と同じです。
smartcut input.ts --keep 5.3-12.7 -o out.ts # この区間だけ残す
smartcut input.ts --cut 8.0-20.0 -o out.ts # この区間を削除する
smartcut input.ts --analyze # 何が起きるかを表示するだけ
smartcut input.ts --analyze --detect-cm --logo # CM の候補を一覧する
smartcut input.ts --analyze --scenes # 場面の変わり目を一覧する
smartcut input.ts --cut 8.0-20.0 --bdav ~/disc # ファイルではなくディスクに書く--keepと--cutは何回でも書けます。--keep 0-60 --keep 180-240のように並べれば、その 2 区間が残ります。- 時刻は秒数のほか、
1:23:45.6の形でも書けます。 --analyzeはカットを書きません。 どこをコピーしてどこを作り直すかの計画だけを 表示します。まずこれで確かめてから本番を走らせるのが安全です。 (--seek-indexのように、ほかのオプションが書くファイルは書きます)smartcut --helpで、すべてのオプションを用途ごとに分けて一覧できます。smartcut --versionはsmartcut 1.2.3の形でバージョンだけを表示します。 スクリプトから、どのバージョンを動かしているかを確かめるときに使います。
| オプション | 意味 |
|---|---|
--keep 開始-終了 |
残す区間。複数指定できます |
--cut 開始-終了 |
削除する区間。複数指定できます。--keep とは併用できません |
--no-open-gop |
途中から始まるキーフレームを、コピーの開始点として使いません |
--clean-joins |
各区間の先頭で最大 2 秒分を余分に作り直し、フレームの表示順が入れ替わらない位置まで進みます。その 2 秒がコピーではなくなるため、既定では使いません(詳しくは下の注を見てください) |
--clean-joinsを既定にしていない理由は次のとおりです。通常の継ぎ目でも、 コピーしたフレームそのものは元と完全に同じで、ずれるのは表示される順番だけです。--clean-joinsはそのずれを避けるために 2 秒を作り直しますが、その 2 秒は 元のコピーではなくなります(元に対して約 51 dB)。つまり劣化は確実に起きる一方で、 ずれが直るとはかぎりません。この釣り合いを考えて、既定ではオフにしてあります。
| オプション | 意味 |
|---|---|
-o 出力パス(--output も可) |
出力先。コンテナ(ファイルの形式)は拡張子で決まります。このマシン上のファイル(共有のマウント先を含む)に限ります。読み込んでいる録画そのもの(とそのリンク)は指定できません。どちらも書き始める前にエラーになります。Linux では、共有フォルダー上のファイルを \\nas\rec\x.ts や smb://nas/rec/x.ts の形で指定すると、その共有のマウント先に書き出します(入力と同じ扱いです)。マウントされていない共有はエラーになります。音声だけの形式(.aac .ac3 .eac3 .mp2 .mp3 .dts .wav .aiff .aif .aifc .flac .opus .thd .caf .w64 .oga .wv .spx .au .mpa .tta .amr .gsm .mlp .sbc)は、--sound-only を付けたときだけ指定できます。1 回の実行で書くファイルは 1 つなので、-o を 2 回指定するとエラーになります。concat:a.ts|b.ts・subfile,,start,…,end,…,,:x.iso・file:x.ts のような FFmpeg の書き方で入力を指定したときは、そこから読むファイルも -o には指定できません。既にあるファイルに書き始めてから失敗したときは、書きかけのファイルを消し、その旨を表示します。書き始める前に止まったときは、元のファイルに手を付けません |
--drop-stream 番号 |
録画のストリームを 1 本、出力から外します。複数指定できます。カット編集画面のトラックメニューと同じものです。指定できるのは音声と字幕のストリームの番号です。録画に無い番号や映像の番号はエラーになります。放送録画の音声トラックのうち、残す範囲に何も入っていないもの(前の番組にだけあった副音声など)は、指定しなくても外し、その旨を表示します |
--title 番号 |
ディスク(フォルダーでも .iso でも)の何番目の録画を開くか。番号のかわりに番組名の一部でも指定できます。省くと、中身を一覧表示して終わります。カットや出力、--analyze、--seek-index、--as-proxy など、録画を開かないとできない処理も指定していた場合は、一覧を表示したあとエラーで終わります。レコーダーで録った BD-RE のタイトルを --cut も --keep も付けずに書き出すと、ディスクのプレイリストが再生する部分だけが残ります。 レコーダーが書くクリップには、前の番組の終わり 1 秒ほど、レコーダーが CM などを抜いた継ぎ目の前後、次の番組の始まりも入っています。これらはフレーム単位でカットされ、どこを切ったかが plays : の行に表示されます。その位置にチャプターは付きません。市販の Blu-ray、DVD、オーサリングツールで作ったディスクはクリップ全体を再生するので、これまでどおりです |
| オプション | 意味 |
|---|---|
--join 録画 |
同じ出力へ続けて書く録画です。複数指定できます。 指定した順に並びます。基準の録画の音声が TrueHD・DTS で、ほかのコーデックの音声を持つ録画を結合するときは、何も書かずにエラーになります。--master でその録画を基準にするか、--audio-codec でコーデックを指定してください。ディスク(フォルダーでも .iso でも)を指定すると、最初の録画を読む前にエラーになります。--join に渡せるのは録画 1 本なので、ディスクの中の録画をパスで指定してください。使うパスは、smartcut ディスク --title 番号 --analyze が input : の行に表示するものです。エラーの文にも最初の録画のパスが例として出ます。レコーダーのディスクなら ディスク/BDAV/STREAM/00001.m2ts、DVD なら ディスク/VIDEO_TS/VTS_01_1.VOB@…-… のように範囲の付いた形です。DVD で VTS_01_1.VOB だけを指定すると、タイトルではなくタイトルセットの最初の 1 GB だけが開かれます。ディスクの入っていないフォルダーも、同じようにすぐエラーになります。読めるディスクの入っていない .iso も、録画ではないのですぐエラーになります |
--master 番号 |
出力の仕様(解像度・フレームレート・コーデック・音声トラック・テーブル)をどの録画に合わせるか。先頭を 1 と数えます。省略すると先頭です。録画の数より大きい番号はエラーになります |
--keep と --cut は先頭の録画に対する指定です。--join で足した録画は全編が
入ります。ファイルごとに区間を書けるコマンドラインは、書きにくいプロジェクト
ファイルにしかなりません。カット入りのリストはウィンドウで扱います。
smartcut part1.ts --join part2.ts --join part3.ts -o whole.ts基準と仕様の合わない録画は、復号して基準の形に書き直します。拡大縮小、 レート変換、音声の再エンコードです。どれをなぜ書き直すのかは、1 バイトも書く 前に知らせます。仕様の合う録画はこれまでどおりスマートレンダリングされます。
| オプション | 意味 |
|---|---|
--transition 種類 |
none、fade-black、fade-white、dissolve、wipe-left|right|top|bottom、slide-left|right|top|bottom。クリップ間のすべての継ぎ目に適用します |
--transition-seconds 秒 |
適用時間。30 秒まで。省略すると 1 秒です |
--transition-easing 曲線[:モード] |
曲線は none、back、bounce、circle、elastic、exponential、power、sine、quadratic、cubic、quartic、quintic。モードは :in、:out、:in-out、:out-in。既定は none:in で等速です。一覧に無い名前はエラーになります |
--transition-image ファイル |
各継ぎ目に重ねる静止画。効果の始まりで現れ、終わりで消えます |
この 4 つと --join-fade-out・--join-fade-in は継ぎ目に対する指定です。
--join なしで指定すると、無視せずにエラーにします。
smartcut a.ts --join b.ts --transition dissolve --transition-seconds 2 \
--transition-easing sine:in-out -o joined.tsフェードは出力の長さを変えません。 前後から半分ずつ使うためです。 それ以外は指定秒数だけ出力が短くなります。 2 本が同時に映るためです。
トランジションの範囲は全フレームを書き直します。どちらの録画にも無いフレーム
だからです。2 秒を指定すれば継ぎ目ごとに 2 秒ぶんのエンコードが発生し、それ
以外の場所は変わりません。音声はミックスしません。2 本が重なる効果では、手前の
クリップの音が効果のあいだも鳴り続けます。フェードでは、真ん中(色だけになる
ところ)で音が切り替わります。切り替わりを和らげたいときは --audio-fade を
使います。
字幕は映像と同じところで切り替わります。ディゾルブ・ワイプ・スライドでは、 放送の字幕も 4K 録画の字幕も、重なりの最初のフレームから次のクリップのものに なります。そこで次のクリップに出ている行はすぐに出て、重なりの中で出る行は それぞれの時刻に出ます。手前のクリップの行は、次のクリップの最初の行が出た ところで消えます。次のクリップが重なりの中で何も出さないときは、手前の クリップの字幕はそのまま続きます。フェードでは、映像と同じく前後の字幕が順に 出ます。0.8.35 までは、次のクリップの字幕が重なりの終わりまで出ず、重なりの 中で出て消える行は抜けていました。ディスクの字幕(基準クリップのものだけを 運びます)も、基準が後ろのクリップなら同じように切り替わります。0.8.36 までは こちらも重なりの終わりまで出ませんでした。詳しくは 重なりの字幕は後ろのクリップのもの を参照してください。
既定では、音声も映像と同じく継ぎ目の数フレームだけを作り直します (スマートレンダリング)。下の 5 つのうち 1 つでも録画と違う値を指定すると、 コピーできるフレームが無くなるので、トラック全体が再エンコードになります。
書き出しを始める前に、音声をどう扱うかを render: の行に表示します
(audio smart、または audio reencode とその内容)。表示するのは指定した
内容ではなく、カットが実際にすることです。表示の対象は主音声のトラックです。
--drop-stream で主音声を外したときと --sound-only のときは、残る最初の
トラックについて表示します。音声のみの出力に書かれるのは、このトラックです。
| 指定 | render: の表示 |
|---|---|
AAC にビット幅を指定した。録画と同じコーデックを --audio-codec で指定した |
モードは変わらない(smart のまま) |
| DTS・TrueHD にチャンネル数やレートを指定した | ダウンミックスやリサンプルとは表示しない。ほかのコーデックを指定しないかぎり、そのまま運ぶため |
DTS・TrueHD に、ほかのコーデックを指定せずに --audio-mode reencode を指定した |
copy。無劣化のまま運ぶため |
Blu-ray・DVD の LPCM を .mkv・.mp4 に書く |
reencode と、書き出す形(as pcm_s16be など)。どちらのコンテナも素の PCM でしか持てないため |
Blu-ray の LPCM に --audio-codec lpcm を指定して .ts・.m2ts に書く |
モードは変わらない(smart のまま) |
音声のみで .wav を指定した |
リニア PCM への再エンコード |
音声のみで FLAC を .flac・.ogg・.oga に書く |
reencode。ファイルの先頭のヘッダーに録画全体の長さが入るので、フレームをコピーすると中身と食い違うため |
| オプション | 意味 |
|---|---|
--audio-mode smart|copy|reencode |
既定は smart。継ぎ目にかかるフレームだけを作り直すので、切った側の音が漏れません。継ぎ目が無音なら 1 フレームも作り直しません。copy はバイト単位で無劣化ですが継ぎ目に音が少し残り、reencode はサンプル単位で正確に切れる代わりに全編を作り直します |
--audio-codec source|aac|lpcm|ac3|dts |
書き出す音声の種類。既定の source は録画のままです。AAC はスマホでもそのまま再生でき、AC-3 と DTS は AV アンプで確実に再生でき、リニア PCM は非圧縮です |
--audio-channels 数 |
チャンネル数(1〜8)。録画と違う数を指定するとダウンミックスになります(5.1ch をステレオに畳む、など) |
--audio-samplerate レート |
サンプリング周波数。48k でも 48000 でも書けます。コーデックによって扱えるレートが違い(AC-3 は 3 種類、Blu-ray の LPCM は別の 3 種類)、扱えないものを指定した場合は、最も近い値に補正したうえで、その旨を表示します |
--audio-bits 16|24 |
1 サンプルの大きさ。リニア PCM のときだけ意味を持ちます。ほかのコーデックは音そのものではなく音の表現方法を記録するので、ビット数を書く場所がありません。.mkv や .mov に書くとき、録画がもともと持っている素の PCM は指定した幅で書きます。浮動小数点や 8 ビットのサンプルも同じです。古い .mov が持つ符号付き 8 ビットの PCM は、24 ビットにしないかぎり .mkv にも .mp4 にも入りません。その場合は書き出す前に止め、その旨を表示します |
--audio-bitrate レート |
再エンコードするときのビットレート。192k でも 192000 でも書けます。省くと録画に合わせます。エンコーダが受け付けない値は、そのコーデックが通常使う値まで引き上げたうえで、その旨を表示します |
--aac auto|mpeg2|mpeg4 |
書き出す AAC をどちらの規格として記録するか。既定の auto は録画に合わせます(放送なら MPEG-2 AAC) |
--audio-es |
音声を素のファイルとしても書き出します。出力と同じ名前で、AAC のときだけです |
--poster 時刻 |
録画のその時刻のフレームを、出力ファイルのカバー画像(サムネイル)として埋め込みます。.mp4 .m4v では covr、.mkv では cover.jpg という添付ファイルになります。ほかのコンテナでは無視し、その旨を表示します(.mov には FFmpeg が covr を書きません)。録画より後ろの時刻なら、最後のフレームを使ってその旨を表示します。インターレースの録画は片方のフィールドから作ります。--sound-only とは併用できません |
--no-chapters |
チャプターを入れません。指定しなければ .mp4・.m4v・.mov・.mkv・.webm には、残した区間の先頭ごと(--join なら各録画の先頭にも)にチャプターが入ります。録画にもともとあるチャプター(ディスクから読んだ録画ならディスクのチャプター、.mp4 や .mkv ならファイルのチャプター)も、カットのあとに残ったものは入ります。--join で結合した録画のチャプターも、出力の中でその録画が始まる位置に合わせて入ります。位置は --bdav がプレイリストに書くものと同じで、--bdav のほうはこのオプションの影響を受けません。区間が 1 つだけで、もともとのチャプターも残らないカットには入りません。--sound-only とは併用できません |
--sound-only |
映像を書かず、音声だけのファイルを出力します。カットも結合も継ぎ目のフェードもそのまま入ります。映像は読みも書きもしないので短時間で終わります。拡張子で形式が決まります(.aac .ac3 .eac3 .mp2 .mp3 .dts .m4a .mka .wav)。リニア PCM なら .aiff も使えます。録画の音声が FLAC・Opus・TrueHD なら、それぞれ .flac .opus .thd も使えます。.wav は、--audio-codec でほかのコーデックを指定しないかぎりリニア PCM で書きます。録画の音声が 32 ビット浮動小数点なら、--audio-bits を指定しないかぎり .wav と .aiff にも 32 ビット浮動小数点のまま書きます。拡張子の形式に入らない音声のときは、書き始める前にエラーで止まります。4K 放送の LATM 形式の AAC を .aac や .m4a に書くときは、通常の AAC に再エンコードし、その旨を表示します。元の音声フレームのまま残すなら .mka にします。音声トラックは 1 本だけで、--master で指定した録画のトラックを基準にします。--bdav・--video-share・--audio-es のほか、映像のある出力にしか効かない --tables・--data-broadcast・--no-data-broadcast・--subtitles・--drop-subpicture・--vc1-quant・--clean-joins・--no-open-gop・--transition-image・--no-chapters とも併用できません。音声の無い録画を結合したときは、その録画の分を飛ばし、その旨を表示します。レコーダーのタイトルでは、継ぎ目で映像を書かない時間を音声からも除くので、ファイルの長さは映像付きのときと同じになります。区間が複数あるときも、各区間は同じ範囲を映像付きで切ったときの音声と 1 フレーム以内でそろいます |
--audio-fade 秒数 |
継ぎ目の手前で音を下げ、継ぎ目の先で戻します。0〜10 秒、既定は 0(フェードなし) |
--join-fade-out 秒数 |
クリップの終わりで音を消すまでの秒数。--join でつなぐときの継ぎ目に掛かります。0〜10 秒、既定は 0 |
--join-fade-in 秒数 |
次のクリップの頭で音が戻るまでの秒数。同上 |
クリップの継ぎ目は前後を別々に指定します。 終わるほうの番組をどう終わらせ るかと、始まるほうをどう始めるかは別の問いだからです。
--join-fade-out 3--join-fade-in 0なら、手前の番組は 3 秒かけて消え、次の番組は頭から普通に 始まります。1 本の録画の中のカット点には--audio-fadeが掛かります。
--audio-fadeと--join-fade-*が効くのは、音を書き直すときだけです。smartとreencodeでは掛かり、copyでは掛かりません。 無劣化のまま運ぶ音声(TrueHD、DTS-HD MA)も 書き直さないので掛かりません。掛からなかったときはその旨を表示します。 フェードは 2 つの断片をつなぐ場所のためのものなので、出力の先頭と末尾には 掛かりません。
| オプション | 意味 |
|---|---|
--tables partial|broadcast|muxer |
TS の中身を説明するテーブルを、どの形で入れるか。指定が無ければ .ts は broadcast(録画自身の SDT・EIT・TOT。プレーヤーはここから番組名・放送局名・時刻を読みます)、.m2ts は partial(部分 TS。ディスクのストリームの書き方)になります。muxer は何も足しません。--no-tables は muxer の古い名前です。--bdav で指定できるのは partial だけです。ディスクのストリームはこの形で書くので、muxer や broadcast を指定すると、録画を読む前にエラーで止まります |
--no-data-broadcast |
録画のデータ放送(d ボタンで見られるページ)を捨てます。指定が無ければ残します。残せるのは、テーブルを muxer に任せない(broadcast か partial の).ts だけです。.m2ts には入れる場所がありません。モジュールが欠けずにそのままのバイトで入るので、受信機は同じページを描きます。捨てて得られるのはファイルサイズの削減だけです。カルーセルは多重化全体の 1/100 から 1/5 を占めます。--data-broadcast は残すことを明示的に指定する書き方で、格納できなかったときのメッセージだけが変わります。--no-data-broadcast と一緒に指定するとエラーになります。--join で結合したときは、録画ごとのカルーセルがそれぞれの区間に入り、録画ごとの表示に data : carousel の行が出ます。ただし、出力にすでにある同じコンポーネントと符号化の記述が違う録画(プロファイルや BML の版が違う局)や、入口のコンポーネントを出力のマップに載せられない録画は、カルーセルを丸ごと入れず、その旨を表示します。その録画の表示は not carried の行になります。番組表を含むテーブルは基準の録画のものを書き戻すので、基準の録画がトランスポートストリームであることが条件です |
--bdav を使うと、ファイルではなくレコーダーが BD-RE に書くのと同じ形の
フォルダーに書き出します。ファイル名はディスクの決まりで付くので -o は
使いません。両方を指定するとエラーになります。すでにディスクがあれば、そこに
足します。表の --iso から下はディスクについての指定なので、--bdav なしで
指定するとエラーになります。
| オプション | 意味 |
|---|---|
--bdav フォルダー |
このフォルダーに BDAV ディスクとして書きます(録画 1 本は BDAV/STREAM/00001.m2ts になります)。索引はそのあとで作られます。ディスクの索引で表せない映像や音声(Opus など)が残る場合は、カットを始める前、ディスクの番号を確保する前にエラーで止まります。音声なら --audio-codec で形式を変えるか、--drop-stream でトラックを外せば書けます。録画を書き終える前に止まったときは、ディスクに用意したストリームのファイルを消し、その実行で作ったフォルダー(BDAV とその中のフォルダー、指定したフォルダーとその親のうちその実行で作ったもの)を、空のままなら消します。録画は書けても索引を作れなかったときも、その録画をディスクから外し、フォルダーを同じように消します。もとからあったディスクなら、info.bdav もそのまま残ります。ただし、別の実行がそのディスクの STREAM フォルダーに録画を書いているあいだは、どのフォルダーも消しません。実行の前からあったフォルダーは、空でも残します。.. を含むパスで指定したときは、どのフォルダーも消しません。フォルダーは -o と同じく、このマシン上の場所でなければなりません。アドレスの形(http://… など)で指定すると、録画を読む前にエラーになります。--analyze でも同じです。-o と同じく、2 回指定するとエラーになります。Windows でドライブのルート(E:\)を指定したときは、そのルートに書きます(そのドライブで最後に使ったフォルダーには書きません) |
--fit bd25|bd50|bd100|bd128|バイト数 |
このサイズに収まるよう、映像を書き直して小さくします。収まっていれば何もしません。音声も字幕も番組情報もそのままで、小さくなるのは映像だけです。音声は書き出すときの形で計算するので、--audio-codec lpcm や --drop-stream で外したトラックも反映されます。MPEG-2 の録画だけが対象で、それ以外は原寸で書かれ、その旨が表示されます。原寸で収まらなければエラーで止まります。何割で書き直すかは書き出す前に表示されます。ただし、映像がその割合まで小さくなるとは限りません。短い範囲を大きく縮めるときは、数ポイント上で止まることがあります。そのときは note: の行に、どこまでしか小さくならなかったかと、書き直したピクチャが予定より何 MB 多くなったかが出ます。カット全体としてはまだ収まっていることもあります。書き終えたあとには、出力(--bdav ならもとから書かれていた分も含めたディスク全体、読み取り専用の --iso ならイメージそのもの)を、--fit が見積もりに使った容量(--iso-access overwritable ならレコーダーの配置で置ける量)と比べ、超えていれば超えた量とその理由を note: の行で知らせます。映像を書き直したときは、その割合で見積もった大きさと、実際にそこから何 MB 増えたかを示します。録画が索引で測った量より重かったか、映像が指示した割合まで小さくならなかったか(このときはその前に note: が出ます)のどちらかです。書き直さなかったときは、そのままで収まると見積もったことが理由です。イメージの場合、ファイルだけなら収まっているときは、超えた分はイメージ自体のファイルシステムで、--fit の見積もりには入っていないと表示します。出力はそのまま残ります。残す範囲の大きさは、録画全体の平均ではなく、索引に記録されたその区間のバイト数から見積もります。ディスクに書くときの PAT・PMT などの表は、映像をどれだけ小さくしても一定の頻度で送られるので、秒数に比例する量として見積もります。トランスポートストリーム(.ts・.m2ts・ディスク)の AAC の音声で、示されるビットレートが同じチャンネル数のふだんの値の半分に満たないときは、ふだんの値で見積もります。この形式では AAC のビットレートが記録されておらず、示される値は冒頭の一部だけから求めたものなので、冒頭が静かだと低すぎる値になるためです。本当にそれだけ低いビットレートで送られている音声では見積もりが大きくなり、映像は必要より少し小さくなります。MP4 や Matroska のファイルが示すビットレートは、低くてもそのまま使います。GUI の「ディスクの使用量」と同じ見積もりです。--bdav で指定したフォルダーにすでにディスクがあるときは、書き込み済みの分を実際に測り、残りの容量に収めます。その大きさは fit の行に表示されます。--iso-access overwritable のイメージを作るときは、レコーダーの配置で置けるファイルの量(1 層 24.12 GB、2 層 48.34 GB)に収め、そのことも fit の行に表示されます。--join や --sound-only とは併用できません。ディスク容量に合わせる |
--video-share 0.35..1 |
圧縮率を直接指定します。--fit が見積もりから求めるのと同じ値を、見積もりを通さずに与えます。--fit とは併用できません。--fit と同じく MPEG-2 の録画だけが対象で、それ以外は原寸でコピーされ、その旨が表示されます。範囲の両端で再エンコードするピクチャは、周りのピクチャに合わせます。周りを小さく書き直すときはこの圧縮率で、原寸でコピーするときは元のレートで書きます。0.8.35 までは、H.264 のカットでも継ぎ目だけはこの圧縮率で再エンコードしていたので、カットの中でそこだけ画質が落ちていました |
--iso 2.50|2.60 |
書き終えたディスクを .iso に包んで同じ場所に置きます(--bdav ~/disc なら ~/disc/BDAV と ~/disc.iso)。イメージに入るのはディスク(BDAV)だけで、フォルダーにあるほかのファイルは入りません。フォルダーはそのまま残ります。その .iso が、いま録画を読んでいるイメージそのものなら、書き始める前にエラーになります。同じ名前の .iso がこのディスクのイメージでない場合(別のディスクのイメージや、フォルダーを消して作り直す前のこのフォルダーのイメージ)も、カットを始める前にエラーになります。--analyze でも同じです。実行前のこのディスクのイメージなら、新しいイメージで置き換えます |
--iso-access read-only|overwritable |
そのイメージを焼いたディスクに何をしてよいかを書き分けます。既定の read-only は、もう書き込まないディスク向けの値です。BD-R や、再生するだけの BD-RE がこれにあたります。overwritable はレコーダーが BD-RE に書く値で、ディスクに録画を足したり消したりするとき、レコーダーはこちらを見ます。このときイメージはレコーダーが BD-RE に書くのと同じ配置になり、大きさもディスク全面(25 GB、1 層に収まらなければ 50 GB)になります。中身の無い部分は、書き出し先のディスクで場所を取りません。1 層に収まらず 2 層の大きさになったときは、その旨を表示します。--iso と併用します |
--iso-only |
.iso を作ったあとフォルダーを消します。--iso と併用します。.iso はフォルダーから作るので、フォルダーが先に書かれ、.iso に収まってから消えます。消えるのは BDAV で、その上のフォルダーは空になったときだけ消えます。自分のフォルダーに直接書いた場合、そこにある他のものはそのままです。BDAV の中に .iso に入れられなかったファイルがあるときは、フォルダーを消しません。同じ名前の .iso がすでにあり、--bdav のフォルダーに追記できるディスクが無いときは、カットを始める前にエラーになります(終了コード 1)。そのイメージが新しいディスクのイメージで置き換わるためです。残すならイメージを別の場所へ移すか、--bdav に別のフォルダーを指定してください。その .iso が録画を読んでいるイメージそのものなら、--iso と同じく、読んでいるイメージであることを示すエラーになります |
--disc-title 名前 |
ディスクの名前。省くと、既存のディスクに書き足すときはその名前のままです。名前の無いディスク(レコーダーで名前を付けていないもの)も、名前の無いまま書き足します。新しいディスクならシリーズ名になります(番組名から話数・サブタイトル・[字] などの記号を落としたもの) |
--programme 名前 |
ディスクの管理情報に入る、この録画の名前。省くと、ディスクから読んだものはそのプレイリストの名前、放送録画は番組情報の番組名になります |
--channel 名前[,番号] |
録ったチャンネル名と、任意で 3 桁の番号(--channel "衛星第一,161")。省くと録画から取ります。番号が数字でなければエラーになります |
--about 説明 |
ディスクの管理情報に入る番組内容。省くと録画の番組情報にある内容です |
--made "年-月-日 時:分:秒" |
記録日時。省くと、録画に入っていればその番組の放送日時です |
| オプション | 意味 |
|---|---|
--analyze |
計画を立てて表示するだけで、カットは書きません。--bdav のフォルダーにも一切触れません。一緒に指定した --seek-index・--proxy・--preview のファイルは書きます。カットの前に止まる指定は、ここでもエラーになります。--iso の書き先が読んでいる録画のイメージそのものである場合や、--iso-only で、フォルダーにディスクが無いのに同じ名前のイメージがすでにある場合、-o がこのマシン上のファイルではない場合(http://… など)や --bdav がこのマシン上のフォルダーではない場合、-o が実行の録画や --transition-image と同じファイルである場合、--audio-es が -o の横に書く .aac が実行の録画である場合です。-o か --bdav があって実際に書く実行なら、存在しない番号の --drop-stream と、どの録画にも無い ID の --drop-subpicture もエラーになります。--analyze は --join の録画を開かないので、この 2 つは先頭の録画で確かめます。--master で 2 本目以降を基準にしたときの --drop-stream と、--join があるときの --drop-subpicture は確かめません |
--detect-cm |
CM の候補を探します |
--logo |
CM 検出でロゴも手がかりに使います。--detect-cm と一緒に指定します |
--inserts |
CS の局が番組中に差し込む数秒(自局の動画 ID)も出します。既定はオフです。同じ判定で番組のテロップも拾うためです。--detect-cm と一緒に指定します。詳しくは CM 検出の説明をご覧ください |
--scenes |
場面の変わり目を一覧します。カットは書きません。--detect-cm と同じく、-o か --bdav を付けるとエラーになります |
--preview 時刻 |
その時刻のフレームを 1 枚 JPEG に書き出します(preview.jpg、または -o)。-o の拡張子は .jpg か .jpeg にするか、拡張子なしにします。.png や .bmp で保存するなら --still を使います。指定した時刻と、実際に取り出せた時刻の両方を表示します |
--still 時刻 |
その時刻のフレームを、表示どおりの大きさで画像に保存します。形式は -o の拡張子で決まり、PNG・JPEG・BMP のどれかです(-o が無ければ still.png)。インターレースの録画は片方のフィールドから作ります。--cut-near と同じく、録画の末尾より後ろの時刻はエラーになります。カット編集の「このフレームを画像で保存」と同じものです |
--cut-near 時刻 |
その時刻にいちばん近い映像の切り替わり位置を、±0.5 秒・±1 秒・±2 秒の範囲それぞれについて表示します。録画の末尾より後ろの時刻はエラーになります(終了コード 1)。input の行に表示される長さは末尾として扱うので、その値をそのまま指定できます。レコーダーのタイトルでは、継ぎ目で見つかった切り替わりは継ぎ目の後の最初のフレームになります |
--verify |
書き出したあと、出力を最後まで復号し、元の録画と 1 フレームずつ突き合わせます。フレーム数、コピーしたフレームがビット単位で同じか、作り直したフレームの画質、復号エラー、音声の長さを確かめ、verify: で始まる行に表示します。映像の長さと、映像が途切れている時間は、残した範囲に元の録画のピクチャがどれだけあるかと比べます(length の行。途切れている時間が元の録画より長ければ gaps の行も出ます)。音声トラックも、その範囲に元の録画のパケットがどれだけあるかと比べるので、元の録画で途切れている分は短いとみなしません。映像が一致しなければ終了コード 1 で終わります。音声の長さのずれと、最後のフレームより 0.5 秒以上あとまで並んだ音声は、表示するだけです。カットを書かない指定(--analyze など)とは併用できず、-o も --bdav も無いときはエラーになります。確かめる内容は GUI のベリファイと同じです |
--log ファイル |
画面に表示する内容を、このファイルにも書きます。先頭の行には、バージョンとコマンドラインを書きます。ファイルが既にあれば末尾に追記します。FFmpeg のメッセージは SMARTCUT_FFMPEG_LOG の設定どおりに入ります。入力や -o など、この実行で読み書きするファイルを指定するとエラーになります。.ts へのカットで放送のテーブルを書き戻すあいだに使う、-o の名前に .si を付けたファイルも同じです。--audio-es の .aac、カットとは別ファイルに書く字幕(.idx と .sub、.sup)、--proxy が書くプロキシと、プロキシと一緒に書く .marks も指定できません。読み書きするディスクのフォルダーの中も指定できません。対象は、フォルダーで開いたディスクの BDMV・BDAV・VIDEO_TS、入力や --join に指定したディスクのクリップがある BDMV・BDAV(ディスクのフォルダーの中から STREAM/00001.m2ts の形で、または STREAM の中から 00001.m2ts だけで指定したときも含みます)、--bdav の書き込み先の BDAV です。DVD のタイトルを VTS_01_1.VOB@… の形で入力や --join に指定したときは、その VIDEO_TS の中も対象になります。VTS_01_1.VOB や VIDEO_TS.VOB を単独のファイルとして指定したときも、同じフォルダーに VIDEO_TS.IFO があれば、そのフォルダーが対象です。シンボリックリンクで指定した場合は、リンクのあるフォルダーとリンク先のフォルダーの両方が対象になります。リンクの名前が VTS_01_1.VOB のような形でなくても同じです。コマンドを打ったフォルダーそのものがディスクのときは、エラーの文にそのフォルダーの完全なパスを表示します。--iso を付けたときは、ディスクの横に作るイメージと、書き込み中に使う .part のファイルも指定できません。ログの指定がエラーになったとき(ログを開けなかったときも含みます)は、この実行がログのために作ったフォルダーだけを消します。もとからあったフォルダーは消しません。録画を開いてから分かる名前と重なってエラーになったときは、この実行でログを作っていればそのログも消します。もとからあったファイルは、実行前の長さに戻します。この実行が書き足した行は残りません |
| オプション | 意味 |
|---|---|
--seek-index パス |
早送り用の索引の置き場所。初回に書き、2 回目からは読むので、録画を走査し直さずに済みます。別の版が書いたものや壊れたものは読めないので、作り直します。別の録画から作った索引や、録画中でファイルが伸びている途中に作った索引も、その旨を表示して作り直します。索引ではないファイルを指定したときは、そのファイルには触れずにエラーで止まります。パスを打ち間違えても録画を上書きすることはありません。--audio-es の .aac、-o の名前に .si を付けたファイル、カットとは別ファイルに書く字幕など、カットが -o と一緒に書くファイルも指定できません |
--index auto|disc|scan|container |
アクセスポイントをどこから得るか。既定の auto は、情報がすでにある場所から順に参照します。ディスク自身のマップ、コンテナのシークテーブル、最後にパケット走査の順です。disc と container はその 1 つだけを参照し、scan は必ず走査します(どちらのテーブルも持たない TS はこれになります)。コンテナのテーブルは、録画全体をカバーしているときだけ採用します。disc・container・scan は --join で結合する録画にも適用されます。その方法で読めない録画があれば、その録画の名前を示してエラーで止まります(0.8.29 までは、ほかのテーブルか走査に切り替えていました) |
--proxy |
編集用のプロキシ(軽い代役ファイル)を録画と同じ名前で作って終わります(.proxy.mp4、または -o)。プロキシのマークは、プロキシの拡張子を .marks に替えた名前で書きます。そのため -o に .marks で終わる名前は指定できません |
--as-proxy |
入力を録画ではなくプロキシとして扱います。プロキシが代役として成立しているかを確かめるためのものです |
| オプション | 意味 |
|---|---|
--subtitles pgs|beside|sup |
ディスクの字幕の行き先。既定の pgs はカットの中へ、TS が運べる種類として格納します(Blu-ray のものは無加工、DVD のものは変換して)。beside はカットとは別のファイルへ、プレーヤーも字幕ツールもそのまま読める .idx と .sub の 2 ファイルとして書きます(DVD のものは無加工、Blu-ray のものはディスプレイセットから読み戻して)。sup はそのディスプレイセットそのものを別ファイルの .sup に書きます(Blu-ray の字幕はバイト単位でそのまま。BDSup2Sub や Subtitle Edit が読む形式)。別ファイルはディスクに入らないので、beside と sup は --bdav と併用できません |
--drop-subpicture ID |
DVD の字幕ストリームを 1 本除きます。ディスク上の id を 1 バイトの 16 進数で指定します(0x20 でも 20 でも可)。複数指定できます |
字幕を中に入れられるのは .ts と .m2ts だけです。DVD の字幕は、.mp4 や
.mkv に書き出すとその旨を表示して、代わりに 2 ファイルを別途書き出します。
Blu-ray の字幕はそうなりません。既定の pgs のままトランスポートストリーム以外へ
書き出すと字幕は外れ、その旨と残す方法を表示します。残すには .ts か .m2ts に
書き出すか、beside か sup を指定してください。この 2 つはどの出力でも
別ファイルに書きます。.sup は 1 ストリームしか持てないので、字幕が
2 本ある録画は 2 ファイルになり、言語で名前が付きます(cut_title.eng.sup)。
言語で区別できないときは番号が付きます。
ディスクの字幕を参照してください。
次の字幕は、どの出力にも残りません。.mkv や .mp4 に入った
SubRip・ASS・mov_text・WebVTT、DVB 放送の字幕、.mkv に詰め直した DVD の
字幕がこれにあたります。実行時には 1 本ごとに次のように表示します。
not carried: a subtitle stream (its format is not one a cut carries)
--join で結合する録画の字幕も、録画ごとに、その録画の join : の行の下に
表示します。
| オプション | 意味 |
|---|---|
--vc1-quant 3..31 |
VC-1 で書かれた素材の、継ぎ目のフレームをどれだけ細かく書くか。3 が最も細かい設定です。既定は 4 で、置き換える元のフレームに対しておよそ 46 dB になります。オーバーラップ平滑化を使う素材では、8 より粗い値を指定しても 8 で書きます |
この設定が VC-1 にしか無いのは、VC-1 のエンコーダがどこにも無いからです。 FFmpeg にもグラフィックスカードにもありません。そこで継ぎ目のフレームだけは SmartCut が自分で書いており、その細かさをここで指定します。詳しくは Rust コアにあります。