3 ポイント 投稿者 GN⁺ 2024-07-01 | 1件のコメント | WhatsAppで共有

LosslessCut

LosslessCutは、ビデオおよびオーディオファイルを劣化なしで高速に編集できる、FFmpegベースのクロスプラットフォームGUIツール。ビデオカメラ、GoPro、ドローンなどで撮影した大容量のビデオファイルをすばやく切り出して保存し、ストレージ容量を節約できる。また、音楽や字幕トラックをビデオに追加する際にもエンコードは不要。

主な機能

  • ほとんどのビデオおよびオーディオ形式を無劣化でカット
  • スマートカット(実験的機能)
  • ビデオ/オーディオの特定部分を無劣化で切り出し
  • ビデオ/オーディオセグメントの順序を無劣化で並べ替え
  • 同一のコーデックパラメータを持つファイルを無劣化でマージ/連結
  • 複数ファイルから任意のトラックを結合(例: ビデオファイルに音楽または字幕トラックを追加)
  • 不要なトラックを削除
  • 一部のトラックのみ再エンコードまたは置換
  • ファイル内のすべてのトラックを抽出(ビデオ、オーディオ、字幕、添付ファイルなど)
  • 高速なマルチファイルワークフロー(大規模/バッチエクスポートなし)
  • キーボードショートカット中心のワークフロー
  • ビデオ/オーディオを別のコンテナ形式へ無劣化でリミックス
  • ビデオからJPEG/PNG形式のフル解像度スナップショットを撮影
  • ビデオフレームを画像として書き出し(nフレームごと、毎秒、シーン変更時)
  • 選択した時間範囲のみを書き出し
  • 画像ファイル名に元のタイムスタンプを含めるオプション
  • カットポイントの時刻を手動入力
  • ファイルごとのタイムコードオフセットを適用(ファイルから自動読み込み)
  • ファイルメタデータ、トラック別メタデータ、トラック別ディスポジションの編集
  • ビデオの回転/向きメタデータを変更
  • すべてのトラックの技術情報を表示
  • タイムラインのズームとキーフレームジャンプ
  • ビデオサムネイルとオーディオ波形
  • プロジェクトファイルにカットセグメントを保存
  • FFmpegの最後のコマンドログを表示
  • 元に戻す/やり直し
  • カットセグメントにラベル付け
  • タグでセグメントに注釈を追加
  • セグメントのインポート/エクスポート: MP4/MKVチャプターマーク、テキストファイル、YouTube、CSV、CUE、XML(DaVinci、Final Cut Pro)など
  • MKV/MP4内蔵チャプターマークエディタ
  • 字幕表示
  • カスタマイズ可能なキーボードショートカット
  • 黒画面検出、無音オーディオ検出、シーン変更検出
  • タイムラインを長さLまたはNセグメントに分割
  • ビデオまたはオーディオファイルの速度調整(FPS変更)
  • 基本的なCLIおよびHTTP API

無劣化の使用例

  • 録画したテレビ番組から広告を削除(TSからMP4へ再フォーマット)
  • ファイルからオーディオトラックを削除
  • ビデオから音楽トラックを抽出し、必要に応じてカット
  • ビデオに音楽を追加(または既存のオーディオトラックを置換)
  • 別録りの音声と映像トラックを結合
  • 外部字幕をビデオに含める
  • iPhoneで再生するためにH264/H265 MKVビデオをMOVまたはMP4へすばやく変更
  • 他ツールからカット時間をEDL(編集決定リスト、CSV)として取り込み、LosslessCutで実行
  • カット時間をCSV EDLとして書き出し、他ツールで処理
  • MP4/MKVチャプターでファイルをすばやく分割
  • YouTube動画をチャプターごとにすばやく分割(またはコメント欄の音楽タイムスタンプを利用)
  • ファイルのオーディオ/字幕トラックの言語を変更
  • 外部JPEGファイルまたはタイムラインのフレームから、ビデオ/オーディオにカバーアート/サムネイルを添付
  • ビデオの作者、タイトル、GPS位置、録画時刻を変更
  • 誤った向きフラグが設定されたビデオの回転を修正
  • ビデオ/オーディオクリップをX回繰り返す(再エンコードなし)
  • ビデオまたはその一部をX枚の画像ファイルに変換(無劣化)
  • ビデオをシーンごとに1ファイルずつ分割
  • オーディオ/ビデオの無音部分をカット
  • Twitterの140秒制限に合わせるため、ビデオをセグメントに分割
  • 各セグメントに1つ以上のタグを注釈として付け、それを使ってセグメントを整理したり、出力フォルダ構造や階層を作成

YouTubeチャプターとしてカット時間をエクスポート

  1. マージして、"マージしたセグメントからチャプターを作成"を有効にしてエクスポート
  2. エクスポートしたファイルを開き、ダイアログで"チャプターをインポート"を選択
  3. ファイル -> プロジェクトをエクスポート -> YouTubeチャプター

オーディオトラックのみ再エンコードし、ビデオトラックは無劣化のまま維持

  1. 各トラックを個別ファイルとしてエクスポート
  2. Handbrakeまたは同様のツールを使ってオーディオファイルを再エンコード(mp4ファイルの場合はAACでエンコード)
  3. 抽出したビデオストリームをLosslessCutで開く
  4. エンコード済みオーディオファイルを開き、"新しいファイルからすべてのトラックを含める"を選択
  5. エクスポート

高度な多段階ワークフロー

ヒント: LosslessCutを複数回使えば、個別のトラックをそれぞれ別々にカットできる

  1. ファイルを開き、すべてのトラックを個別ファイルとしてエクスポート
  2. 書き出したトラックファイルを個別に開き、必要に応じてカット
  3. トラックをビデオに再追加し、1つの出力ビデオとして結合

ダウンロード

LosslessCutの継続的な開発を支援し、安全でシンプルなインストール手順と、自動かつ安定したアップデートの恩恵を受けたいなら、好みのストアからのダウンロードを検討するとよい。

対応オペレーティングシステム

  • Mac OS X: Intel DMG / Apple Silicon DMG
  • Windows: 7zip(Windows 7、8、8.1はv3.50.0以降サポート対象外)
  • Linux: x64 tar.bz2 / x64 AppImage / arm64 tar.bz2 / Raspberry Pi armv7l

対応フォーマット

LosslessCutはChromiumのHTML5ビデオプレイヤーを使用しており、FFmpeg対応のすべてのフォーマットやコーデックがネイティブでサポートされるわけではない。一般的には次の形式が動作する:

  • ビデオフォーマット: MP4, MOV, WebM, Matroska, OGG, WAV
  • オーディオコーデック: FLAC, MP3, Opus, PCM, Vorbis, AAC
  • ビデオコーデック: H264, AV1, Theora, VP8, VP9, H265(ハードウェアデコーダが必要)

ビデオデモ

  • 一般機能
  • MP4にサムネイル/カバーアートを追加する方法
  • ビデオに多言語オーディオを追加する方法

一般的なワークフロー

  • ビデオファイルをプレイヤーにドラッグ&ドロップするか、/CTRL+Oを使用
  • SPACEを押して再生/一時停止、または◀``▶, .、あるいはマウス/トラックパッドのホイールで前後に移動
  • タイムマーカーを移動してカットセグメントの開始/終了時刻を選び、Iで開始時刻、Oで終了時刻を設定
  • すべてのセグメントは保持され、新しいファイルとしてエクスポートされる。この動作を変更したい場合は、Yin Yang記号☯️を使って選択したセグメントを削除し、セグメントの部分を書き出すよう設定可能
  • 複数のセグメントを追加するには、目的の開始時刻へ移動して+を押し、その後I/Oで次のセグメントの開始/終了時刻を選択
  • カット後、選択したすべてのセグメントを1ファイルに再マージするには、Separate filesボタンをMerge cutsに切り替える
  • 特定の出力フォルダに書き出すには、Working dir unsetボタンを押す(デフォルト: 入力ファイルのフォルダ)
  • 向きを変更するには、回転ボタンを押す
  • デフォルトでは入力ファイルのオーディオ、ビデオ、字幕トラックがカットされて書き出される。Tracksボタンを押すと、カスタマイズや、別ファイルから新しいトラックの追加が可能
  • 新しい出力フォーマットを選択可能
  • 右側のセグメントパネルでセグメントを右クリックしてオプションを選ぶか、ドラッグ&ドロップで並べ替え。マージ後の出力ではこの順番で表示される
  • 完了したらExportボタン(またはE)を押して、エクスポートオプションの概要を表示
  • エクスポートオプションの調整が可能
  • もう一度エクスポートを押してエクスポートを確定
  • 現在時刻でJPEG/PNGスナップショットを撮るには、カメラボタン(またはC)を押す
  • 元ファイルをごみ箱へ移動するには、ごみ箱ボタンを押す
  • 最良の結果を得るには、別の出力フォーマット(Matroskaはほぼ何でも収容可能)を試す、キーフレームカットモードを変更する、あるいは一部トラックを無効化する必要がある場合がある
  • すべてのキーボードおよびマウスショートカットを見るには、SHIFT + /を押す
  • 注: 元のビデオファイルは変更されない。代わりに、元ファイルと同じディレクトリにfrom/toタイムスタンプを含むファイルが生成される

GN⁺の見解

  • LosslessCutは、ビデオおよびオーディオファイルを無劣化で高速に編集できるツールで、特に大容量ファイルを扱うユーザーに有用。
  • FFmpegベースで動作するため非常に高速で、さまざまなフォーマットとコーデックに対応する。
  • スマートカット、マルチファイルワークフロー、キーボードショートカットなど多彩な機能を備え、使い勝手を高めている。
  • 類似機能を持つツールとしてはAvidemux、Shotcutなどがあり、それぞれの長所・短所を比較してみるとよい。
  • 新しい技術やオープンソースを採用する際は、対応フォーマットとコーデック、ユーザーインターフェースの直感性などを考慮する必要がある。

1件のコメント

 
GN⁺ 2024-07-01
Hacker Newsのコメント
  • VideoReDoのようなオープンソースの競合に見える

    • VideoReDoは個人開発者が作ったプロプライエタリソフトウェアで、最近その開発者が亡くなった
    • 「ロスレス」な動画編集とは、再エンコードせずに動画の特定部分を切り出すこと
  • ロスレス編集は、元のコンテナを新しいコンテナへリミックスすること

    • FFMpegを使って処理を行う
    • 現代の動画形式はすべて、複数の映像トラックや音声トラックを含むコンテナの拡張になっている
    • トラックは適切なコーデックでエンコードされた Elementary Streams(ES)である
    • 「muxing」の過程でコンテナに結合され、各サンプル/フレームにタイムスタンプが付与される
  • ESはエンコードされているため、フレーム単位の正確さは得られない

    • I-Frameだけが完全にデコード可能
    • IPPBPPB... のシーケンスは GOP(Group of Pictures)と呼ばれる
    • NALユニットを通じてフレームの種類を識別できる
  • ESビットストリームを解析して GOP 境界を検出できる

    • GOPの途中では切れないため、1秒未満の精度で切るか、GOP全体をデコードしてI-Frameを挿入する方法がある
    • 非常に高速なビット操作とコンテナ間コピーにより効率的な処理になる
  • LosslessCutを使って、ダイビング大会の映像を個々のダイビングクリップに分割するのに役立った

    • 3時間の大会を1時間以内に分割できた
  • 関連リンクあり

    • LosslessCut: ロスレスな動画/音声編集
    • Lossless-cut: ロスレスな動画/音声編集のスイスアーミーナイフ
    • LosslessCut – 動画ファイルを高速かつロスレスでカット
    • Show HN: LosslessCut – 高速でロスレスな動画カットのためのクロスプラットフォームGUIツール
  • 便利な bash スクリプトを共有

    • ffmpegを使って動画を切り出すスクリプト
    • 開始/終了時刻を秒単位で受け取って処理する
  • AVIDemuxは似た機能を提供するネイティブアプリ

    • Electronアプリが100MB超えであることへの不満をあらかじめ防ぐため
  • GitHubではGPL-2.0ライセンス、snap storeではMITライセンス、Mac OS APP storeでは19ドル

  • ffmpegとロスレスカット技術のあいだに文書化された情報があるのか気になっている

  • LosslessCutの大ファンで、ほぼ毎日使っている

    • 画面録画を切ったり編集したりするのに使っている
    • ロスレスなので保存はほぼ即時に終わる
    • 必要に応じてPermuteで再圧縮したり、Davinci Resolveでエフェクトを追加したりする
  • リモートサーバー上で動画をロスレスでダウンロードして切り出せるのか気になっている

    • 現在はffmpegを使ってYouTubeのようなサイトから動画をダウンロードして切り出している
    • 動画をダウンロードしながらリアルタイムで再エンコードする必要がある
    • ローカルに動画情報がないため、ロスレスでのダウンロードや切り出しは不可能だと思う