加水印
一开始用
ffmpeg -i audio_0_1s.avi -vf "movie=logo.png[watermark];[in][watermark] overlay=main_w-overlay_w-10:main_h-overlay_h-10[out] " output.avi
logo太大了,不知道怎么调整,后来让同事帮忙做了一个调整好位置的logo_L.png,然后直接合成:
ffmpeg -i audio_0_1s.avi -vf "movie=logo_L.png[watermark];[in][watermark] overlay=0:0[out] " output.avi
批量处理
参考:How to batch convert/multiplex any files with ffmpeg
改了一个脚本:
for %%a in ("*.*") do ffmpeg -i "%%a" -vf "movie=logo_L.png[watermark];[in][watermark] overlay=0:0[out] " "newfiles\%%~na.mp4"
pause
在terminal运行脚本
上面的链接用的是.bat,在linux需要用shell(shell学习指南)编写脚本。
在terminal运行.sh脚本
首先新建一个文件test.sh,然后使用bash命令运行:
$ bash test.sh
运行command
在测试过程中得知command和script不太一样,用以下command成功了:
for vid in *.avi; do ffmpeg -i "$vid" -vf "movie=logo_L.png[watermark];[in][watermark] overlay=0:0[out] " "${vid%.*}_logo.avi"; done
附录
什么是shell
Shell 是一个应用程序,它连接了用户和 Linux 内核,让用户能够更加高效、安全、低成本地使用 Linux 内核,这就是 Shell 的本质。——Shell是什么?1分钟理解Shell的概念!
linux的shell,bash,terminal关系
linux的shell,bash,terminal关系
bash是shell的其中一种,bash的全称就是Bourne-again shell。而terminal是一个用户终端,用于启动shell,也就是需要打开terminal来使用shell。
shell命令:可以让shell工具解释的命令(代码)。
shell脚本:一系列shell命令的集合。
短格式选项和长格式选项
Linux 的选项又分为短格式选项和长格式选项。
- 短格式选项是长格式选项的简写,用一个减号-和一个字母表示,例如ls -l。
- 长格式选项是完整的英文单词,用两个减号--和一个单词表示,例如ls --all。
一般情况下,短格式选项是长格式选项的缩写,也就是一个短格式选项会有对应的长格式选项。当然也有例外,比如 ls 命令的短格式选项-l就没有对应的长格式选项,所以具体的命令选项还需要通过帮助手册来查询。
(来源:Linux Shell命令的基本格式)
常见shell命令
- ls:列出文件列表
- echo:输出字符串
写着写着就变成linux使用指南了,有空的时候分开单独写一篇吧