ラベル ffmpeg の投稿を表示しています。 すべての投稿を表示
ラベル ffmpeg の投稿を表示しています。 すべての投稿を表示

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番目の出力パスのリンクする条件で検索を自動実行する。

2017年1月1日日曜日

「ffmpeg5sEnc.bat」 を本保存用に、一手間かけて時間範囲指定追加。 ffmpeg5st.bat(修正) と ffmpeg5call.bat

 新年あけましておめでとうございます。今年もだらだらと録画ネタを中心に忘却録代わりに更新していこうと思います。

 去年の末に作った「ffmpeg5sEnc.bat」。自分的には結構な頻度で使ってまして、そうなると普段メインとしているAviutl+x265guiExと比べてしまうわけです。

 Aviutl+x265guiEx 利点)リサイズ・クリッピングなど細かい設定が可能で綺麗。 欠点)手間がかかる。
 ffmpeg5s.bat  利点)ドラッグ&ドロップで気軽に実行 欠点)細かい設定は手間。 音量の最大化手順どーしよ
 Aviutl+x265guiEx・ffmpeg5s.bat 画質は品質を揃えたらほぼ同じ

 上下左右のクリッピングと音量の最大化さえ割り切れば、あとは品質と連続実行で自分の中では割り切りOKな感じなんですよね。

 現状、アニメのエンコード環境はAviutl+x265guiEx 固定ですが、エンコードまでのバッチ処理の準備に結構時間かかるため、マシンが停止してる時間が結構あるんです。 対してドキュメンタリーなどはイチイチAviutl+x265guiEx を使うの手間だなーな感じになってまして結構大量なファイルがテラ単位でHDDの肥しになってましてイイ加減に掃除したいなと。
 仕事が正月休みに入ったため、「ffmpeg5sEnc.bat」をもう少し改良して手軽に保存用エンコードに使えないかと考えてみました。

 「ffmpeg5sEnc.bat」は圧縮優先品質28となってるため、何度か実行と確認を繰り返して品質24に。 それと前後のCM部分をカットできるように開始時間と終了時間でエンコード範囲を指定できるようにしました。 これによりドラッグ&ドロップで即実行とはいかなくなってます。


 実行環境は①ffmpeg.exe、②ffmpeg5call.bat、③ffmpeg5st.bat を全て同じフォルダに置きます。 

 それと動画ファイルのエンコード範囲(開始時刻・終了時刻)を調べるプレイヤーが必要ですね。 自分はVLCなど使ってます。 「ツール-メディア情報」のロケーションから再生ファイルのフルパスがコピペできるので、バッチファイルの更新にも便利です。

①ffmpeg.exe http://ffmpeg.org/download.html よりffmpegのwindows-buildを入手してバッチと同じ場所に展開しておく。


②ffmpeg5call.bat。。"ffmpeg5call.bat"で保存しておく。メインエンコードバッチの"ffmpeg5st.bat"を呼びます。バッチ実行中でも編集可能なので、実行しながらどんどん追加します。

 SET BP=%~dp0
 rem call %BP%ffmpeg5st.bat "エンコード元ファイル名" , 開始時刻 , 終了時刻

 ex.


③ffmpeg5st.bat。"ffmpeg5st.bat"で保存しておく。

@echo off
rem 2016/12/31 ffmpeg5st.bat
rem 2016/1/1 2,3引数の存在チェックを追加
rem 
rem   H.265エンコードサポートバッチファイル
rem   エンコード済みファイルは指定パスにファイル名.mkvで出力
rem   開始~終了時刻の範囲エンコード 自分なりに実写モノ保存品質
rem 
rem 実行環境
rem   http://ffmpeg.org/download.html より
rem     ffmpegのwindows-buildを入手して当バッチと同じ場所に展開しておく。
rem 
rem IN
rem   ファイル名
rem Ex.
rem Ex.
rem   call ffmpeg5st.bat "エンコード元ファイル名" , 開始時刻 , 終了時刻
rem                     ※"で囲うのはファイル名切れ防止"
rem                     ※開始・終了時刻フォーマット 00:00:00 (省略だと全指定)
rem                     ※終了時刻のみ指定したい場合は、開始時刻に 0 を入れてください
rem 
rem 内部記述
rem  BATFILE 実行パス ※原則変更しないでください
rem  INPFILE 入力ファイル名 ※原則変更しないでください
rem  FFMPEXE FFMPEG.EXE フルパス ※原則変更しないでください
rem  STATIME 開始時刻 ※原則変更しないでください
rem  EMDTIME 終了時刻 ※原則変更しないでください
rem  FFMP265 H.265 エンコードパラメータ
rem  OUTFILE 出力ファイル名 ※存在するフォルダを指定
rem  
rem 注意
rem  ファイルにANSI以外の文字や画像が入ってる場合は動かない可能性があります。
rem  該当文字や画像を削除または変更して再実行してみてください、。  
rem  
rem ****ffmpeg h.265パラメータ****
SET BATFILE=%~dp0
SET INPFILE="%~f1"
SET FFMPEXE=%BATFILE%ffmpeg -i
SET FFMP265=-c:v libx265 -preset medium -crf 24 -s 1280x720 -c:a aac -b:a 128k
SET OUTFILE="C:\!video\%~nx1.mkv"

IF "%2" EQU "" (
    SET STATIME=%2
) ELSE (
    SET STATIME=-ss %2
)
IF "%3" EQU "" (
    SET EMDTIME=%3
) ELSE (
    SET EMDTIME=-to %3
)

rem ****ffmpeg h.265エンコード実行****
%FFMPEXE% %INPFILE% %FFMP265% %STATIME% %EMDTIME% %OUTFILE%

2014年11月18日火曜日

HDR-AS100Vで撮影した映像を、残す方法(俺的)

 HDR-AS100Vは現行同価格帯のアクションカメラの中では画質がイイと思う。 ただ、その為に犠牲になる部分がある。

 録画後のファイルサイズである。

 ちなみに前回アップした【SONY HDR-AS100V バイク車載夜間撮影 バイパス合流から峠のトンネルまで】は 「1080 30p HQ 手ブレ補正無」録画したものだが、公開分9分28秒分だけでパソコン上でのファイルサイズは1.06 GBとなる。 これは30分近い録画元ファイルからAviutlのMP4 Expertにより範囲出力したもので、元ファイルと同品質のファイルである。つまり元ファイルは3GB超えてたのだ。 ファイルサイズだけでいえば、地上デジタル放送のフルHD放送に同じかそれ以上と言える。

 例えば1TBのHDDがあり、そこにこの品質(1080 30p HQ)のまま保存していけば、100時間超えてちょいしたらHDDが満杯になってしまう事になる。

 後、AS100VはUSB3.0には未対応らしく、ファイル転送速度が遅い!1GBファイルとかでも1分近くかかってしまう。 つまり録画ファイルが60GB(約8時間)くらいあり、それを全てHDDコピーまたは移動しようとしたら一時間くらいとか、、、ヾ(。`Д´。)ノ彡冗談じゃねーーーーーー!

 メモリカード取り出しとかは×。メンドイし壊したら怖いもん。過去バキッと折ってダメにしたトラウマが、、、、、(T_T)

 HDDが一杯になるのを防ぐために、AS100Vから長い時間かけてコピーして編集して必要部分を動画サイトに保存とか青盤とかに焼くとか新しいHDD買うとか、いくらなんでも時間や金のムダにもほどがある。

 つまり、
 USBに接続して必要範囲のみ抽出しつつエンコードしてしまえば面倒なくてイインジャネ。 
 と脳内結論。

 で、ここで問題。 俺が言うのもなんだがエンコードってのは奥が深い。 エンコードの形式、実行環境、画のサイズ、音の品質、変換手順、エトセトラetc、、、、こだわり出したら切がない。 変換ソフトの無償有償含め方法は玉石混交。 できたファイルに納得するかしないかは人それぞれ。
 先に言っとくとソニー提供の環境はおれ使った事ないから、そっちは公式とか他の人の記事見て頂戴。

 個人的には最強と思う動画エンコーダ "ffmpeg.exe"を、出力をMP4特定形式のみに限定にして簡単に使えるようにしたフロントエンドマクロ"ffmpesync"(自作)

今回の手順でyoutube登録した動画




では、開始!

(0)環境の準備

【Ffmpesync ver.1】 ffmpeg.exeを手っ取り早く簡単手軽に使うためのファイル同期風フロントエンドVBスクリプト 【まとめ】

を見つつ環境作成。
 今回はデスクトップに必要ファイルを置いた。 実行環境はどこでもよいが、十分な空き容量と早いドライブの上に作ればいいかも。

(1)HDR-AS100Vにて録画

(2)HDR-AS100VをUSB接続でパソコンにつなぐ

(3)HDR-AS100Vの保存場所(※ここではMP_ROOT\100ANV01フォルダ)を開く

(4)対象ファイル(ここではMAH00059.MP4)を再生して必要な部分の開始時間と終了時間を取得する。
 ここでは開始時間は00:11:00。 終了時間は00:15:00。

(5)MAH00059.MP4をデスクトップ上のffmpesync12.vbsドラッグドロップすると、変換後ファイルの保存先の指定となる。既定値はユーザフォルダ直下となっている。

(6)ここではC:\videoを指定。

(7)変換モード入力の既定値”ほどほど画質の高圧縮(ここでは31)”を書き換える。

(8)” 0 -s -e”と入力
  ※スペースゼロ ハイフンエス ハイフンイー


(9)抽出開始時間の入力。 時:分:秒
  ここでは00:11:00

(10)抽出終了時間の入力。 時:分:秒
 ここでは00:15:00

(11)変換開始。

(12)変換終了。
 オリジナル 1080p 25h22m (2.85 GB)
  ↓
  ↓(変換時間3分くらい※パソコン性能により差異)
  ↓
 エンコード 1080p 4m (292 MB)

 このサイズならファイルの移動もコピーもネットへのアップもすぐに済む。残ったファイルは気分しだいで処理しよう。今回はメンドクサイのでしなかったが、全部エンコードして小さくして残すのもアリだと思う。

2014年7月28日月曜日

【Ffmpesync ver.1】 ffmpeg.exeを手っ取り早く簡単手軽に使うためのファイル同期風フロントエンドVBスクリプト 【まとめ】

 ffmpeg.exe (FFmpeg - Wikipedia) は動画を変換するためのソフトです。高速な変換速度、多くの対応形式、様々な変換オプションなど、最強とも言える動画変換ソフトです。
 が、ffmpeg.exeはそのままではコマンド実行で、初心者には非常に敷居の高いソフトとなっています。

 Ffmpesyncはそんなffmpeg.exeをホドホド画質(どちらかと言うと圧縮率優先MP4)で手っ取り早く簡単に使うためのファイル同期風フロントエンドVBスクリプトです。
 対応する入力形式は .avi .wmv .flv .ps など使用するffmpeg.exeが正常認識出来るなら何でも。(※著作権保護や暗号化されてるファイルは×)
 出力形式は.mp4 (AVC/H.264 Main) のみ。ただし品質と画面サイズはテンプレを選択する事で指定可能。 再生できるかは端末の性能またはソフトに期待。まぁ今時のスマホならほぼいけるでしょう。

実行環境
 Ffmpesync.vbsファイルを任意の場所に設置。 ※【Ffmpesync ver.1】マクロ設置場所
 Ffmpesync.vbsファイルと同フォルダに実行可能な ffmpeg.exe を設置。 ※私は主に( Zeranoe FFmpeg - Builds )を使用
  ※ffmpeg.exeは変換処理にのみ使用している。それ以外の機能は無くても利用可能
 IEが使用可能なら処理経過が表示

実行例
 1.Cscript ffmpesync1.vbs アイテムパス
 2.マクロやショートカットに動画ファイルやフォルダなどのアイテムをドラッグ&ドロップが楽。

処理概要
 ファイル・アイテムの詳細情報の表示
 指定したファイル・フォルダの動画を指定先フォルダにffmpeg.exe変換出力する。
 指定出力先に実行ログを保存
 1ファイル 指定した品質とサイズで動画ファイルを変換処理する
 1フォルダ 指定した条件の動画ファイルを品質とサイズを自動設定して変換処理する
 1フォルダ の指定条件入力時、+,-で画質と圧縮度合いの調整が出来る
 フォルダ指定処理の場合、条件により絞り込むことができる。事前調査により条件数の取得も可能
 エンコード処理はffmpeg.exeが認識できる形式で1Passのみ。音声は基本既定出力。例外はMP4でコピー
 処理の各タイミングで実行ログをIEにて出力(起動出来なければ、最初と最後のみEcho表示)
 変換中のffmpeg.exe DOS窓を「×閉じる」したら処理中止
 -s , -t , -e で変換範囲指定できる。ただし実際の時間外を指定するとエラー
 -vfオプションの追加。とりあえず回転transpose=1 未対応ffmpeg.exeは対応しない。


グラフィカルな操作解説はこちらをご覧ください。
 Ffmぺsync ver.1.0  ffmpeg.exeを手軽に使うためのファイル同期風フロントエンドVBスクリプト 前説


※※※※実行例(実行マシンi7-2600k 3.4GHz メインドライブSSD )※※※※
  フルHD(1920x1080)30分4.00 GBのtsファイルが六分ちょいで(1280x720)277.63MBになりました。変換する時間範囲や変換先の画面サイズやが小さくなればなるほど変換時間は少なくなります。
 録画ファイルを手っ取り早く変換して携帯端末に詰めて、暇なときに見たい場合などにイイカモネ。 今回はファイルでの実行としましたが、フォルダ指定などにも対応しています(その場合時間範囲指定ば使えない)。 色々試してみてください。

####開始#### #2014/07/27 1:04:56#

VBS実行パス:C:\Users\zeze\Desktop\ffmpesync12.vbs

"2014072700000201-アルドノア・ゼロ 第4話.ts" は MPEG-2 TS ビデオ 。ts で、動画ファイルです。

0000 名前 2014072700000201-アルドノア・ゼロ 第4話.ts
0001 サイズ 4.00 GB
0002 項目の種類 MPEG-2 TS ビデオ
0003 更新日時 2014/07/27 0:29
0004 作成日時 2014/07/26 23:59
0005 アクセス日時 2014/07/26 23:59
0006 属性 A
0009 認識された種類 ビデオ
0010 所有者 PSO2\zeze
0011 分類 ビデオ
0019 評価 評価なし
0027 長さ 00:30:12
0053 コンピューター PSO2 (このコンピューター)
0155 ファイル名 2014072700000201-アルドノア・ゼロ 第4話.ts
0173 共有 いいえ
0176 フォルダー名 D:\
0177 フォルダーのパス D:\
0178 フォルダー D:\
0180 パス D:\2014072700000201-アルドノア・ゼロ 第4話.ts
0182 種類 MPEG-2 TS ビデオ
0188 リンクの状態 未解決
0269 共有状態 非共有
0280 ビデオ圧縮 {E06D8026-DB46-11CF-B4D1-00805F6CBBEA}
0282 データ速度 ‎24000kbps
0283 フレーム高 1080
0284 フレーム率 ‎29 フレーム/秒
0285 フレーム幅 1920
0286 総ビット レート ‎24000kbps

処理(元)パス:D:\
出力(先)パス:C:\Users\zeze
処理ログパス:C:\Users\zeze\2014072700000201-アルドノア・ゼロ 第4話.ts.log

対象ファイル処理数計:1
 1(未)処理ファイル数:1(4099.84MB)
 2(済)損壊ファイル数:※事前カウント対象外
 3(済)小大ファイル数:0(0MB)⇒0%(0MB)
 4(済)新旧ファイル数:0(0MB)⇒0%(0MB)
 5(済)処理ファイル数:0(0MB)⇒0%(0MB)
- - - - - - - - - 
処理済(345計)進捗率:0%
対象外ファイル数:0
検索フォルダ数:0
- - - - - - - - - 
形式別カウント(計:1)
.ts :1

処理(元)ファイル名:D:\2014072700000201-アルドノア・ゼロ 第4話.ts
  サイズ:4099.84MB
長さ(時間):00:30:12
データ速度:‎24000kbps
フレーム高:1080
フレーム率:‎29 フレーム/秒
フレーム幅:1920

変換モードの入力:11 処理開始 ※中止は『×閉じる』

No. 状態 (元)*パス/nファイル名 長さ(時間) 幅x高 ビットレート ファイルサイズ 更新日時 (済)パスファイル名 幅x高 ビットレート ファイルサイズ 更新日時 FFMpeg
0000-* D:\ C:\Users\zeze
0000-1 未28-1280x720○6.77% 2014072700000201-アルドノア・ゼロ 第4話.ts 00:30:12 1920x1080 ‎24000kbps 4099.84MB 2014/07/27 0:29:57 C:\Users\zeze\2014072700000201-アルドノア・ゼロ 第4話.ts.mp4 1280x720 ‎1148kbps 277.63MB 2014/07/27 1:11:57 "C:\Users\zeze\Desktop\ffmpeg.exe" -i "D:\2014072700000201-アルドノア・ゼロ 第4話.ts" -vcodec libx264 -crf 28 -s 1280x720 -coder 1 -refs 1 -flags +loop -partitions +parti4x4 -me_method hex -subq 1 -psy 0 -trellis 0 -8x8dct 0 -fast-pskip 1 -bf 3 -b-pyramid 2 -b_strategy 1 -direct-pred 1 -weightp 1 -weightb 1 -g 150 -keyint_min 1 -sc_threshold 40 -mbtree 0 -qcomp 1  -y "C:\Users\zeze\2014072700000201-アルドノア・ゼロ 第4話.ts.mp4"

対象ファイル処理位置:1
 1(未)処理ファイル数:0(0MB)
 2(済)損壊ファイル数:0(0MB)
 3(済)小大ファイル数:0(0MB)⇒0%(0MB)
 4(済)新旧ファイル数:0(0MB)⇒0%(0MB)
 5(済)処理ファイル数:1(4099.84MB)⇒6.77%(277.63MB)
- - - - - - - - - 
処理済(345計)進捗率:100%
対象外ファイル数:0
検索フォルダ数:0
- - - - - - - - - 
形式別カウント(計:1)
.ts :1

####終了#### #2014/07/27 1:11:57#

変換後ファイルのワンカット

2014年4月8日火曜日

Dell venue 8 pro のカメラで録画してみたら、、、、Ffmpesync.vbsのネタになった。

 去年末に「Dell venue 8 pro」をゲツして、以降、仕事に趣味にとチマチマと使っている。 
 Xperia Z Ultraが即応性の高いファブレットで、venue 8 proがちょっと腰を落ち着かせて作業するOfficeタブレットとなっている。 アマゾンからvenue用タッチペンも届いて、精密作業がそれなりにやり易くなった。

 先日M社がタブレット用にWindows8を無償化するとの発表があり、もっと価格安くなるんだろーなーと少し複雑な気分。 

【ロイター】マイクロソフト、スマホとタブレット端末メーカーにウィンドウズ無料提供へ

で先日から計画の計画を実行した。

 小春日和の故郷の海辺を自転車に乗ってvenue8のカメラで録画する。 まーソレだけなんだけどね。 ショルダーバッグにvenue8のカメラ部分が頭を出すように差し込んで、首から提げ出発進行!~って あー自転車乗るのなんか久々だなってんで下が録画のひとコマ。


 横倒しやんけええええええええ!!!!

 カメラの方は縦横対応なのにビデオが縦撮影したら再生時横倒しとは、ヤッツケ仕事しすぎだろwwwwwwwww

 正しく対応してくれる録画ソフトとか調べたら出てくるだろうが、今はこの動画どうするかだよな~。ちなみに、録画したファイルをFfmpesyncに読み込ませたらコーナッタ

名前 WIN_20140407_133315.MP4
  サイズ:2603.3MB
長さ(時間):00:17:26
データ速度:‎20655kbps
フレーム高:1080
フレーム率:‎29 フレーム/秒
フレーム幅:1920

うへ、17分動画が2.5GBのMP4ですか。無圧縮キャプチャじゃあるまいに。 別のツールで調べると AVC/H.264 Main と出た。ビットレートの厚化粧盛りすぎだろっwwwww。
 何はともあれ2.5GBってファイルは、小型タブレットで扱うファイルサイズとしてはデカイと思うゾ。 PT某で○BS地上波アニメ一本録画したTSファイルがこれくらいのサイズだからなー。デカスギル。 これだとファイルをUSBメモリ経由でもローカルWi-Fi経由でも取り出すのも一苦労だよな。 実際コピー実行してほっといたらしてたらスリープモード?に移行して画面暗転してコピー失敗してたしorz

 こうなれば助けてFfmpesync!と言うわけで実行してみたら、、、十分の一。 ここまで小さくなったらWi-Fi経由でもUSBメモリでも扱いやすい。
  サイズ:268.87MB
長さ(時間):00:17:26
データ速度:‎1949kbps
フレーム高:720
フレーム率:‎29 フレーム/秒
フレーム幅:1280

 けど、処理時間がねー20分以上かかってしまった。 もっとホントの処理時間は短いハズなんよ。 だけど実行して目を離してたらいつの間にか画面暗転しててあわてて電源入れたら画面ロックかかってて解除したら、とまってた処理が実行再開みたいな感じで。電源設定を常時ONにすればいいんだろうけど、バッテリー設定弄ってまでやるのはねー。

 こうなりゃ、時間指定で切り出す機能作っちまえまえと作った機能が、先日上げた、元動画の開始時間、終了時間で範囲指定する機能だった。 これで変換する時間を指定してやればあっという間に動画を取り出す事が出来るようになった。 

 Ffmぺsync ver.1 「時間指定」の追加

 残るは横倒し問題だけだったが、 -vf オプションの transpose で呆気なく解決。

 Ffmぺsync ver.1 「回転(transpose)」の対応

 いやー ホント Ffmpeg.exe様々です。

Ffmぺsync ver.1 「回転(transpose)」の対応

FfmぺsyncVer.1をffmpeg.exeを手軽に使うためのファイル同期風フロントエンドのVBスクリプト本編

 必要に迫られて回転機能を追加した。 かなりヤッツケ仕事なんだけどねー。

 ↓がDell Venue8 pro を縦にして首からさげて、Win8.1プレインストールのカメラで撮影した動画の一コマ。 静止画は縦横の回転に対応してたのに、動画が横固定ダトハorz 

 回転すればいいのは判るが、タスケテーグーグルせんせーい!

 [ipad][ffmpeg] iPad2を縦持ちして撮影した動画を90度回転してFLVに変換する方法Add Star
 > ffmpeg -vf "transpose=1" -i xxxx.MOV -sameq xxxx.FLV

 「 -vf "transpose=1" 」の部分を組み込んで早速実行!
  呼び出し方は時間オプションと同じような感じで"-vf"。 開始時間、適用時間の後に-vfオプションの設定ダイアログが出る。


  時計方向90度なら"transpose=1"のまま。 反対なら"transpose=2"にする。
 実行結果 回転成功!


 ちなみにこれをAviutlに通すとコーナル。 縦横比率はそのままに、再生時に補正して縦長に見せてるのかな。

 あらためてネットを調べ直すと"transpose"の設定値はまだあった。
  0=90反時計方向と垂直方向に反転します(デフォルト) 
  1=90時計回り 
  2=90反時計回り 
  3=90時計回り方向と垂直方向に反転

 0とか3とか、俺の頭じゃ理解できない。後これ以外にも色々設定オプションが存在するみたいだが、ひとまずこれ以上はいいか。

 追記
  -vf オプションはFfmpeg.exeの作成状況によってはエラーが出る場合があります。 その際は「Zeranoe FFmpeg 」の該当OS版を使用してみてください。

2014年4月3日木曜日

Ffmぺsync ver.1.0 プロシージャ解説4 Ffmpeg.exe実行文の生成

Ffmぺsync ver.1.0  ffmpeg.exeを手軽に使うためのファイル同期風フロントエンドVBスクリプト 本編

 品質と縦横のプロシージャと続いたし、Ffmpeg.exeの実行文を生成する箇所も説明しとこうと思う。
 ffmpesync.vbsの一千行を超えるコードは、全てコノ部分の為にあるとも言える。

ffmpesync.vbsではffmpeg.exe実行文を大きく四つに分けて取り扱っている。
 ①ffmpeg.exeパス ⇒ WScript.Scriptfullnameから取得
 ②元動画ファイルパス ⇒ 引数po1DogaオブジェクトのPathプロパティから取得
 ③出力先ファイルパス ⇒ 引数ps2Doga1より取得
 ④パラメータ(品質・縦横・音声・他) 引数piConvModeより、他は固定パラメータとして補完。

 ④を修正する事でビデオ系のパラメータを変更できる。 ネットに散在している情報を元に試行錯誤してみるのも面白いかもしれない。以下のコードは掲載コードではなく、コメント削除前のコードとなります。

'################################################
'ffmpeg.exe文 作成
'
'IN
' po1Doga ②元動画ファイル オブジェクト
' ps2Doga1 ③出力先動画ファイルパス
' piConvMode 変換モード
'
'Return
' ffmpeg.exe文 環境が整ってなければcNULL
'
Function sRunffmpeExe(po1Doga , ps2Doga1, piConvMode)
Dim sExePath , sffmpeExe , sffmpePSet , sffmpeRun , sffmpeCrf , sffmpeSiz 
Dim sffmpeSet

'実行vbsファイルのパス取得
sExePath = oWSFSO.GetParentFolderName(WScript.Scriptfullname)

'①ffmpeの実行パスファイル取得
sffmpeExe = oWSFSO.BuildPath(sExePath , "ffmpeg.exe")

'品質値取得
sffmpeCrf = sGetConvertCrf(piConvMode)
'縦横値取得
sffmpeSiz = sGetConvertSiz(piConvMode)
'***④他パラメータの修正、追加はここを書き換える
sffmpeSet = " -coder 1 -refs 1 -flags +loop -partitions +parti4x4 -me_method hex -subq 1 -psy 0 -trellis 0 -8x8dct 0 -fast-pskip 1 -bf 3 -b-pyramid 2 -b_strategy 1 -direct-pred 1 -weightp 1 -weightb 1 -g 150 -keyint_min 1 -sc_threshold 40 -mbtree 0 -qcomp 1 "

'音声トラックのコピー処理はMP4のみ許可
If cFFMPEG_MP4 = Lcase(Right(po1Doga.Path , 4)) Then
sffmpeSet = sffmpeSet & " -vsync 2 -acodec copy "
End if

'ffmpe 実行文の生成
'一応、パラメータによる確認を含めておく
If oWSFSO.FileExists(sffmpeExe) and (sffmpeCrf <> cNULL) and (sffmpeSiz <> cNULL) Then
sffmpeRun = cDC & sffmpeExe & cDC & " -i " & cDC & po1Doga.Path & cDC & " -vcodec libx264 -crf " & sffmpeCrf & sGetConvertSizS(sffmpeSiz) & sffmpeSet & " -y " & cDC & ps2Doga1 & cDC
Else
sffmpeRun = cNULL
End if
sRunffmpeExe = sffmpeRun
End Function


'################################################
'サイズパラメータがあったら -s 付加
'
'IN
' psSiz サイズバラメータ
'
'Return
' 設定値があったら-sを前に付ける
'
Function sGetConvertSizS(psSiz)
Dim sSizS
sSizS = psSiz
If Len( Trim( sSizS ) ) > 0 Then
sSizS = " -s " & psSiz
End if
sGetConvertSizS = sSizS
End Function

 'コードはここまで。以下は1ファイル投入時の実行ログ。投入動画から得た情報で各パラメータを決定し、Ffmpeg.exe文を生成して変換処理して、結果の判定まで記録している。

####開始#### #2014/04/03 9:24:42#

VBS実行パス:C:\Users\zeze\Desktop\ffmpesync1.vbs

"「劇場版 BLOOD-C The Last Dark」PVロングバージョン.mp4" は MP4 ビデオ 。mp4 で、動画ファイルです。

0000 名前 「劇場版 BLOOD-C The Last Dark」PVロングバージョン.mp4
0001 サイズ 75.8 MB
0002 項目の種類 MP4 ビデオ
0003 更新日時 2012/06/24 13:33
0004 作成日時 2012/06/24 13:33
0005 アクセス日時 2013/12/28 22:21
0006 属性 AI
0009 認識された種類 ビデオ
0010 所有者 PSO2\zeze
0011 分類 ビデオ
0019 評価 評価なし
0027 長さ 00:03:45
0028 ビット レート ‎149kbps
0029 保護 いいえ
0053 コンピューター PSO2 (このコンピューター)
0155 ファイル名 「劇場版 BLOOD-C The Last Dark」PVロングバージョン.mp4
0173 共有 いいえ
0176 フォルダー名 #アニメいろばら
0177 フォルダーのパス A:\#アニメいろばら
0178 フォルダー #アニメいろばら (A:)
0180 パス A:\#アニメいろばら\「劇場版 BLOOD-C The Last Dark」PVロングバージョン.mp4
0182 種類 MP4 ビデオ
0188 リンクの状態 未解決
0269 共有状態 非共有
0280 ビデオ圧縮 {34363248-0000-0010-8000-00AA00389B71}
0282 データ速度 ‎2674kbps
0283 フレーム高 1080
0284 フレーム率 ‎29 フレーム/秒
0285 フレーム幅 1920
0286 総ビット レート ‎2824kbps

処理(元)パス:A:\#アニメいろばら
出力(先)パス:C:\Users\zeze
処理ログパス:C:\Users\zeze\「劇場版 BLOOD-C The Last Dark」PVロングバージョン.mp4.log

対象ファイル処理数計:1
 1(未)処理ファイル数:1(75.83MB)
 2(済)損壊ファイル数:※事前カウント対象外
 3(済)小大ファイル数:0(0MB)⇒0%(0MB)
 4(済)新旧ファイル数:0(0MB)⇒0%(0MB)
 5(済)処理ファイル数:0(0MB)⇒0%(0MB)
- - - - - - - - - 
処理済(345計)進捗率:0%
対象外ファイル数:0
検索フォルダ数:0
- - - - - - - - - 
形式別カウント(計:1)
.mp4 :1

処理(元)ファイル名:A:\#アニメいろばら\「劇場版 BLOOD-C The Last Dark」PVロングバージョン.mp4
  サイズ:75.83MB
長さ(時間):00:03:45
データ速度:‎2674kbps
フレーム高:1080
フレーム率:‎29 フレーム/秒
フレーム幅:1920
エンコード品質:31 処理開始 ※中止はffmpegを『×閉じる』

No. 状態 (元)*パス/nファイル名 長さ(時間) 幅x高 ビットレート ファイルサイズ 更新日時 (済)パスファイル名 幅x高 ビットレート ファイルサイズ 更新日時 FFMpeg
0000-* A:\#アニメいろばら C:\Users\zeze
0000-1 未34-1280x720○20.47% 「劇場版 BLOOD-C The Last Dark」PVロングバージョン.mp4 00:03:45 1920x1080 ‎2674kbps 75.83MB 2012/06/24 13:33:44 C:\Users\zeze\「劇場版 BLOOD-C The Last Dark」PVロングバージョン.mp4 1280x720 ‎420kbps 15.53MB 2014/04/03 9:25:19
"C:\Users\zeze\Desktop\ffmpeg.exe" -i "A:\#アニメいろばら\「劇場版 BLOOD-C The Last Dark」PVロングバージョン.mp4" -vcodec libx264 -crf 34 -s 1280x720 -coder 1 -refs 1 -flags +loop -partitions +parti4x4 -me_method hex -subq 1 -psy 0 -trellis 0 -8x8dct 0 -fast-pskip 1 -bf 3 -b-pyramid 2 -b_strategy 1 -direct-pred 1 -weightp 1 -weightb 1 -g 150 -keyint_min 1 -sc_threshold 40 -mbtree 0 -qcomp 1  -vsync 2 -acodec copy  -y "C:\Users\zeze\「劇場版 BLOOD-C The Last Dark」PVロングバージョン.mp4"

対象ファイル処理位置:1
 1(未)処理ファイル数:0(0MB)
 2(済)損壊ファイル数:0(0MB)
 3(済)小大ファイル数:0(0MB)⇒0%(0MB)
 4(済)新旧ファイル数:0(0MB)⇒0%(0MB)
 5(済)処理ファイル数:1(75.83MB)⇒20.47%(15.53MB)
- - - - - - - - - 
処理済(345計)進捗率:100%
対象外ファイル数:0
検索フォルダ数:0
- - - - - - - - - 
形式別カウント(計:1)
. :0
.mp4 :1

####終了#### #2014/04/03 9:25:19#

2014年4月2日水曜日

Nvidiaグラボ動画エンコード専用機能のNVENC 実行テスト


【録画人間の末路】下位扱いのGTでもNVENCがで・き・る
で、Nvidiaのグラフィックボードに搭載されている動画エンコード専用機能のNVENCを利用したAviutlプラグイン公開の紹介があり、Avitulは動画の保管エンコードのメインツールでもあるのでどんなものかつかって見ました。

【rigayaの日記兼メモ帳】NVEncを使ってみた

より、サクっと五分で環境作成。

実行環境はGeForceGTX660Ti Core i7-2600k 3.4GHz win7sp1 8GB

↑元ファイル ステータス。6GBでそのままだとHDDの肥しです。
C:\Video\アクエリオンEVOL (16).m2ts
  サイズ:6417.18MB
長さ(時間):00:30:02
データ速度:‎28000kbps
フレーム高:1080
フレーム率:‎29 フレーム/秒
フレーム幅:1920

以下、1~5までは画質的によく見ないとわからない為、実行結果のみ掲載。
1.Aviutl NVENCプラグイン 画質優先エンコード 約45分
C:\Video\アクエリオンEVOL (16)nv.mp4
  サイズ:938.8MB
長さ(時間):00:24:46
データ速度:‎5168kbps
フレーム高:1080
フレーム率:‎23 フレーム/秒
フレーム幅:1920

※低ビットレートは掲載は見合わせます。

以下、比較で掲載。

2.Aviutl 1Pass 品質25 エンコード 約1時間
C:\Video\アクエリオンEVOL (16)1pass25.mp4
  サイズ:452.77MB
長さ(時間):00:24:46
データ速度:‎2458kbps
フレーム高:1080
フレーム率:‎23 フレーム/秒
フレーム幅:1920

3.Aviutl 2Pass高品質保管用エンコード (別PC実行時間) 1時間半
C:\Video\アクエリオンEVOL (16).mp4
  サイズ:265.5MB
長さ(時間):00:24:46
データ速度:‎1401kbps
フレーム高:1080
フレーム率:‎23 フレーム/秒
フレーム幅:1920

4.ffmpesync+ffmpeg.exe 品質25 処理時間 6分弱
C:\Video\アクエリオンEVOL (16).m2tsHD25.mp4
  サイズ:1421.37MB
長さ(時間):00:30:03
データ速度:‎6476kbps
フレーム高:1080
フレーム率:‎29 フレーム/秒
フレーム幅:1920

参考 1280x720で出力
5.ffmpesync+ffmpeg.exe 品質25 処理時間 6分弱
C:\Video\アクエリオンEVOL (16).m2ts25.mp4
  サイズ:547.06MB
長さ(時間):00:30:03
データ速度:‎2408kbps
フレーム高:720
フレーム率:‎29 フレーム/秒
フレーム幅:1280

6.ffmpesync+ffmpeg.exe 品質34(自動設定既定値) 処理時間 6分弱
C:\Video\アクエリオンEVOL (16).m2ts34.mp4
  サイズ:182MB
長さ(時間):00:30:03
データ速度:‎710kbps
フレーム高:720
フレーム率:‎29 フレーム/秒
フレーム幅:1280
↓は 6.ffmpesync+ffmpeg.exe のスマホ用設定。 さすがに画質自慢なスマホやタブで見るとアラが目立つ。 ただビットレートが低く抑えられてるため、ネットワーク経由でのスマホ視聴とかでもコマ落ちやガタツキが発生する箇所が少ない。


2014年4月1日火曜日

Ffmぺsync ver.1.0 ffmpeg.exeでお手軽ご気楽高速エンコード ※セミHD1時間半番組エンコード例

Ffmぺsync ver.1.0  ffmpeg.exeを手軽に使うためのファイル同期風フロントエンドVBスクリプト 本編
 録画したtsファイルをFfmpesync.vbsに投入してエンコードを実行したが、指定したパラメータが気に入らなかったので一旦中止して再度実行したログです。
 一回目に変換出力したファイルを損壊ファイルと判断しています。 ※「長さ(時間)」、「フレーム高」、「フレーム幅」の全ての値の値が取得できれば正常。それ以外は損壊。 

####開始#### #2014/04/01 9:19:12#

VBS実行パス:C:\Users\zeze\Desktop\ffmpesync1貼り付け.vbs

"2014033111000101-[HV]春スペ 劇場版 FAIRY TAIL -鳳凰の巫女-.ts" は MPEG-2 TS ビデオ 。ts で、動画ファイルです。

0000 名前 2014033111000101-[HV]春スペ 劇場版 FAIRY TAIL -鳳凰の巫女-.ts
0001 サイズ 8.21 GB
0002 項目の種類 MPEG-2 TS ビデオ
0003 更新日時 2014/03/31 12:33
0004 作成日時 2014/04/01 8:47
0005 アクセス日時 2014/04/01 8:47
0006 属性 A
0009 認識された種類 ビデオ
0010 所有者 PSO2\zeze
0011 分類 ビデオ
0019 評価 評価なし
0027 長さ 01:33:13
0028 ビット レート ‎253kbps
0053 コンピューター PSO2 (このコンピューター)
0155 ファイル名 2014033111000101-[HV]春スペ 劇場版 FAIRY TAIL -鳳凰の巫女-.ts
0173 共有 いいえ
0176 フォルダー名 DOGA
0177 フォルダーのパス C:\DOGA
0178 フォルダー DOGA (C:)
0180 パス C:\DOGA\2014033111000101-[HV]春スペ 劇場版 FAIRY TAIL -鳳凰の巫女-.ts
0182 種類 MPEG-2 TS ビデオ
0188 リンクの状態 未解決
0269 共有状態 非共有
0280 ビデオ圧縮 {E06D8026-DB46-11CF-B4D1-00805F6CBBEA}
0282 データ速度 ‎20000kbps
0283 フレーム高 1080
0284 フレーム率 ‎29 フレーム/秒
0285 フレーム幅 1440
0286 総ビット レート ‎20253kbps

処理(元)パス:C:\DOGA
出力(先)パス:C:\Users\zeze
処理ログパス:C:\Users\zeze\2014033111000101-[HV]春スペ 劇場版 FAIRY TAIL -鳳凰の巫女-.ts.log

対象ファイル処理数計:1
 1(未)処理ファイル数:0(0MB)
 2(済)損壊ファイル数:※事前カウント対象外
 3(済)小大ファイル数:0(0MB)⇒0%(0MB)
 4(済)新旧ファイル数:0(0MB)⇒0%(0MB)
 5(済)処理ファイル数:1(8408.79MB)⇒0.11%(9.29MB)
- - - - - - - - - 
処理済(345計)進捗率:100%
対象外ファイル数:0
検索フォルダ数:0
- - - - - - - - - 
形式別カウント(計:1)
.ts :1

処理(元)ファイル名:C:\DOGA\2014033111000101-[HV]春スペ 劇場版 FAIRY TAIL -鳳凰の巫女-.ts
  サイズ:8408.79MB
長さ(時間):01:33:13
データ速度:‎20000kbps
フレーム高:1080
フレーム率:‎29 フレーム/秒
フレーム幅:1440

出力(先)ファイル名:C:\Users\zeze\2014033111000101-[HV]春スペ 劇場版 FAIRY TAIL -鳳凰の巫女-.ts.mp4
  サイズ:9.29MB
長さ(時間):
データ速度:
フレーム高:
フレーム率:
フレーム幅:
エンコード品質:21 処理開始 ※中止はffmpegを『×閉じる』

No. 状態 (元)*パス/nファイル名 長さ(時間) 幅x高 ビットレート ファイルサイズ 更新日時 (済)パスファイル名 幅x高 ビットレート ファイルサイズ 更新日時 FFMpeg
0000-* C:\DOGA C:\Users\zeze
0000-1 壊31-1280x720○8.67% 2014033111000101-[HV]春スペ 劇場版 FAIRY TAIL -鳳凰の巫女-.ts 01:33:13 1440x1080 ‎20000kbps 8408.79MB 2014/03/31 12:33:13 C:\Users\zeze\2014033111000101-[HV]春スペ 劇場版 FAIRY TAIL -鳳凰の巫女-.ts.mp4 1280x720 ‎956kbps 728.77MB 2014/04/01 9:35:07 "C:\Users\zeze\Desktop\ffmpeg.exe" -i "C:\DOGA\2014033111000101-[HV]春スペ 劇場版 FAIRY TAIL -鳳凰の巫女-.ts" -vcodec libx264 -crf 31 -s 1280x720 -coder 1 -refs 1 -flags +loop -partitions +parti4x4 -me_method hex -subq 1 -psy 0 -trellis 0 -8x8dct 0 -fast-pskip 1 -bf 3 -b-pyramid 2 -b_strategy 1 -direct-pred 1 -weightp 1 -weightb 1 -g 150 -keyint_min 1 -sc_threshold 40 -mbtree 0 -qcomp 1  -y "C:\Users\zeze\2014033111000101-[HV]春スペ 劇場版 FAIRY TAIL -鳳凰の巫女-.ts.mp4"

対象ファイル処理位置:1
 1(未)処理ファイル数:0(0MB)
 2(済)損壊ファイル数:0(0MB)
 3(済)小大ファイル数:0(0MB)⇒0%(0MB)
 4(済)新旧ファイル数:0(0MB)⇒0%(0MB)
 5(済)処理ファイル数:1(8408.79MB)⇒8.67%(728.77MB)
- - - - - - - - - 
処理済(345計)進捗率:100%
対象外ファイル数:0
検索フォルダ数:0
- - - - - - - - - 
形式別カウント(計:1)
.ts :1

####終了#### #2014/04/01 9:35:08#

てな感じで、

  サイズ:8408.79MB
長さ(時間):01:33:13
データ速度:‎20000kbps
フレーム高:1080
フレーム率:‎29 フレーム/秒
フレーム幅:1440

の動画ファイルが、品質31-1280x720 の約15分のffmpeg変換で

  サイズ:728.77MB
長さ(時間):01:33:14
データ速度:‎956kbps
フレーム高:720
フレーム率:‎29 フレーム/秒
フレーム幅:1280


(8408.79MB)⇒8.67%(728.77MB) の縮小となりました。 小さいは正義ッ!

 ちなみに出力解像度を小さくする事で、処理時間を短く、ファイルサイズは小さくできます。

 スマホとかで録画動画を視聴する場合、オリジナルの8GBをコピーするか、変換して1/10にしてスマホにコピーするか、、、まぁ今はDLanとかサーバにファイル置いて視聴するとかの手もあるんですけどね。 サーバに動画ファイル置いてネットワーク経由で視聴とか手軽でいいんだど、外で見たい場合回線の速度と安定度とかの影響をモロ受けるのでイライラの末見れないとか精神衛生上悪いことしかなくってねーFfmpesync.vbs作るきっかけの一つでもありました。
 特にフォルダ投入で動画を一気に変換する機能は一番のお気に入りだったりします。
 ファイル小さくすると少ないストレージに録画したアニメ一杯入るしねっ。

2014年3月29日土曜日

Ffmぺsync ver.1.0 実行タイムと画質比較

Ffmぺsync ver.1.0  ffmpeg.exeを手軽に使うためのファイル同期風フロントエンドVBスクリプト 本編   実行タイムと画質比較 

 Ffmpesyncは自分の動画環境である「PT某録画ファイルを元にAvitul+x264でエンコードした高画質動画」を、「仕分けしてるフォルダごと指定して一気にほどほど画質のコンパクトなファイルに指定先に変換出力するフロントエンドVBS」です。
 自分はPT某からFfmpesyncを使って直接変換したファイルを保管用とする事はないのだが、普通はAviutlでゲツした番組を片っ端からエンコードしてる人はまずいないわけで、それを考えると録画ファイルを直接Ffmpesyncに放り込んで、処理時間とかファイルサイズとか画質とかどうなるか、残しとくのも意味あるかなと、今回の記事を立ち上げて見ました。

 念のため言っておくとFfmpesyncは変換パラメータを渡してるだけなので実際の処理はFFmpeg.exeまかせです。同じ性能のパソコンでも使用するFFmpegのバージョンやビルドしたライブラリとかにより時間に違いが出るかもしれません。

 ちなにみ私はここらへんから環境にあったFfmpegのビルドを利用させてもらっています。
Zeranoe FFmpeg
お気に入りの動画を携帯で見よう
感謝です。


テストに使用した30分の動画TSファイル。 ※プロテクトのかかった動画ファイルは変換できません。
処理(元)ファイル名:2014032907000101-.ts
  サイズ:4390.92MB
長さ(時間):00:30:13
データ速度:‎24000kbps
フレーム高:1080
フレーム率:‎29 フレーム/秒
フレーム幅:1920 


 画質の比較はこのシーンでします。もっとも本当は動画で見てもらうのがいいんだけどね。最近何かとアレだからなー ワンシーン300%拡大です。


Win8.1とWin7sp1それぞれでファイル詳細を取得したらこうなります。※濃い背景部分は出力ログからのコピペです。

プロパティ表示
Win8.1とWin7sp1の詳細項目を並べると気がつくと思いますが、詳細項目位置が「属性」以降で異なっている、、、この状態は同じパソコン内でも発生する場合があります。これは機会があったら述べようと思います。
 このファイルを元に最初から最後まで1280x720へ変換しています。


 まずは参考までに自分が保管用エンコードとして使っているAviutl+拡張x264出力(GUI)Ex
 
 
パラメータは1Pass品質25
処理(元)ファイル名:C:\Video\2014032907000101-妖怪ウォッチ25aviutl.mp4
  サイズ:272.79MB (6.21%)
長さ(時間):00:30:12
データ速度:‎1163kbps
フレーム高:720
フレーム率:‎29 フレーム/秒
フレーム幅:1280

処理時間34:30 (ファイルの作成日時と更新日時の差分より)
 ソースがフルHDだからかなーこんなもんかと思っていたら、そーいや保管用フィルターかけたままだなーと気がついてリサイズと音声最大化以外のフィルターをOFFして実行
  サイズ:259.23MB (5.9%)
データ速度:‎1101kbps
処理時間31:17
 フィルターがなくなった分少し時間短くなったな。うん。 ファイルサイズもぼちぼち。画質もボヤけてはいるが誤魔化しが上手いと思う。


市販品もサンプル取らないトナーと、自分が保管用エンコードでロスレス音声wavを作成するのにつかっている変換ソフトの「YOUTUBEプロファイル1280x720通常」で変換をしてみた、のだが
  サイズ:1385.19MB(31.5%)
データ速度:‎6276kbps
処理時間7:33 変換速度はAviutlの時と比べて1/3切ってるのだがなにぶんファイルサイズと画質のバランスがザンネンすぐる。、、、、プロファイルの選択間違えたかなーなんで製品名は出しません。いやホント 音声変換ではお世話になってるのよ。。。。。。


 ここまでは実行環境の関係からエンコード用PCでしていたのだが、Ffmpesync+FFmpegを品質毎にするにあたって、今時の一般的であろうCPUのパソコン(i7-2600k 3.4GHz Mem8GB SSD)
でエンコードしようと思う。品質はFfmpesync自動設定初期値の34
  サイズ:172.74MB(3.94%)
データ速度:‎663kbps
処理時間5:27

 ファイルサイズと処理時間は文句はほとんどない、、、が画質的にはどーかというと。これは以下エンコードマシンで各品質ごとにしていった結果を見て欲しい。でも拡大した静止画だからアラは目立つんだけど、実際はもっと小さくて動きがあるわけで、結構誤魔化されるんだよね。

 以下はFfmpesync+FFmpegにてサイズ固定で品質のみ変更しておこなった。処理はメインエンコードマシン(i7-3930k 3.2GHz Mem8GB SSD)。 CPU速度は2600kより遅く設定しているのにも関わらず12スレッドの威力かどーか不明だが、処理時間は総じて4:30~5:00と短くなった。

ffmpesyncの指定は 
画質 ←  01,11,21,31,41 → 圧縮率(ファイルサイズ)
な感じで、バランスがいいのが21.品質31-1280x720。ファイルサイズを優先したいなら31.品質34-1280x720。
  低めの品質にして画面サイズを一回り小さくするのもアリ。ファイルサイズが小さくなり画面も落ち着く感じがします。

01.品質25-1280x720 2010kbps 464.32MB(10.57%)
 11.品質28-1280x720 1343kbps 320.13MB(7.29%)
21.品質31-1280x720 931kbps 231.05MB(5.26%)
31.品質34-1280x720 663kbps 173.04MB(3.94%)
41.品質37-1280x720 481kbps 133.65MB(3.04%)

 品質を固定して画面サイズを小さくした全体サンプル。 (自動判定ロジックでは変換元のファイルサイズが先より小さくなった場合、画面サイズを一回り小さく設定するようにしてある)
33.品質34-960x540 443kbps 126.11MB(3.01%)

 このように画面サイズを小さくするとファイルサイズも小さくなり、画質もいくぶん落ち着く、、、気がするかもしれない。 結局慣れとかもあるかもしれないねー。
 後、出力先の画面サイズが小さくなると処理時間も短くなる。1280x720の時と比べて30秒は短くなっている。 ある程度割り切れば気軽に動画を持ち出すことが出来るわけだ。

 それなりのスペックのPCなら一時間番組くらいまでなら少しの時間で変換できるので、自分好みの妥協できる「画質」と「画面サイズ」と「ファイルサイズ」のを見つけてください。