今天看到一篇“一个视频自动加字幕的小工具,如何做到月入2W”的博文(突字幕,有兴趣的同学可以度娘,作者的动手能力确实很强!),考虑实现这个小工具就能做到这个收入,还是挺让人羡慕的!在当前人工智能、机器学习的热度不减的当下,依托成熟三方服务或者开源实现,实现一个类似的应用理论上是不难的,而核心的技术难点也显而易见,主要在语音识别,以及机器翻译的准确性上,考虑到商用,所以感觉最大可能是使用了三方成熟的API!
关键功能点,给视频自动添加多语种字幕,大概的实现流程:
1、视频中音频部分提取! -> 源码改造ffmpeg,或者直接命令提取,大多数三方识别平台只识别PCM,所以提取再加上转码,可以参考:https://www.zhihu.com/question/389948583
ffmpeg -i input.mp4 Stream #0:2(chi): Audio: ac3, 48000 Hz, stereo, fltp, 448 kb/s 将mp4文件转换为pcm音频文件命令参数:-i 输入文件 -an 去除音频流 -vn 去除视频流 -acodec 设置音频编码 -f 强制指定输入或输出文件的编码 -ac 设置音频轨道数, -ar 设置音频采用频率 -y 不经过确认,直接覆盖同名文件 # 例如,以下是将t1801.mp4文件,去除视频流并用pcm_s16le进行音频编码,输出文件也采用s16le编码,同时音轨为1且采样频率为16000: ffmpeg -i t1801.mp4 -vn -acodec pcm_s16le -f s16le -ac 1 -ar 16000 t1801.pcm ffmpeg -i input.mp4 -vn -ar 44100 -ac 2 -f s16le out.pcm
2、语音识别,音频部分转文字! -> 使用讯飞进行pcm语音识别?或者 python的语音识别库、或者语音模块,autosub_app?
文字部分需要增加时间戳信息,这部分可能需要手动解析PCM包实现?
3、文字翻译,比方中文转英文! -> 使用商用的API,百度、腾讯等云服务商均有提供机器翻译API;
4、将文字+时间戳生成外挂式SRT字幕文件,后台服务程序处理即可!
一个典型的SRT文件如下(截取自阿凡达中英字幕): 3 00:00:39,770 --> 00:00:41,880 在经历了一场人生巨变之后 When I was lying there in the VA hospital ... 4 00:00:42,550 --> 00:00:44,690 我被送进了退伍军人管理局医院 ... with a big hole blown through the middle of my life, 5 00:00:45,590 --> 00:00:48,120 那段时间我经常会梦到自己在飞翔 ... I started having these dreams of flying. 6 00:00:49,740 --> 00:00:51,520 终获自由 I was free. 7 00:00:54,620 --> 00:00:55,830 而不幸的是 Sooner or later though, ... 2 SRT格式化设置 多数SRT支持一些特定格式化,比如斜体、粗体、下划线以及字体颜色。使用时需要基于HTML的标签,具体用法如下: <font color=red>颜色</font> <i>字体斜体</i> <u>字体下加划线</u> <br>换行 <b>字体加粗</b> 这些HTML可嵌套。 当然某些播放器还对SRT做了扩展,可以支持ASS/SSA中部分格式化代码。
SRT文件格式参考:https://www.cnblogs.com/tocy/p/subtitle-format-srt.html
http://ale5000.altervista.org/subtitles.htm
5、字幕和视频合成!
ffmpeg -i infile.mp4 -i infile.srt -c copy -c:s mov_text outfile.mp4
-c:v copy -c:a copy -c:s mov_text不适用于-c copy
-c:v copy -c:a copy -c:s mov_text的顺序很重要。 你在告诉FFmpeg:
视频:copy,Audio:copy,Subtitle:copy
副标题:mov_text
ffmpeg -i 01.mkv -vf subtitles=01.ass 01_out.mkv
未验证的方法,增加字幕流:
ffmpeg -i video.avi -i sub.ass -map 0:0 -map 0:1 -map 1 -c:a copy -c:v copy -c:s copy video.mkv
-------------------广告线---------------
项目、合作,欢迎勾搭,邮箱:promall@qq.com
本文为呱牛笔记原创文章,转载无需和我联系,但请注明来自呱牛笔记 ,it3q.com