Wie man eine variable in einen string in der Bash

Ich Schreibe ein Bash-Skript, und ich bin versucht, herauszufinden, einen Weg, um FFmpeg zu erkennen, eine Globale variable in der -force_key_frames option. Die -force_key_frames option kann ein regulärer Ausdruck als argument, so dass Funktionen wie zwingen, ein key-frame alle 5 Sekunden:

-force_key_frames 'expr:gte(t,n_forced*5)'

Dies funktioniert gut für zwingen, einen key-frame alle 5 Sekunden, aber ich weiß nicht, wie zu zwingen, ein key-frame alle x Sekunden, wobei x eine Eingabe-variable aus dem user geworden, durch den rest des Skripts. Die genaue FFmpeg-Befehl, den ich versuche, ist:

ffmpeg -i "video.mp4" -vcodec: libx264 -b:v 500k \
-force_key_frames 'expr:gte(t,n_forced*${SEG_TIME})' -s:v 640x480 \
-r 29.97 -pix_fmt yuv420p -map 0 -f segment -segment_time ${SEG_TIME} \
-reset_timestamps 1 -y "output%01d.mp4"

Die variable $SEG_TIME auf 5 festgelegt ist, durch das Skript, sondern der reguläre Ausdruck in der -force_key_frames option scheint nicht, wie die $SEG_TIME variable.

InformationsquelleAutor user1704620 | 2013-02-12
Schreibe einen Kommentar