文字起こしのためffmpegで動画や録音を指定時間で分割する

2021-11-09

その他

t f B! P L

動画や録音を聞いて文字起こしするときは60秒間隔で分割するとやりやすいです。ffmpegだとWindows10でもLinuxでも同じコマンドで簡単に分割できました。

ffmpegのインストール

 KDE neonならmuonからffmpegをインストールします。

【Windows】Windows10にffmpegをインストールする - ソースに絡まるエスカルゴ

 Windows10にはこの説明の通りBuilds - CODEX FFMPEG @ gyan.devからffmpeg-release-full.7zをダウンロードしてパスを設定しました。

動画ファイルを60秒ずつに分割する

How to automatically segment video using ffmpeg without re-encoding? - Ask Ubuntu

ffmpeg -i input.mp4 -map 0 -c copy -f segment -segment_time 60 -reset_timestamps 1 output_%03d.mp4

これでmp4ファイルを60秒毎に分割できました。

キーフレームで分割するので正確に60秒でないときもあるそうです。

オプションについて勉強してみます。

-map 0

Map – FFmpeg

5.11 Advanced options

 変換元の動画のどのストリームを選択して変換するかのオプション。

 mp4ファイルはビデオと音声のそれぞれ複数のストリームを含むことができるらしいです(Can video have multiple streams (like it has 2 audio streams) - Video Production Stack Exchange)。

-map 0はすべてのストリームを選択します。

 -c copy (-codec copy)

5.4 Main options

 コーデックを指定するオプション。

 -c copyで再エンコードせずにコピーします。

 -f segment

ファイルのフォーマットを指定するオプション( 5.4 Main options)。

 フォーマットにはmuxerも指定できます(FFmpeg Formats Documentation)。

 -f segmentでmuxerのsegmentを指定しています。

segment muxerについては詳細な分割設定ができる Segment | ニコラボに解説があります。

以下はsegment muxerのオプションになります。

-segment_time 60

分割する間隔を秒数を指定します。デフォルトは2。

-reset_timestamps 1

分割後のセグメントのタイムスタンプ(PTS)をリセットします。引数はブーリアンでデフォルトは0(つまり無効)。PTSの意味はffmpeg を使うなら知っておきたい話 PTSとかDTSの話:音ずれ問題や時間が変になるときのために ヽ(゚ー゚*ヽ)(ノ*゚ー゚)ノわぁい - Qiitaの解説がわかりやすいです。

音声ファイルを60秒ずつに分割する

FFmpegでMP3ファイルを分割する方法

 このページに書いてあるように次のコマンドで分割できました。

 

ffmpeg -i input.mp3 -f segment -segment_time 60 -c copy output_%03d.mp3

 

音声ファイルでは-reset_timestamps 1 オプションは不要のようです。

動画を指定時間でカットする

ffmpeg で指定時間でカットするまとめ | ニコラボ

この解説がわかりやすいです。

 

 ffmpeg -i input.mp4 -t 00:02:33 -c copy output.mp4

00:02:33までを出力します。

 

ffmpeg -ss 00:09:17 -i input.mp4 -c copy output.mp4

00:09:17までを削除します。

 

 ffmpeg -ss 00:01:10 -to 00:01:40 -i input.mp4 -c copy output.mp4

 1:11から1:40までを出力します。

 

GUIでffmpegを操作する

 LosslessCut

KDE neonのDiscoverで検索してでてきたLosslessCutのSnap版3.39.0をインストールしてみました。アプリケーションランチャーではユーティリティに分類されていたのでマルチメディアに変更しました。

 losslesscutの使い方の説明と日本語化のやり方

使い方はこのページに詳しいです。

分割と結合はわかりましたが、「60秒毎に分割」というやり方はわかりませんでした。

このGUIで実行したffmpegのコマンドはヘルプ ー> ヘルプとショートカット ででてくる画面の一番下にある「最近のFFMPEGコマンド」で確認できます。

ブログ検索 by Blogger

Translate

最近のコメント

Created by Calendar Gadget

QooQ