動画の一部分を劣化なしですばやく切り取る方法

保存してある動画の何秒から何秒までを手っ取り早く切り取る方法です。
FFmpeg と VBScript を使っています。

動画を見て、何秒目から何秒目までを別ファイルに保存したいという場合で、画質も音質もそのままで変換しないため、それなりに素早くできるかも。

FFmpegの準備

動画をコマンドラインから編集できるフリーソフトに FFmpeg がありまして、かなり重宝しているのですが、Windows で使う場合にはコンパイルして使う必要があります。
その Windows 用にコンパイルして実行ファイルとして配布しているサイトが Builds – Zeranoe FFmpeg です。

ここからダウンロードしたファイルを解凍して、その中から ffmpeg.exe を指定のフォルダに保存しておきます。

FFmpeg が対応しているファイルや、主なパラメータなどは FFmpeg – Wikipedia が参考になります。

FFmpeg を使って動画を切り取る VBScript

例として sample.mp4 ファイルの27秒目から49秒目までを切り取って output.mp4 ファイルとして保存する VBScript の例です。

FFmpeg は C:softffmpegffmpeg.exe として保存しています。

メモ帳などのテキストエディタで、必要部分を書き換え、.vbs の拡張子で保存して実行してください。

実行すると黒いコマンドの枠が現れますが、その枠が閉じると終了です。

strFile = "D:homesample.mp4"
OutputPath = "D:homeoutput.mp4"
timeStart = 27
timeEnd = 49
Const FFmpeg = "C:softffmpegffmpeg.exe"
Set WS = CreateObject("WScript.Shell")
timeLength = timeEnd - timeStart
strCmd = "cmd /c " & FFmpeg & " -ss " & timeStart & " -i """ & strFile & """ -t " & timeLength & " -vcodec copy -acodec copy """ & OutputPath & """"
WS.Run strCmd
タイトルとURLをコピーしました