【发布时间】:2018-02-28 16:44:22
【问题描述】:
我正在尝试做的事情:
使用 jq 在 bash 脚本中将参数传递给 ffmpeg。 在我定期生成的这个外部文件中有一个 JSON。
{
"streams":[
{
"track":"/var/www/html/stream1.m3u8",
"link":"http://playertest.longtailvideo.com/adaptive/bipbop/bipbop.m3u8"
},
{
"track":"/var/www/html/stream2.m3u8",
"link":"https://mnmedias.api.telequebec.tv/m3u8/29880.m3u8"
},
{
"track":"/var/www/html/stream3.m3u8",
"link":"http://www.streambox.fr/playlists/test_001/stream.m3u8"
}
]
}
这是我根据https://github.com/stedolan/jq/issues/503 此处找到的响应尝试的命令
jq -r '.streams[] | ffmpeg -v verbose -i \(.link | @sh) -c copy -flags -global_header -hls_time 10 -hls_list_size 6 -hls_wrap 10 -start_number 1 \(.Track | @sh)"' streams.json | sh
但是我收到此错误消息:
jq: error: syntax error, unexpected IDENT, expecting $end (Unix shell quoting issues?) at <top-level>, line 1:
.streams[] | ffmpeg -v verbose -i \(.link | @sh) -c copy -flags -global_header -hls_time 10 -hls_list_size 6 -hls_wrap 10 -start_number 1 \(.Track | @sh)"
jq: 1 compile error
【问题讨论】:
-
当然我猜。盒子上也安装了nodejs。