2018年1月9日火曜日

ファイル検索リンク作成と動画ファイルの再生・エンコード支援バッチ 「FFJungle」

■ファイル検索リンク作成と動画ファイルの再生・エンコード支援バッチ「FFJungle」
 ダウンロードは⇒「FFJungle Download」
 
出来る事は大きく三つ
 (1)ファイルの検索とリンク作成
  指定した検索パスを、指定条件でフォルダ名やファイル名を検索し、出力先にリンクを作成する。

 (2)音楽・動画のプレイヤーの再生支援 ※再生はWindows設定プレイヤー
  検索リンクが音楽ファイルや動画ファイルの場合、既定のアプリで再生する。※再生は指定時間単位。または停止
  1.連続再生をする。※再生グループの指定とランダム再生可能
  2.再生ファイルの再々生除外。※初期化で元に戻せる
  3.再生ファイルの評価 (1~9段階)
  4.任意の評価グループを連続再生をする。※評価グループの指定とランダム再生可能

 (3)動画ファイルのエンコード支援 ※エンコードはffmpegセット利用
  適切なffmpegファイル(https://ffmpeg.zeranoe.com/builds/)がFFJungle.batと同パスに存在する場合、以下の機能が有効になります。
  1.ファイル時間を参照して再生できる。※指定時間単位も可能
  2.動画ファイルの場合、指定フォーマットでエンコード変換できる。※既定はH.265 ユーザにより変更可能
  3.動画ファイルのエンコード処理を、動画のビットレートを参照して閾値を超えたファイルのみに出来る。
  4.ffplay.exeによる動画再生。


■注意事項
 FFJungle は全てWindows-Dosコマンドのバッチスクリプトで作成しているため、実行には注意しなければならない点があります。
 (1)DOSの管理者モードで動かす必要があります。
 (2)システムドライブのルート指定(例 c:\)はしないでください。
 (3)BAT実行中にDOS窓をクリックすると実行が停止する場合があります。その場合はキー入力すると実行再開します。また裏でOSアップデートなどが行われている場合、動きが非常に遅くなります。
 (4)Windows Dosの制限に縛られるため、一部の記号や特殊文字があると検索しないや動作エラーなどの原因になります。 !%^ハンカク・の半角記号は全角文字か別記号かに置換または削除してください。\/:*?"<>|もだがファイル名に出来ないハズ。
 (5)半角と全角は別名として扱います。それぞれ指定してください。
 (6)バッチ本体及び出力先は必ずローカルドライブ上のパスにしてください。
 (7)著作権ファイルの再生・変換は対応していません。
 (8)標準プレイヤーが多重起動許可している場合、必ず無効にしてください。


■個人的にあると便利なアプリケーション
 (1) 忘れちゃならない『ffmpeg (https://ffmpeg.zeranoe.com/builds/)』(Windowsが32bit版か64bit版を環境に合わせて選択)
 (2) 注意事項(4)を出来るだけ回避するにはFlexibleRenamer (https://hp.vector.co.jp/authors/VA014830/FlexRena/)が便利です。検索対象フォルダの!%^ハンカク・などのファイル名を予め全角に置換しておくと検索エラーの多くを回避できます。
 (3) 再生プレイヤーは、最近はPotPlayer (https://potplayer.daum.net/)を標準で利用しています。著作権保護ファイル以外、ほぼすべての形式を再生してくれて何より軽いのが気に入ってます。
 インストール直後は多重起動が有効の場合は必ず無効にします。それと再生サイズや位置を記憶してくれるよう設定できるので、マルチ画面連続再生とか画面サイズを変えずに再生する事ができます。


■動作確認 OS
  Windows 7 Pro SP1(32bit)
  Windows 10 Pro (64bit)


■ファイル説明
 (1)インストールファイル
  FFJungle.bat バッチ本体
  FFJungle.bau バッチ設定ファイル1(システム設定)

 (2)実行すると出来るファイル
  FFJungle.ini バッチ設定ファイル2(ユーザ設定)
  FFJungle.log バッチ実行ログ
  FFJungle.tmp 実行作業ファイル

 (3)再生支援アプリ ※再生補正やエンコード機能を利用するには必須。
  FFmpegのWindows版(32bit版か64bit版を環境に合わせて選択)をhttps://ffmpeg.zeranoe.com/builds/ より取得。
  圧縮ファイルより3ファイルを取り出す。
   ffmpeg.exe
   ffplay.exe
   ffprobe.exe
  FFJungle.batと同じパスに置く。

 (4)そのうちインストールファイルに追加予定
  Readme.txt  説明ファイル


■インストール
 (1)圧縮ファイルを任意の場所に展開する。※必ずローカルドライブ上のパスに置く。
 (2)FFJungle.batのショートカットを作る。
 (3)作ったFFJungle.batのショートカットに「管理者として実行」権限を付ける。
   右クリックのプロパティの「ショーカット」タブの「詳細設定(D)」ボタンを押して、管理者として実行(R)にチェックを入れて「OK」ボタンを押す。
 (4)同プロパティの「レイアウト」タブのバッファサイズを倍以上、ウインドサイズを大きくする。
  ※バッチを動かした後に環境に応じて調整してください。


■アンインストール
 展開したフォルダごと削除してください。


■使用許諾・免責・配布条件
 (1)本プログラムは、フリーウェアです。また本プログラムは、ソースコードを公開します。
 (2)本プログラムを使用・改変した上で生じたいかなる損害についても、作者は一切の責任を負いません。
 (3)転載、及び配布を行う際においては、事前に作者に連絡してくださると有難いです。
 (4)本プログラム、およびドキュメントの内容は、予告なしに変更できることとします。


■著作権
 著作権は、作者である是々録画が所有します。


■その他
 使用した感想などありましたら下記までお願いします。
 https://zezerokuga.blogspot.jp/


■基本的な流れ 
 デスクトップにフォルダを置いた場合。

起動直後メニューです。管理者モードで実行しています。
何も設定が無いと、出力PATHをFFJungle設置フォルダ、検索PATHをユーザフォルダに設定を追加します。操作はコマンド入力です。項目1~4は改行で移動。項目内の詳細は数字キー指定で移動します。検索実行は\[Enter]です。
上記は
 1.出力PATH FFJ\MV\ に結果リンク作成 (FFJは短名)
 2.検索条件 .mp .wm がパス・ファイル名・拡張子のどこかに含まれてる
 3.検索PATH UPF\  個人フォルダ検索(UPFは短名)
 の設定で実行した結果です。1件ヒットしました。s[Enter]で設定を保続すると"最終更新時間"も保存し、次回検索時に最終更新日時以前のファイルは追加しないようになります。
 コマンド簡易一覧以外の文字列は検索条件と判断し「2.検索条件」の詳細に追加します。直後に\[Enter]して素早い検索の実行が可能です。


■開発までの経緯
 ぶっちゃけ動画の取り扱いが「イロイロメンドクサクなった」に尽きます。動画整理を自分なりに拘ってたら、いつの間にか「時間が足らない」「手が足らない」「HDD容量が足らない」と足らない尽くしに、にっちもさっちもいかなくなってました。取り扱う動画ファイル数や保存先が多くなり、変換に時間が足らなくなり、録画ファイル一時保管のHDDの増設が繰り返され、このままではて小遣いが出てくばかりの悪循環(;´Д`)
 何とかしなければと、仕事の合間にチマチマと作りました。結果は過去イロイロ作ったマクロやスクリプトを整理して一つにまとめたよーなバッチになりました。


■操作マニュアル
 全く出来てません。
  (未)検索設定
  (未)検索実行
  (未)再生支援
  (未)変換手順
  (未)その他
 順次作成してリンクしていく予定ですが、果たしていつになるやら(;´Д`)


■簡易メニュー説明
 FFJungleの操作はキャラクタベースのため、決して快適とは言えません。
 画面に合わせて表示するガイダンスを見て実行してください。

 (1)設定編集
  q 終了 終了します。
  a 追加 指定項目に条件を追加します。
  e 編集 指定条件を編集します。
  d 削除 指定条件を削除(空白化)します。
  s 保存 設定をFFJungle.bauとFFJungle.iniに保存します。
  j 全接 全表示検索条件をリンクします。
  jj 有接 リンクが存在する検索条件のみリンクします。
  h 接外 リンクを外します。
  k KEY 編集ロックフラグON/OFF
  kk ロック 編集ロックON/OFF

 (2)設定移動 ※出力条件設定のみ
  p 出力条件設定の移動〈前〉
  n 出力条件設定の移動〈次〉
  pp 出力条件設定の移動〈先頭〉
  nn 出力条件設定の移動〈末尾〉

 (3)エクスプローラを開く
  o explorer〈出力パス〉
  oo explorer〈検索出力パス〉
  ooo explorer〈感想出力パス〉
  i explorer〈検索パス〉i数

 (4)検索リンク作成など
  \ 〈検索リンク〉差分作成
  \/ 〈検索リンク〉作成
  \\ 〈検索リンク〉差分連続作成
  \\// 〈検索リンク〉連続作成
  \/-- 〈検索リンク〉戻し
  @\-- 〈検索リンク〉再生履歴戻し
  @@-- 〈感想リンク〉再生履歴戻し

 (5)Windows設定アプリで再生
  [ 〈検索リンク〉昇順再生
  ] 〈検索リンク〉降順再生
  [[ 〈感想リンク〉昇順再生
  ]] 〈感想リンク〉降順再生
  @ 〈検索リンク〉ランダム再生
  @[ 〈検索リンク〉検索フォルダランダム昇順再生
  @] 〈検索リンク〉検索フォルダランダム降順再生
  [@ 〈検索リンク〉昇順再生
  ]@ 〈検索リンク〉降順再生
  @@ 〈感想リンク〉ランダム再生
  @[[ 〈感想リンク〉感想フォルダランダム昇順再生
  @]] 〈感想リンク〉感想フォルダランダム降順再生
  [[@ 〈感想リンク〉昇順再生
  ]]@ 〈感想リンク〉降順再生

 (6)プレイヤー時再生メニュー
  Q抜け 再生を中止してトップメニューに戻る。
  S再停 再生終了時に自動で次ファイルを再生するか、ユーザの操作を待つかの切替。
  R共通 リンクを設定1の再生フォルダに移動させる。
  《《1再生》 2焼却 3ゴミ 4放置 5卓上 6収納 7宝箱 8神棚 9天上》 評価1~9移動
  0先頭 同じファイルを最初から再生する。
  P次へ 次ファイルを再生する。
  O開く リンクフォルダを開く
  《F換720 J換900》 再生中ファイルのエンコード変換 ※FFmpeg無しは非表示

 ※(7)(8)はFFmpegがBATと同じパスに無いと動きません。

 (7)ffmpegによるエンコード処理
  / 感想Noファイル概要確認
  // 持出処理〈対象参照〉
  /@ 持出処理〈閾値内コピー〉
  /@@ 持出処理〈全コピー〉
  /@f 持出処理〈閾値内コピー外sd変換〉
  /@j 持出処理〈閾値内コピー外hd変換〉
  /f 持出処理〈閾値外sd変換〉
  /j 持出処理〈閾値外hd変換〉
  /ff  持出処理〈全sd変換〉
  /jj 持出処理〈全hd変換〉

 (8)ffplay再生 メニューは非表示
  - ffplay〈検索リンク〉ランダム再生
  -[ ffplay〈検索リンク〉検索フォルダランダム昇順再生
  -] ffplay〈検索リンク〉検索フォルダランダム降順再生
  [- ffplay〈検索リンク〉昇順再生
  ]- ffplay〈検索リンク〉降順再生
  -- ffplay〈感想リンク〉ランダム再生
  -[[ ffplay〈感想リンク〉感想フォルダランダム昇順再生
  -]] ffplay〈感想リンク〉感想フォルダランダム降順再生
  [[- ffplay〈感想リンク〉昇順再生
  ]]- ffplay〈感想リンク〉降順再生


■引数起動
 起動オプション 第一引数(数字) 指定出力パス条件で検索を連続実行する。
ex. FFJungle.bat 2 2番目の出力パスのリンクする条件で検索を自動実行する。