深緑の女魔術師の私的なブログ★彡

Welcome to my blog!

【動画加工の私的なメモ】ffmpegの私的なバッチファイル2号機 単なる引数10個以上対応のバッチファイル・・・(一応、動画結合ツール)

2020/04/01
その他言語 0
深緑の女魔術師 バッチファイル ffmpeg 動画
深緑の女魔術師です。

動画の結合も自動化?

と思ったけど、
単なるバッチファイルサンプル・・・

バッチファイルなんて、
データベース系の処理でしか
ほぼ触る機会がないので、
知識はほとんどないです。

10個以上の引数を扱う?


10個目ってどー使うの??

%0 -> 実行ファイル
%1 ~ %9 -> 9個までの引数
?? ~ ?? → 10目以降の引数

調べて発覚で内部的には
10個目以降がちゃんとあるみたいだけど、
そのまま %10 とかで参照は不可・・・

ってことで、
shift なるコマンドの出番で、
バッチファイル内で詠唱することで?

%0 -> 実行ファイル
%1 ~ %9 -> 9個までの引数
%10 ~ &XX → 10目以降の引数

shift 詠唱

%0 -> 1個目の引数
%1 ~ %9 -> 2~10個目までの引数
%10 ~ &XX → 11目以降の引数

って感じで、
スライドするみたいで、
10個目の引数を参照できるみたい。

故に以前の引数が欲しい場合は、
テキトーな変数に保存する必要あり。
(不要なら問題なし)

shift
shift
shift

って感じでれんぞくますることで、
回数分スライドしてくれる。

#shift /3 的な使い方もあるけど
#今回は要らないのでスルーする。


FFMpeg


脱線したけど、
やりたいのはドラッグ&ドロップより、
ファイルリストを作りたいだけ。

前提
・ffmpegのパスを通してるコト

仕様
・ドラッグ&ドロップでリスト作成
・順番はWindows仕様!(※)
・引数なし時は結合だけ行う
(リストは手動で作成も可能)
・リストから動画を結合する

ソース

For文で…と思ったけど、
うまくできなかったので
GOTO文にて無限ループ

rem ここからソース

@echo off

echo ------------------------------------------------
echo ffmpegの私的なバッチファイル2号機
echo テキトーな動画結合(ドラック&ドロップ対応版)
echo 作成日:20200401
echo 更新履歴
echo 20200401 深緑 新規作成
echo ------------------------------------------------

rem 引数なし時はジャンプする
if "%1" == "" (GOTO :LoopEnd)

rem ファイルリスト初期化
type nul > filelist.txt

rem <-- ループ開始
:LoopStart

rem パスを追記する
echo file ’%~1’>>filelist.txt

rem 引数を装填
rem (%2→%1へスライド)
shift

rem 終了判断
rem OK if not("%1" == "") (GOTO :LoopStart)
rem NG if not ("%1" == "") (GOTO :LoopStart)
if not "%1" == "" (GOTO :LoopStart)

:LoopEnd
rem ループ終了 -->

rem 動画を合体させる
ffmpeg -f concat -safe 0 -i filelist.txt -c copy merge.mp4

PAUSE


rem ここまでソース

って感じで
単なるバッチファイルだね。

結合したいファイルパスに
「file 」を付けるだけだし、
どーせ数回使うか怪しいので、
こんぐらい手動でやれって感じ…

とりあえず、
10個目以上の引数の仕様が
学習できたからいっか?

というより、
それメインの方が
たぶん使い勝手が良さげ?

というのは、
順番があれなんだよ・・・

※順番はWindows仕様!
動かして判明したけど、
基本は名前順っぽいけど、
ドラッグ時に選んだファイルが軸?

01.txt ~ 10.txt があって全選択して、
07.txtを選択しながらドロップすると??

%1 → 07.txt
%2 → 08.txt
%3 → 09.txt
%4 → 10.txt
%5 → 01.txt
%6 → 02.txt
%7 → 03.txt
%8 → 04.txt
%9 → 05.txt
%10 → 06.txt

ってなっちゃうっぽいので、
名前通りに引数を使いたい場合は、
01.txtを選択してドロップが必要。。。

そもそも名前順とは限らないので、
ファイルリストは手動で作れ!
って感じですね・・・


以上。
関連記事
スポンサーサイト



最後まで読んでくれてありがとう!

一応ランキングに参加?

にほんブログ村 スロットブログ スロット日記へ

Comments 0

There are no comments yet.