首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fswatch和ffmpeg中的输出文件名扩展

fswatch和ffmpeg中的输出文件名扩展
EN

Stack Overflow用户
提问于 2020-06-30 08:16:05
回答 1查看 198关注 0票数 1

我对文件名扩展名输出有问题。我的输入是JPG文件,需要使用FFMPEG转换为MP4。但是,当我以img1.jpg.mp4的形式运行下面的代码时,包括输入文件扩展名,而不仅仅是img1.mp4

代码语言:javascript
复制
fswatch -e ".*" -i "\\.jpg$" . |xargs -n1 basename|xargs -n1 -t -I {} sh -c 'pwd;[[ -f {} ]] && ffmpeg -y -loop 1 -i "{}" -vf "fade=t=in:st=0:d=1,fade=t=out:st=2:d=1" -preset "ultrafast" -c:v libx264 -t 3 -pix_fmt yuv420p "{}.mp4"'

任何帮助都是非常感谢的。

在MAC、SH/BASH上运行

编辑:

顺便说一下,我还尝试了一个循环来完成类似于下面代码的操作,但我希望找到更好的解决方案,在FSWATCH成功操作后,在上面的代码行中修复它或调用函数。

代码语言:javascript
复制
 for file in
     *.jpg.mp4; do
        mv "$file" "$(basename "$file" .jpg.mp4).mp4"
    done
EN

回答 1

Stack Overflow用户

发布于 2020-06-30 09:36:15

sed就像这样

代码语言:javascript
复制
fswatch -e ".*" -i "\\.jpg$" . |
xargs -n1 basename |
sed 's/\.jpg$//' |
xargs -n1 -t -I {} sh -c 'pwd;[[ -f {}.jpg ]] && ffmpeg -y -loop 1 -i "{}.jpg" -vf "fade=t=in:st=0:d=1,fade=t=out:st=2:d=1" -preset "ultrafast" -c:v libx264 -t 3 -pix_fmt yuv420p "{}.mp4"'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62653064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档