1行のコマンドでビデオの一部を抽出する


81

ビデオがあり、通常はaviですが、任意のビデオを使用でき、同じフォーマットで一部だけ、ビデオのi秒からf秒の位置に別のビデオを作成したい場合、1行のコマンドを実行しますこの?

回答:


114

これはとを使用mencoderして実行できますffmpeg

メンコーダー

00:00:30から始まる部分を5秒の長さの元のファイルに切り取り、再エンコードしないようにします(再エンコードする場合はcopy、オーディオに置き換える必要があります)使用可能なオーディオコーデックの問題mencoder -oac helpのリスト、および使用可能なビデオコーデックの問題のリストについては、ビデオコーデックmencoder -ovc help)、次を発行します。

mencoder -ss 00:30:00 -endpos 00:00:05 -oac copy -ovc copy originalfile -o newfile

あなたは交換する必要がありますorginalfileし、newfile実際のファイル名で、後には切り取ら一部を保持するために作成されたファイルの名前です。

ffmpeg

00:00:30から始まる部分を5秒の長さの元のファイルに切り取り、再エンコードしないようにします(再エンコードしたい場合は、交換する必要があります)copy使用可能なコーデックの問題のリストについては、オーディオコーデックとビデオコーデックを使用してffmpeg -formats -Eください)、次を発行します。

ffmpeg -ss 00:00:30 -i orginalfile -t 00:00:05 -vcodec copy -acodec copy newfile

あなたは交換する必要がありますorginalfileし、newfile実際のファイル名で、後には切り取ら一部を保持するために作成されたファイルの名前です。


参考については、http://lazyxiong-tech.blogspot.com/2007/05/using-mencoder-to-cut-out-pieces-of.htmlおよびhttp://の「7.ビデオの一部のみをコピー」を参照してください。segfault.in/2010/10/ffmpeg-tricks-you-should-should-about/


私はそれを試して失敗しました。avi、flv、mpgに使用する典型的なコーデックでコマンドがどのようになるかを教えていただけますか?コーデックをリストしましたが、あまり意味がありませんでした。
ストラパコフスキー

@strapakowsky入力ファイルとインストールしたコーデックによって異なります。たぶん、あなたはそれについて新しい質問をして、あなたが持っているファイルとあなたが試したコマンドについての情報を追加すべきです。
NN

@strapakowsky ffmpegでも動作させることはできませんが、ffmpegで部品を切り取る際のガイドはすべて、何らかの形で動作するはずなので、答えに留めておきます。ただし、メンコーダーの行も追加しました。
NN

このバージョンを使用しました。オプションの前にある-ss ... -t ...必要があるため、それはあなたのために機能していません。実際のワンライナーについては、この回答をご覧ください。あなたはほとんどそれを得ただけではないため...-i infile
Hendy

1
したがって@Hendy編集
NN

25

再エンコードモードまたは再エンコードモードなしでビデオをカットする必要がありますか?以下のコマンドを試すことができます。

概要:ffmpeg -i [入力ファイル] -ss [開始秒] -t [デュレーション秒] [出力ファイル]

再エンコードせずにFFmpegカットmp4ビデオを使用

Example:
ffmpeg -i source.mp4 -ss 00:00:05 -t 00:00:10 -c copy cut_video.mp4

再エンコードでFFmpegカットmp4ビデオを使用

Example:
ffmpeg -i source.mp4 -ss 00:00:05 -t 00:00:10 -async 1 -strict -2 cut_video.mp4

最初からセクションを切り取りたい場合-t 00:00:10は、コマンドからドロップします


0

medipackは、のラッパーとしての非常にシンプルなコマンドラインアプリですffmpeg

次のコマンドを使用してビデオをトリミングできます。

medipack trim input.mp4 -s 01:04 -e 14:08 -o output.mp4
medipack trim input.mp4 -s 01:04 -t 13:04 -o output.mp4

trimサブコマンドのオプションは次のように表示できます。

srb@srb-pc:$ medipack trim -h
usage: medipack trim [-h] [-s START] [-e END | -t TIME] [-o OUTPUT] [inp]

positional arguments:
  inp                   input video file ex: input.mp4

optional arguments:
  -h, --help            show this help message and exit
  -s START, --start START
                        start time for cuting in format hh:mm:ss or mm:ss
  -e END, --end END     end time for cuting in format hh:mm:ss or mm:ss
  -t TIME, --time TIME  clip duration in format hh:mm:ss or mm:ss
  -o OUTPUT, --output OUTPUT

を使用して他のオプションを調べることもできます medipack -h

srb@srb-pc:$ medipack --help
usage: medipack.py [-h] [-v] {trim,crop,resize,extract} ...

positional arguments:
  {trim,crop,resize,extract}

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         Display version number

あなたが訪問するかもしれhttps://github.com/srbcheema1/medipack READMEにし、チェックアウトの例を。


-1

より正確にするには、次のようにします。フレームアドバンスでフレームプレーヤーを使用するメディアプレーヤーで手動でファイルを開き(MPC-HCが動作するお気に入りのポットプレーヤー)、次のようなデータを含むAVISynthファイルを再生します。

DirectShowSource(("C:\Downloads\Video\Do you want him.flv"), Pixel_Type="yuy2").Crop(0,0,-0,-0)
Subtitle("C:\Downloads\Video\Do you want him.flv", font="Arial", size=24, text_color=$ff0000, align=3)
ShowFrameNumber(scroll=true, x=336, y=27, font="Arial", size=24, text_color=$ff0000)

ShowTime(x=398, y=44, font="Arial", size=24, text_color=$ff0000)

次に、正確な時間形式でカットします。

ffmpeg -i "Path\do you want him.flv" -ss 00:00:05.240 -to 00:00:08.360 -vcodec libx264 -acodec libvo_aacenc "Path\Do you want him1.flv"

そして

ffmpeg -i "Path\do you want him.flv" -ss 00:00:10.240 -to 00:00:14.360 -vcodec libx264 -acodec libvo_aacenc "Path\Do you want him2.flv"

参加したい場合は、次のような内容のビデオファイルを含むtxtファイルを作成します。

file 'C:\Downloads\Video\Do you want him1.flv'

file 'C:\Downloads\Video\Do you want him2.flv'

実行ffmpeg

ffmpeg -f concat -i FileList.txt -c copy "Path\NewName_joined.flv"

プログラム的にプログラムを作成しましたが、表示するレベル10がありません。ごめんなさい

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.