与 Shell 脚本一起使用时在何处添加 FilterChain
Where to add FilterChain when using with Shell Script
我正在尝试从 mp4 视频的中间获取 jpg。我使用了这一行,它就像在一行中生成 jpg 缩略图的魅力一样:
ffmpeg -i input.mp4 -vcodec mjpeg -vframes 1 -an -f rawvideo -ss `ffmpeg -i input.mp4 2>&1 | grep Duration | awk '{print }' | tr -d , | awk -F ':' '{print /2}'` output.jpg
但是,我想使用上面的行应用缩放和裁剪滤镜链 (filter:v
),但是无论我把滤镜放在哪里,我都无法让它工作。
-filter:v "scale=720:ih*720/iw, crop=720:720:280:1000"
.
我应该把它放在哪里?
我收到的错误:
At least one output file must be specified
Invalid duration specification for ss: -filter:v
请注意这有效:
ffmpeg -i fkj.mp4 -vcodec mjpeg -filter:v "scale=720:ih*720/iw, crop=720:720:280:1000" -vframes 1 -an -f rawvideo -ss 4 output.jpg
你可以把它放在-vcodec mjpeg
之后,然后将它添加到shell ffmpeg 命令
ffmpeg -i input.mp4 -f null - 2>&1 | grep Duration....
理想情况下,您应该使用 ffprobe input.mp4
而不是 ffmpeg
我正在尝试从 mp4 视频的中间获取 jpg。我使用了这一行,它就像在一行中生成 jpg 缩略图的魅力一样:
ffmpeg -i input.mp4 -vcodec mjpeg -vframes 1 -an -f rawvideo -ss `ffmpeg -i input.mp4 2>&1 | grep Duration | awk '{print }' | tr -d , | awk -F ':' '{print /2}'` output.jpg
但是,我想使用上面的行应用缩放和裁剪滤镜链 (filter:v
),但是无论我把滤镜放在哪里,我都无法让它工作。
-filter:v "scale=720:ih*720/iw, crop=720:720:280:1000"
.
我应该把它放在哪里?
我收到的错误:
At least one output file must be specified
Invalid duration specification for ss: -filter:v
请注意这有效:
ffmpeg -i fkj.mp4 -vcodec mjpeg -filter:v "scale=720:ih*720/iw, crop=720:720:280:1000" -vframes 1 -an -f rawvideo -ss 4 output.jpg
你可以把它放在-vcodec mjpeg
之后,然后将它添加到shell ffmpeg 命令
ffmpeg -i input.mp4 -f null - 2>&1 | grep Duration....
理想情况下,您应该使用 ffprobe input.mp4
而不是 ffmpeg