・
頂いた情報を元にPSP用設定ファイルのメモ修正。・
muxエラー対策。mux時チェックを根本的に改善。たまにmuxエラーになるよ、という問題への対処。
…面倒臭がって小手先の対応はやはりだめだったということで真面目に書き換えた。
mp4boxの場合、出力した動画サイズが大きいと、mux時の一時ファイルなども大きくなる。空き容量が足らないのにmuxをしてしまうと、muxしたファイルは中途半端なものとなって、一時ファイルも削除してしまうので、もう一度エンコードするしかなくなってしまう。そこで、mux前のチェックとして、動画・音声の一時ファイルのサイズとドライブの空き容量をチェックしている。
ところがどうもこの一時ファイルのサイズの取得に失敗することがあるようだ(うちの環境では起こらないので原因はよくわからない)。チェックに失敗したことでmuxが行われない→muxエラーという本末転倒なことになっていた。今回は、ファイルサイズの取得に失敗してもとりあえずmuxはやってみて、一時ファイルは消さないでおいておくというふうに書き換えた。
この問題について報告してくださった方、ありがとうございました。
ダウンロード>>x264guiExの導入>
スポンサーサイト
音声ビットレートが指定したものと、エンコード後のプロパティ画面で若干違いが出てしまうのは仕様ですか?
192kbpsで設定してエンコードしたのに、できあがったものが190kbpsとなってました。
なんか気になります。
音声エンコーダはneroaacencだと思いますが、仕様です。モードにもよりますが、多少設定値とずれることはあります。
こだわりたい場合は、2passにチェックをいれ、2passエンコすることでずれを軽減できます。
PSPですが音声はAAC-LCのみで2ch48khzが上限だった気がします。HEは使えません。
無いと思いますが一応WAVも使えます。これの制限は上に同じかと思います。
また、これは重箱の隅をつつくようなものですが720×480の場合のみ30fpsが上限になります。
480×272の場合120fpsまでいけるようです(vfrの動画で確認しただけなのでなんとも言えませんが)
他の方のコメントを見て気付いたのですがためしに --profile main --crf 23 --b-pyramid none でやってみて出力ファイルのコンテナIDがmp42でしたが、PSPで再生できていました。ファームウェアは6.60です。あまり関係ないですが一応。
なるほど。
ありがとうございます。
こういう上限は公式(?)があてにならないこともあるので難しいですね。ファームによって違う可能性もありますし。
Level3指定しとけば720×480@30FPSが上限になるんじゃ?
最大ビットレート値10000も同じく。
一手間減らそうと、エンコ後バッチ処理で、幾つかのコマンドを試してみました。
バッチファイルは正常に作成されるているのですが、実行は自動化されていないのでしょうか?
バッチ作成時に窓が開いている様ですが、pauseが掛からない為、エラーが出ているか確認が出来ません。
因みに、生成されたバッチファイルは正しく機能しています。
バッチコマンドに何を書いても、結果が変わらず「出力はされるが、実行されない」ので、実行が失敗しているか全く実行されてないかの何れかだろうと思います。
バッチの用途は、DualMonaural音声を無圧縮wavに変換、トラック分割して再圧縮後にmuxするものを考えています。
この機能が正常に動作すれば変換の手間が随分と軽減されるのですが、「今のところトラック分離に適当なDOSツールが見当たらないので、自動muxされたmp4からneroAacDecでwavを吐くだけでも自動化出来ればなぁ?」と思っております。
自己解決しました。
設定に応じて複数のAviUtlを使い分けているのですが、記号付きパスにAviutlを格納していたのが原因だった様です。
\aviutl(a)\を別名に変更したところ、正常に動作しました。
以前、謎のmuxエラーについて報告したものですが、
今のところ、まったくエラーは発生しておりません。
muxを伴うエンコを1.20で41回、1.21で60回行いましたが問題なしです。
多分に環境依存的なトラブルにも対処して頂き、感謝、感謝です。
>よも様
解決したようでよかったです。aviutl(a)でうまくいかない理由を調べてみます。
>shakunin様
いや、直ってよかったです。いろいろ報告してくださってありがとうございました。
>りがや様
返信ありがとうございます。
バッチコマンドで()が含まれていると、"パス名"と指定しないと正常に動作しない事から、DOS窓の仕様であると思われます。
引用符が必要なのは、フォルダ名でけでなく入出力ファイル名でも同じですので、ファイル名やパス名、x264guiEx保存フォルダパス名に下記記号が含まれると、エンコ後バッチ出力が正しく動作しない事がある様です。
cmd /?
で表示されるコマンドラインヘルプの最後にはこう書いてあります。
>引用符が必要な特別な文字は次のとおりです:
> <スペース>
> &()[]{}^=;!'+,`~
はじめまして。
私の環境(win7 64bit)でもver1.20までmuxエラーがおよそ10回に1回ぐらいの割合で出てまして、
ただ全く再現性が無くて、同じ設定で再度試すと成功することがほとんどでしたので
私の所の環境の問題だろうとあきらめていたのですが、ver1.21にしてから全く出なくなり、助かっております。
今後とも陰ながら応援させていただきます。良いお年を。
拡張設定の-Aviutlのキーフレーム設定検出を行う-にチェックしていて
キーフレーム設定が一つもない場合しばらくフリーズする
一つ以上設定してあると、すぐエンコードが始まる