批处理使用ffmpeg为mp4批量加入字幕

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批处理使用ffmpeg为mp4批量加入字幕相关的知识,希望对你有一定的参考价值。

我有多个mp4视频,名字比较乱没有规律性,有中文、数字、字母、连接线、下划线等,而且我也整理好了同名的srt字幕和ass字幕,现在自己已经可以成功的使用ffmpeg将单个mp4视频直接拷贝与同名srt字幕合并成内嵌“time text(sbtl)”字幕:
"D:\\ffmpeg\ffmpeg-20150702-git-03b2b40-win32-static\bin\ffmpeg.exe" -i 15613Bowe.mp4 -f srt -i 15613Bowe.srt -c:v copy -c:a copy -c:s mov_text 15613vbm_new.mp4
现在需要实现:
批处理将文件夹中全部mp4文件与同名srt文件合并,生成相同名字的mp4文件并保存到F盘下的“视频整理”文件夹;
如果我要将mp4文件与同名ass字幕文件批量进行合并,应该怎么写?

@echo off
(for /f "tokens=*" %%i in ('dir/b *.mp4') do (
echo "D:\\\\ffmpeg\\ffmpeg-20150702-git-03b2b40-win32-static\\bin\\ffmpeg.exe" -i   %%i -f srt -i %%~ni.srt -c:v copy -c:a copy -c:s mov_text %%~ni_new.mp4))>加字幕.bat

 你先用记事本打开生成的 " 加字幕.bat " 看一下,是不是与你手工输入时格式一致,一致就运行这个bat,有何不一致需要改你再追问吧。

参考技术A

也可试试现成的工具。

android ffmpeg视频添加字幕和配音

参考技术A 使用ffmpeg三方:https://github.com/abyuthup/mobile-ffmpeg

兼容处理android10的不能操作二进制文件流问题;

1、添加字幕

主要命令:-i videoPath.mp4 -q 5 -vf ass=subtitle.ass -y outPath.mp4

其中-q 5命令是为了生成的视频不会很模糊

2、添加字幕和配音

ffmpeg在特定的时间混合一个或多个音频,参考文章

如何在指定的时间点向视频插入配音文件即音频文件,参考文章

主要命令:ffmpeg -y -i video1.mp4 -i audio1.mp3 -i audio2.mp3 -filter_complex "[1]atrim=0:5,adelay=3000|3000[aud1];[2]atrim=0:6,adelay=10000|10000[aud2];[aud1][aud2]amix=2,apad,atrim=0:20[a]" -map 0:v -map "[a]" -c:v copy -ac 2 output.mp4

以上是关于批处理使用ffmpeg为mp4批量加入字幕的主要内容,如果未能解决你的问题,请参考以下文章

android ffmpeg视频添加字幕和配音

android 中使用ffmpeg,将视频加入字幕,用ass文件,在PC上可以,但在Android上一直不行

如何使用 bash 命令或 Ruby 使用 ffmpeg 将 mp4 文件批量转换为 ogg

使用ffmpeg压制硬字幕与logo

如何使用 FFmpeg 2 Pass 批量转换?

如何使用 ffmpeg 将字幕嵌入到 .mp4 电影