存储在变量中的复合ffmpeg命令未正确执行

时间:2018-03-16 09:14:18

标签: bash ffmpeg debian

关注bash脚本:

#!/bin/bash

#-_-_-_--- CONFIGURATION ---_-_-_-

CAMERA_COUNT=2
SRC_WIDTH=320
SRC_HEIGHT=240
MARGIN=320

#-_-_-_--- END CONFIGURATION---_-_-_-

CHARS=( {A..Z} )
FULL_WIDTH=$((SRC_WIDTH * CAMERA_COUNT))

FFMPEG="ffmpeg "

for ((i = 0; i < CAMERA_COUNT; i++))
do
        FFMPEG+="-f flv -i rtmp://127.0.0.1:1935/live/PanoView${CHARS[i]} "
done

FFMPEG+="-filter_complex \"nullsrc=size=$((SRC_WIDTH * CAMERA_COUNT))x${SRC_HEIGHT} [base]; [base][0:v] overlay [tmp1]; "

for ((i = 1; i < CAMERA_COUNT - 1; i++))
do
        FFMPEG+="[tmp${i}][${i}:v] overlay=x=$((SRC_WIDTH * i)) [tmp$((i + 1))];"
done

FFMPEG+="[tmp$((CAMERA_COUNT - 1))][$((CAMERA_COUNT - 1)):v] overlay=x=$((SRC_WIDTH * (CAMERA_COUNT - 1)))\" -f flv -b:v 1M -an -r 25 rtmp://127.0.0.1:1935/live/test"

$FFMPEG

echo $FFMPEG

最后一个回声的输出:

ffmpeg -f flv -i rtmp://127.0.0.1:1935/live/PanoViewA -f flv -i rtmp://127.0.0.1:1935/live/PanoViewB -filter_complex "nullsrc=size=640x240 [base]; [base][0:v] overlay [tmp1]; [tmp1][1:v] overlay=x=320" -f flv -b:v 1M -an -r 25 rtmp://127.0.0.1:1935/live/test

当我在脚本中的FFMPEG变量中执行复合命令时,收到错误消息:

  

[AVFilterGraph @ 0x7fffed837620]没有这样的过滤器:'“nullsrc'

     

初始化复杂过滤器时出错。

     

无效的参数

但是,如果我复制最后有脚本输出的复合代码,粘贴并执行它,一切都按预期工作。可能是什么原因?

0 个答案:

没有答案