我认为命令行视频编辑软件+ bacth生成一个循环,以便一次编辑所有视频是一种可行的方式。我的问题是,我还没有找到自由软件与命令行插入水印到目前为止。有任何想法吗?如何将我的标志一次免费加入200个视频?
回答
编写一个AviSynth脚本来添加水印,然后使用FFmpeg重新转换文件。用于Win32的FFmpeg能够从AviSynth框架服务器读取。
有用的链接:How to add a watermark with AviSynth。
我写了一个/bin/sh
脚本来帮助我进行家庭视频批量转换。它会在当前目录中生成窗口.bat
文件。您可以轻松修改它以生成200 .avs
脚本,然后调用FFmpeg将其转换。
#!/bin/sh
OUTBAT="$(pwd)/conv.bat"
OUTSH="$(pwd)/conv.sh"
if [ -e "${OUTBAT}" ] ; then
echo "${OUTBAT}: file exists, exiting"
exit 4
fi
if [ -e "${OUTSH}" ] ; then
echo "${OUTSH}: file exists, exiting"
exit 4
fi
usage() {
echo "${0}: ${1}"
echo
echo "usage: ${0} <mode> <file1>[ <file2> [...]]"
echo
echo "available <mode>'s:"
echo " -x : generates windows .BAT file (conv. to [email protected])"
}
if [ $# -eq 0 ] ; then
usage "no mode specified"
exit 1
fi
MODE=${1}
shift
if [ $# -eq 0 ] ; then
usage "no input files"
exit 2
fi
while [ $# -gt 0 ] ; do
FILE=$(echo "${1}" | sed -re 's/\//\\\\/g')
if [ -n "$(echo "${FILE}" | grep -P '\.mp4$')" ] ; then
ORIG=$(echo "${FILE}" | sed -re 's/(\.[^\.]*)$/-original\1/')
echo ren \""${FILE}"\" \""${ORIG}"\" >>"${OUTBAT}"
else
ORIG="${FILE}"
fi
BASE=$(echo "${FILE}" | sed -re 's/\.[^\.]*$//')
shift
case "${MODE}" in
"-x")
echo ffmpeg -threads 4 -i \""${ORIG}"\" -vn -af \"aresample=48000:resampler=soxr\" -acodec pcm_s16le \""${BASE}"-audio.wav\" >>"${OUTBAT}"
echo normalize \""${BASE}"-audio.wav\" >>"${OUTBAT}"
echo neroAacEnc -if \""${BASE}"-audio.wav\" -of \""${BASE}"-audio.mp4\" >>"${OUTBAT}"
echo del \""${BASE}"-audio.wav\" >>"${OUTBAT}"
echo x264 --preset veryslow --tune film --crf 25 --vbv-maxrate 17500 --vbv-bufsize 17500 --level 3.1 -o \""${BASE}"-video.mp4\" \""${ORIG}"\" >>"${OUTBAT}"
echo mp4box -add \""${BASE}"-video.mp4\" \""${BASE}".mp4\" >>"${OUTBAT}"
echo mp4box -add \""${BASE}"-audio.mp4\" \""${BASE}".mp4\" >>"${OUTBAT}"
echo del \""${BASE}"-audio.mp4\" >>"${OUTBAT}"
echo del \""${BASE}"-video.mp4\" >>"${OUTBAT}"
echo >>"${OUTBAT}"
echo cptime \""${ORIG}"\" \""${BASE}".mp4\" >>"${OUTSH}"
;;
*)
usage "unknown mode"
exit 3
;;
esac
done
你应该通过改变目录到你的视频文件的位置并输入$ script-name *.avi
来使用它。 conv.bat
文件将使用appriopriate命令生成。正如我所说的:用echo ffmpeg ...
来改变部分以满足您的需求,但是您已经有了“框架”来生成.bat
或.avs
或者什么不是你想要的任意数量的输入文件。 :-)
非常感谢,它似乎真的很有帮助。我会尝试使用批处理或使用Cygwin来完成它,并尝试运行修改后的脚本以满足我的需要。 AviSynth似乎非常强大。 – 2013-04-21 22:54:51
确实如此。我很高兴这对你有一些帮助。 :)也许你会考虑接受答案。 – 2013-04-21 23:19:38
- 1. 免费/付费Silverlight视频播放器?
- 2. 免费视频流媒体平台
- 3. 如何加入一个音频和视频文件 - Xuggler
- 4. Android - 如何加入两个视频
- 5. 如何将多个标志传入IMAP。?
- 6. 我如何免费ostringstream?
- 7. 如何避免在查询中多次加入同一个表?
- 8. 如何使我的Flash视频主和HTML5视频次要?
- 9. 如何将Youtube视频放入我的Roku频道?
- 10. 我怎么能一次插入超过200个条目到plist?
- 11. 如何将音频添加到视频?
- 12. 如何将html5视频拉伸为宽度:600和高度200?
- 13. 如何实施谷歌的第一次免费的轨道上
- 14. 在免费Wordpress博客上嵌入Sitemap Meta标签我有一个域名为
- 15. 有关DDD的免费视频(截屏视频,网络广播...)培训
- 16. 免费图标库
- 17. 免费一个指向struct
- 18. 如果我拥有视频ID,我如何获得YouTube视频的标题?
- 19. 如何多次加入同一个表
- 20. 如何获取每天每个视频的视频指标
- 21. 避免多次加入
- 22. 如何一次切换多个记录的标志?
- 23. GitLab的免费推送日志工具
- 24. 添加一个Flash视频
- 25. 我将如何显示一个视图作为另一个视图的叠加?
- 26. 如何在第一个视频完成IOS5应用后播放下一个视频/未加载WEB视频
- 27. 免费的IDE图标?
- 28. 如何将新标志放入我的定制内核版本
- 29. 如何将我的标志放置在输入字段旁边?
- 30. 免费FLV视频播放器的网站?
除非你试图用编程语言完成这个,否则这个问题是脱离主题。 – 2013-04-21 22:28:54