Skip to content

SmartCut v0.8.15

Choose a tag to compare

@DeepRegular DeepRegular released this 30 Sep 00:45
· 185 commits to main since this release

スマートレンダリング対応のカットツールです。**カット点にかかる部分 GOP だけを再エンコードし、残りはビット単位でそのままコピーします。**放送録画(MPEG-2 TS)から CM を落とす用途を主眼に置いています。

0.8.15 のおもな変更は次の 3 つです。

  • issue #8 でいただいた要望 6〜11 をすべて取り入れました。メディア情報の表示、出力ファイルのサムネイルの設定、Ctrl+↑ Ctrl+↓ での並べ替えなどです。
  • コード全体を 2 回点検し、見つかった不具合を直しました。FLAC の音声を FLAC のまま再エンコードする書き出しが必ず失敗していた不具合も含まれます(「直した不具合」を参照)。
  • これまでに報告いただいて直した不具合(issue #2・#4〜#8 の 187 項目)が、今回の変更で再発していないことを確かめました。

サムネイルを設定せず、下の「直した不具合」にも当たらない場合、カット結果は 0.8.14 と同じです。

ダウンロード

ファイル 対象
SmartCut_0.8.15_amd64.AppImage Linux x64。glibc 2.35 以上(Ubuntu 22.04 / Debian 12 / Fedora 36 以降)。FUSE が必要です
SmartCut-0.8.15-linux-x86_64.tar.gz Linux x64 可搬版。展開して ./smartcut を実行します。中身は AppImage と同じ一式で、FUSE は不要です
smartcut_0.8.15_amd64.deb Ubuntu 22.04 以降 / Debian 13 以降。GUI を smartcut、コマンドライン版を smartcut-cli として入れます
SmartCut_0.8.15_x64-setup.exe Windows x64 インストーラ。WebView2 ランタイムが必要です。コマンドライン版の smartcut-cli.exe も同じフォルダーに入ります
smartcut-portable-x64-0.8.15.zip Windows x64 可搬版。展開して smartcut.exe を実行します。コマンドライン版は smartcut-cli.exe です

どの配布物にも FFmpeg を同梱しているので、別途入れる必要はありません。

入力設定画面の操作

操作 内容
一覧の何もないところをダブルクリック 「ファイルを追加」と同じく、ファイルを選ぶダイアログが開きます
右の列の「バッチ出力ツール」ボタン バッチ出力ツールが開きます。「ファイルを追加」の下に新しく置きました。これまでどおりメニューからも開けます
クイックプロパティの上の縁をドラッグ クイックプロパティの高さを変えられます。変えた高さは次に起動したときも保たれます。縁をダブルクリックすると元の高さに戻ります
Ctrl+↑ Ctrl+↓ 選んでいる行を 1 つ上 / 下へ移動します(「上に移動」「下に移動」と同じ)。バッチ出力ツールのキューでも使えます(書き出し中を除く)

メディア情報

一覧の行を右クリックして「メディア情報」を選ぶか、行を 1 つ選んで Ctrl+I を押すと、ファイルの情報を一覧で表示します。

  • 全般:コンテナ、ファイルサイズ、長さ、ビットレート、放送のサービス名など
  • 映像:コーデック、プロファイル、レベル、解像度、アスペクト比、フレームレート、走査方式、色情報など
  • 音声:コーデック、サンプリング周波数、チャンネル、言語など
  • 字幕:コーデック、言語など

「テキストをコピー」で、表示している内容をそのままクリップボードにコピーできます。不具合の報告に貼り付けるときに使ってください。

出力ファイルのサムネイル

ファイルマネージャーやプレーヤーが表示するサムネイルに使うフレームを、自分で選べるようにしました。放送の録画は先頭が黒画面や前の番組の終わりであることが多いので、そのままではサムネイルが役に立ちません。

カット編集画面の ≡ メニューの「このフレームをサムネイルに設定」(または P)で、表示中のフレームをサムネイルに設定します。「サムネイルのフレームへ移動」でその位置に戻り、「サムネイルの設定を解除」で設定を外します。

出力 サムネイル
.mp4 .m4v カバー画像(covr)として埋め込みます
.mkv cover.jpg という添付ファイルとして埋め込みます
そのほか(.mov .webm .ts .m2ts、ディスクなど) サムネイルは埋め込みません(設定しても無視します)
  • インターレースの録画は片方のフィールドから作るので、縞は出ません。1080i の録画なら 1920×1080 の画像になります。
  • カットで消える部分のフレームも選べます。
  • 設定はプロジェクトに保存され、クイックプロパティにも「サムネイル:」の行が出ます。
  • Ctrl+Z では取り消せません。「サムネイルの設定を解除」を使ってください。
  • コマンドラインでは --poster 時刻 で指定します。時刻は --keep と同じく、秒数か 1:23:45.6 の形で書きます。

直した不具合

書き出し

  • FLAC の音声を FLAC のまま再エンコードする書き出し(.mkv・.mp4・.mka など)が、Invalid data found when processing input で必ず失敗していました。
  • FLAC の音声を AAC に再エンコードして .ts・.m2ts・BDAV に書き出すと、AAC のプロファイルが実際とは違う値(LTP)で記録されていました。
  • 結合で、インターレースのクリップを基準クリップに合わせて再エンコードすると、フィールドの順番(トップが先かボトムが先か)が逆に記録されることがありました。再生すると、動きが小刻みに行ったり来たりします。起きていたのは、フィールドの順番が基準クリップと逆で、高さ(縦の画素数)が同じクリップです。トランジションの区間では起きません。該当する書き出しは、0.8.15 で書き出し直してください。
  • 放送の番組情報(PSI/SI)を含まない録画を BDAV に書き出すとき、MPEG-1 レイヤー I の音声を、クリップ情報ファイル(.clpi)に AAC と記録していました。

ディスク

  • 市販の Blu-ray で、途中で時刻が不連続になるクリップ(BDMV/STREAM/*.m2ts)を、ディスクとしてではなく .m2ts ファイルとして直接開くと、最初の不連続点より後ろでシークやカットの位置がずれていました。
  • レコーダーで録画した一部の BD-RE を GUI で開き直すと、カット編集画面の下にある書き出しの計画に、映像を 1 フレームも含まない 8 秒ほどの再エンコード区間が入っていました(初めて開いたときは正常です)。コマンドラインで、以前 SmartCut が作ったシーク用インデックスを --seek-index で渡したときも同じでした。

入力設定画面・バッチ出力ツール

  • 環境設定とバージョン情報で、文字を選ぼうとしてドラッグし、ウィンドウの外側の暗い部分でマウスのボタンを離すと、ウィンドウが閉じていました。
  • バッチ出力ツールで、ジョブを並べ替えたり(ドラッグ、右クリックの「上に移動」など)消したり(×、「出力済みのジョブを削除」)すると、Shift を押しながら範囲を選ぶときの起点が別のジョブにずれていました。

壊れたファイル・細工したファイル

いずれも普通の録画では起きません。壊れたファイルや、意図的に細工されたファイルを開いたときに備えた修正です。

  • 黒白の検出が、特殊な画素形式(生の Y411)の映像で異常終了していました。
  • 音声や字幕の言語のタグが UTF-8 でないファイルで、異常終了などの予期しない動作を起こすおそれがありました(Rust の未定義動作)。
  • 巨大な外字を大量に含む字幕で、プレビューが固まっていました。
  • サンプリング周波数を極端な値にした FLAC の音声で、数 GB のメモリを確保しようとしていました。
  • 途中で切れている時刻のテーブル(TOT・TDT)を含む録画で、書き出した .ts の一部の区間に時刻が入っていませんでした。

そのほか

  • 入力設定画面の右の列に、横スクロールバーが出ることがあったのを直しました。
  • 英語で表示しているとき、環境設定の長い項目名が右端で切れていたのを直しました。

ドキュメント

  • GUI の使い方:入力設定画面の新しい操作、メディア情報、サムネイルの設定を書き足しました。入力設定画面とカット編集のメニューのスクリーンショットを撮り直し、メディア情報のスクリーンショットを加えました。
  • コマンドライン:--poster の説明を加えました。