【发布时间】:2013-03-04 12:24:20
【问题描述】:
我正在尝试用 Java 运行 Linux 命令。
这是命令:
"ffmpeg -i rtmp://192.168.1.112/garage/stream26g -f mpegts -acodec libmp3lame -ar 48000 -ab 64000 -s 480x320 -r 30 -vcodec libx264 -b 544k -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -subq 5 -trellis 2 -refs 0 -coder 0 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 200k -maxrate 544k -bufsize 544k -rc_eq 'blurCplx^(1-qComp )' -qcomp 0.6 -qmin 10 -qmax 30 -qdiff 4 -level 30 -aspect 480:320 -g 30 -async 2 - | vod - 10 stream/stream26g/sample stream/stream26g/stream.m3u8 http://www.tshizerbia.com//video/ 5" ;
但它给了我一个错误:
无法为 | 找到合适的输出格式
我不知道是什么问题
我用它来运行命令
Process p = Runtime.getRuntime().exec(command);
如果我将\\| 放入字符串中,则消息错误是:
无法为\|找到合适的输出格式
我怎样才能逃脱这个角色?有什么想法吗?
【问题讨论】:
-
与您当前的问题无关,但不建议声明每个 libx264 选项。这就是编码预设的用途。相反,您的命令可能是:
ffmpeg -i input -f mpegts -acodec libmp3lame -ar 48000 -b:a 64k -s 480x320 -r 30 -vcodec libx264 -preset fast -b:v 544k -maxrate 544k -bufsize 544k -level 30 -g 30 -async 2 -。请参阅FFmpeg and x264 Encoding Guide。
标签: java linux ffmpeg escaping character