Windows バッチファイルメモ

バッチでよく使う”%~dpnx1″について

%0: バッチファイル自身
%1: ドラッグしたファイル
~: ダブルクォートを除く
d: ドライブ名
p: パス名
n: ファイル名
x: 拡張子

使い方

set PATH=%~dp0;%PATH%
自身のフォルダのパス通す

start chrome %~dp0index.html
バッチと同じ場所にあるindex.htmlを開く

コマンドプロンプトでLameにwavを渡す

 

コマンドプロンプトでカレントディレクトリを移動する

コマンドプロンプトからしか使えないツール用。

ffmpeg DVDをMP4にする、他

・ファイルを結合する。
copy /b VTS_01_1.VOB + VTS_01_2.VOB + VTS_01_3.VOB + VTS_01_4.VOB input.vob

・VOBファイルをMP4に変換
ffmpeg -i input.vob -b:v 2000k -deinterlace -vcodec libx264 -acodec libmp3lame -b:a 256k -ar 44100 output1.mp4
※-deinterlace がないとコーミングノイズがでる

・コーミングノイズ除去
ffmpeg -i i.mp4 -deinterlace o.mp4

・DVD用の動画を作成
ffmpeg -i input.vob -target ntsc-dvd output1.mp4

・アスペクト比変更
ffmpeg -i output1.mp4 -vf scale=1280:-1 output2.mp4
※16:9のDVDは1280、1.33:1(4:3)のDVDは720
※not divisible by 2は2の倍数ではない場合。

・部分的に切り出す。
ffmpeg -ss スタート ポジション -i input.mp4 -t 切り出す長さ out.mp4

・切り出す長さは秒



・バッチの場合

・ファイルサイズを落とす。
ffmpeg -i input.mp4 -vcodec libx264 -b:v 1000k -acodec libmp3lame -ab 192k output.mp4

・mp3に変換。
ffmpeg -i input.mp4 -acodec libmp3lame -ab 256k out.mp3

・mp4(動画のみ)とmp3を結合
ffmpeg -i 1.mp4 -i 1.mp3 -vcodec copy -acodec copy output.mp4

・mp4の結合(Concat filter)
ffmpeg -i 1.mp4 -i 2.mp4 -filter_complex “concat=n=2:v=1:a=1” output.mp4
n=ファイル数
v=ビデオ(結合するかどうか、1=true or 0=false)
a=オーディオ(結合するかどうか、1=true or 0=false)

・mp4の結合(Concat demuxer)
ffmpeg -f concat -safe 0 -i 1.txt -c copy output.mp4
1.txtには以下の様に記述
file ‘C:/Users/xxx/Desktop/1.mp4’
file ‘C:/Users/xxx/Desktop/2.mp4’

・静止画とmp3の結合
ffmpeg -f image2 -loop 1 -r 24 -i 1.jpg -i 1.mp3 -vcodec libx264 -shortest output.mp4

・指定秒数でサムネイル
ffmpeg.exe -ss 10 -i input.mp4 -vframes 1 -f image2 out.jpg

・m3u8を保存
ffmpeg -protocol_whitelist “file,http,https,tcp,tls” -i i.m3u8 -movflags faststart -c copy -bsf:a aac_adtstoasc out.mp4
動画情報は同階層にあるffprobe.exeで調べられる。

・指定領域を切り抜き
ffmpeg -i input.mp4 -vf crop=W:H:L:T out.mp4

・ノーマライズ
ffmpeg -i i.mp4 -af “volumedetect” -f null NULL
ffmpeg -i i.mp4 -af “volume=6dB” -c:v copy -c:a aac o.mp4

・ファイル結合時の音ズレ修正

VLCで音ズレをチェック(ツール>トラックの同期化)
ここでは-0.8s(音を映像に対して先行させる)で合うことを確認。

ffmpeg -i v.mp4 -itsoffset -0.8 -i a.mp3 -c copy out.mp4

・一つファイルで音ズレ修正

ffmpeg -i i.flv -itsoffset -0.5 -i i.flv -c copy -map 0:v -map 1:a out.mp4

オプションについて

-codecの短縮系が-c
-cは-codecの略で、-codecは-vcodecと-acodecをまとめてという意味。

それぞれ設定する場合、
-vcode -acode
現在は、
-c:v -c:a
と指定する。

ffmpeg -i i.flv -c:v copy -c:a copy o.mp4
このように指定するとエンコードされずコンテナのみ
拡張子から判断し変更される。

ストリームについて

ffmpeg -i xxx
でファイルを読み込むと表示されるストリームについて。

ファイル番号は読み込まれた順、ストリームも順番がある。

Stream #0:0は、
ファイル0番のストリーム0番という意味。

0:vは0番目のファイルの映像全て、0:aは音声全てのように書くこともできる。

・mp4とmp3を合成
ffmpeg -i i.mp4 -i i.mp3 -c copy -map 0:v -map 1:a o.mp4