>>/159804/
ffmpegは新しい。
引数の分離に失敗してるかな。
全部の動画でそうなりますか。
OSはWindowsですか。
利用しているjavaのバージョンはいくつですか。
コマンドプロンプトかシェルで
ffmpeg -hide_banner "-allowed_extensions" "m3u8,cmfv,cmfa,key,mp4,m4s,m4a,ts,webm,flv" "-protocol_whitelist" "crypto,tcp,tls,https,file"
を実行してみてください。
< Trailing option(s) found in the command: may be ignored.
< Hyper fast Audio and Video encoder
< usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
<
< Use -h to get full help or, even better, run 'man ffmpeg'
と実行結果が出るなら期待通りですが、なぜ動かないのかは分からないままです。
Unrecognized option 'allowed_extensions' が現れるようなら使っているffmpeg自体がおかしいです。
実装的な話。
ffmpegに間違った引数を渡すことによってallowed_extensionsを解釈するffmpegが、Unrecognized option 'allowed_extensions'を出力する場合があるみたい。
javaのProcessBuilderは文字列配列を受け取るからバグが入り込む余地はなさそうなんだけれど。
過去のjavaバージョンだとエスケープ処理してから渡せ、ダブルクオーテーションして渡すと失敗する、などなど情報が錯綜していてよく分からない。
こちらの環境だとダブルクオート、シングルクオート、バックスラッシュ、半角スペースを含むフォルダ名からmp4に変換することも成功しています。