我会再问一次我有很多像系列(黑暗-la casa de papel-权力的游戏)的视频,所有这些视频都没有任何字幕或水印首先我用手刹刻录字幕我使用ffmpeg通过此代码刻录带有视频的水印
对于 %i in ("C:\Users\shady\Downloads\convert\01*.mp4") 做 ffmpeg -i "%i" -i C:\Users\fady\Downloads\convert\shady.png -filter_complex " overlay=main_w-overlay_w-10:10" -codec:a copy "C:\Users\shady\Downloads\convert\new01%~ni.mp4"
然后我使用此代码将其转换为 720p
对于 (C:\Users\shady\Downloads\convert\01*.mp4) 中的 %i,请执行 ffmpeg -i "%i" -c:a copy -s hd720 "C:\Users\shady\Downloads\convert\new01 %~ni.mp4"
我现在的问题是,如果我想用我的水印刻录所有季节黑暗系列的字幕,最终文件以 720p 的格式输出,字幕在右上方带有水印
我可以吗?
水印 png 字幕 srt 电影带有 mkv 而不是 mp4(我希望最终文件带有 mp4)
关于问题的标题 - 为什么不将输出大小添加到您的第一个命令(水印)中: -s hd720
这样就省了一步。
对于字幕,将此添加到命令中:
subtitles=subtitle.srt
但是您可能需要添加过滤器库或找到正确的 ffmpeg 构建。详细说明如下:https : //trac.ffmpeg.org/wiki/HowToBurnSubtitlesIntoVideo
不过,这不是 Ubuntu 的问题......不完全是,但好吧..
编辑:虽然我现在才意识到这是 Windows + ffmpeg,但答案仍然是......
Ubuntu 20.04 (CLI) + ffmpeg
安装 ffmpeg:
apt-get install -y ffmpeg
运行for
“批处理”命令:
for i in some-series-of-names-*.mp4; do echo ${i%%.*}; ffmpeg -i ${i%%.*}.mp4 -i some-logo.png -filter_complex "[0:v][1:v]overlay=main_w-overlay_w-10:10,subtitles=${i%%.*}.srt" -codec:a copy -s hd720 ${i%%.*}-ubuntu.mp4; done
Windows 10 + ffmpeg
随时随地获取 ffmpeg。然后在 cmd.exe 中运行命令:
for %i in (some-series-of-names-*.mp4) do echo %~ni.mp4 && ffmpeg -i %~ni.mp4 -i some-logo.png -filter_complex "[0:v][1:v]overlay=main_w-overlay_w-10:10,subtitles=%~ni.srt" -codec:a copy -s hd720 %~ni-windows.mp4
解释
bash / cmd
${i%%.*}
去掉扩展名,只使用 ; 的文件名字符串i
。在 Windows cmd.exe 中,通过调用执行相同的功能%~ni
ffmpeg
-filter_complex
可以执行各种叠加等,因此您可以通过它推送字幕和徽标-i some-logo.png
是标志(水印图片)名称overlay=main_w-overlay_w-10:10
在您的屏幕上放置一个类似水印的叠加层subtitles=%~ni.srt
硬编码字幕;副标题必须与您的输入 mp4 文件具有相同的名称(somovie.mp4
和movie.srt
对)-codec:a
复制复制音频不变-s hd720
调整为 720p%~ni-newname.mp4
是输出视频的名称,例如。movie.mp4
将被命名movie-newname.mp4
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句