・
自動フィールドシフト時に発生するかもしれないエラーを回避。エラー報告を頂いたので。
timecode mux時にfpsに基づいて時間分解能を指定するように。
tc2mp4mod で -T, -bを指定。
timelineeditorで --media-timebase, --media-timescaleを指定。
もとのfpsが29.97fps (30000/1001fps)以外の場合に発生しうるエラーを回避する。
・共通置換文字列を拡張。
※mp4box用iniファイルに記述ミスがあり、afs時にmuxできない問題をv2で修正しました。ダウンロード>>x264guiExの導入>
スポンサーサイト
x264guiEx 1.50でAFS出力時に以下のエラーが出力されMuxに失敗する現象が発生しています。
(ソースはBSを録画したTSファイルです)
auo [info]: tc2mp4mod でmuxを行います。映像: on, 音声: on, tc: on, 拡張モード:なし
auo [error]: mux後ファイルが小さすぎます。muxに失敗したものと思われます。
auo [error]: 推定ファイルサイズ 767 KB, 出力ファイルサイズ 0 KB
auo [error]: tc2mp4mod でのmuxに失敗しました。
auo [error]: muxのコマンドラインは…
auo [error]: "C:\bin\graphic\aviutl\tools\tc2mp4Mod.exe" -i "D:\data\dtv\test\test.mp4" -s "D:\data\dtv\test\test_audio.aac" -o "D:\data\dtv\test\test_muxout.mp4" -t "D:\data\dtv\test\test.timecode.txt" -L "C:\bin\graphic\aviutl\tools\MP4Box.exe" -O " -brand mp42 -tmp \"D:\data\dtv\" -T 120000 -b 1001 "
手動で上記コマンドを実行すると
D:\data\dtv\test>"C:\bin\graphic\aviutl\tools\tc2mp4Mod.exe" -i "D:\data\dtv\test\test.mp4" -s "D:\data\dtv\test\test_a
udio.aac" -o "D:\data\dtv\test\test_muxout.mp4" -t "D:\data\dtv\test\test.timecode.txt" -L "C:\bin\graphic\aviutl\tools\
MP4Box.exe" -O " -brand mp42 -tmp \"D:\data\dtv\" -T 120000 -b 1001 "
"C:\bin\graphic\aviutl\tools\MP4Box.exe" -nhml 1 "D:\data\dtv\test\test.mp4"
[iso file] Box "avcC" has 4 extra bytes
[Timecode info]
Timecode format(v2)
Total frames(120), Timescale(120000)
[NHML info]
DTS delta(1001)
"C:\bin\graphic\aviutl\tools\MP4Box.exe" -add "D:\data\dtv\test\test_track1_tc.nhml" -add "D:\data\dtv\test\test_audio.a
ac" -brand mp42 -tmp "D:\data\dtv" -T 120000 -b 1001 -new "D:\data\dtv\test\test_muxout.mp4"
Option -T unknown. Please check usage
"C:\bin\graphic\aviutl\tools\MP4Box.exe" -info "D:\data\dtv\test\test_muxout.mp4"
Error opening file D:\data\dtv\test\test_muxout.mp4: Invalid IsoMedia File
Completed.
となりましたので、-T及び-bオプションを-Oオプションの外に出して以下のコマンドを実行すると正常にMuxされました。
"C:\bin\graphic\aviutl\tools\tc2mp4Mod.exe" -i "D:\data\dtv\test\test.mp4" -s "D:\data\dtv\test\test_audio.aac" -o "D:\data\dtv\test\test_muxout.mp4" -t "D:\data\dtv\test\test.timecode.txt" -L "C:\bin\graphic\aviutl\tools\MP4Box.exe" -O " -brand mp42 -tmp \"D:\data\dtv\" " -T 120000 -b 1001
上記の結果から、1.50で新しく追加された-T及び-bオプションがMP4Boxのオプションとして渡されているようでしたので
x264guiEx.iniの89から93行目を
base_cmd=" %{vd_cmd} %{au_cmd} -o "%{muxout}" %{tc_cmd} -L "%{mp4muxerpath}" -O " -brand mp42 %{ex_cmd} %{tmp_cmd} ""
vd_cmd="-i "%{vidpath}""
au_cmd="-s "%{audpath}""
tc_cmd="-t "%{tcpath}""
tmp_cmd="-tmp \"%{m_tmpdir}\" -T %{fps_rate_times_4} -b %{fps_scale}"
から
base_cmd=" %{vd_cmd} %{au_cmd} -o "%{muxout}" %{tc_cmd} -L "%{mp4muxerpath}" -O " -brand mp42 %{ex_cmd} %{tmp_cmd} " -T %{fps_rate_times_4} -b %{fps_scale}"
vd_cmd="-i "%{vidpath}""
au_cmd="-s "%{audpath}""
tc_cmd="-t "%{tcpath}""
tmp_cmd="-tmp \"%{m_tmpdir}\""
に変更した結果、エラー無しでMuxされるようになりました。
何か間違っていたら申し訳ありませんがご報告までに。
あああ……
すみません。ご報告ありがとうございます!
tc_cmd="-t "%{tcpath}" -T %{fps_rate_times_4} -b %{fps_scale}"
tmp_cmd="-tmp \"%{m_tmpdir}\""
こうするつもりだったのに、なぜ一行下に書いてしまったのか…
差し替えました!
このコメントは管理人のみ閲覧できます
rigayaさん、早速の対応ありがとうございます。
1.50 v2でmuxできることを確認しました。
素早い対応有難うございます。
立て続けの要望で申し訳無いのですが
タイトル通り、音声出力時やMUX時に出るウィンドウを
最小化or位置記憶させる事って出来ないでしょうか?
と、言いますのもエンコードしながらデスクトップ画面の録画なんて事をやりはじめると
どうしてもコマンドプロンプトが映り込んでしまうので
撮影対象を最前面にする等の工夫が必要なのですが
いざ忘れてしまうと取り返しが付かない事になるので
可能であれば、最初から最小化して実行出来る様になると
助かるので、もし可能であればご検討お願いいたします。
VFR動画の作成方法ですが、
・Aviutlで自動フィールドシフトの設定を行う
・x264guiExの設定画面で、
- mp4boxを使用しているならtc2mp4mod.exeを、
L-SMASHを使用しているならtimelineeditor.exeを、
それぞれ用意して、mp4 muxerのタブで実行ファイルを指定する
- 拡張タブで「自動フィールドシフトを使用」にチェックを入れる
という感じです。
>mold様
最小化ですが、
音声については、音声設定の右上に、
muxについては「mux共通設定」のタブの中に、
それぞれチェックボックスがありますが…
えっと、反映されないということでしょうか?
こちらでは大丈夫ですが…。
これは失礼しました。
その他の設定にばかり目がいっていて気づきませんでした。。
このコメントは管理人のみ閲覧できます
自動フィールドシフトは、入力ソースの種類(パターン?)によっても適切な設定が異なるので、なかなか難しいですよね…。
管理者様
先日x264guiExを1.36から1.50v2に更新したのですが、
同じ設定を使用しているにもかかわらず、
1.50のほうが若干(1.0秒程度)時間がかかるようになり、また容量も5MBほど増えるようになりました。
こういったことはあり得ることなのでしょうか?
お手数ですが、回答いただけましたら幸いです。
簡単な環境ですが、
x264 r2184 or 2200
aviutl 0.99m2
を使用しております
ソースはBSを録画したTSファイル1000フレームです。
3件ほど試しましたが、いずれの場合でも1.50を使用した場合が低速かつ、大容量となりました。
こちらでも1.36と1.50v2, x264 r2207でデフォルトパラメータでエンコードしてみましたが、特に違いは見られませんでした。
まず、現象に一番合致すると思う原因を挙げます。
プリセットの"アニメ(高画質)"を使用していますでしょうか。それですとばっちり説明がつくのですが…。
v1.44で、アニメ(高画質)のプリセットのcrfを22->20に変更しました。これによって、"アニメ(高画質)"を使用されている場合、「時間がかかり、容量も大きく(、ただし画質はよく)」なると思います。(プリセットはたまに見直しなどを行なっています)
ただ、設定は同じ、ということなので、プリセットは使用されていないのかもしれません。その場合は、もう少し詳しく教えていただく必要があるかもです。
管理者様
大変失礼しました。
再度確認しましたら、音声のエンコード方式が変わっておりました。
ご迷惑おかけしましたとこお詫び申し上げます。