Ubuntu下视频字幕嵌入教程 镶嵌字幕

嵌入字幕(Ubuntu下的视频字幕嵌入教程)
序大多数没有接触过linux的用户或者linux的初学者都会发现,linux下的大部分软件都很难用(GUI和CLI除外) 。与windows平台相比,windows平台上的软件种类繁多,但却很少 。但是当你对它有所了解的时候,你会发现有很多对linux有用的软件 。下面来看看如何在ubuntu下一步一步的 视频字幕,并把字幕嵌入到视频中 。
其实在Ubuntu下给视频嵌入字幕还是挺简单的 。你只需要安装两个个人软件Aegisub和ffmpeg 。
宙斯盾Aegisub是一款免费、开源、跨平台的字幕编辑软件 。广泛应用于字幕组 。用于为不同领域的粉丝 、翻译非官方、非商业字幕作品 。
Aegisub的设计是 字幕时间轴和排版, 卡拉ok效果 。Aegis SUB的标准格式是AdvancedSubStation Alpha (ASS字幕)格式,可以记录字幕的位置信息和样式信息 。此外,Aegisub还支持其他常用字幕格式,如SubRip、SRT等 。可以通过视频和音频播放 。可以用各种音视频解码 解码,比如FFmpeg和Avisynth 。Aegisub有一个强大的脚本运行环境叫做automation,可以通过Lua和MoonScript编程语言来扩展功能 。
详情请参考:https://github.com/Aegisub/Aegisub/.
工具FFmpeg是一个开源的计算机程序,可用于记录、转换数字音频和视频,并将其转换为流 。使用LGPL或GPL许可证 。它为音频和视频的录制、转换和流式传输提供了完整的解决方案 。它包含一个非常先进的音频/视频编解码器库,libavcodec 。为了保证较高的可移植性和编解码质量,libavcodec中的很多代码都是从头开始开发的 。
FFmpeg是在Linux平台上开发的,但也可以在其他操作系统环境下编译运行,包括Windows、Mac OS X等 。这个项目最早由Fabrice Bella发起,2004年至2015年主要由Michael Niedermayer维护 。FFmpeg的很多开发者都来自Mpayer项目,目前FFmpeg也放在Mpayer项目组的服务器上 。项目名称来自MPEG视频编码标准,前面的“FF”代表“快进” 。FFmpeg编码库可以用GPU加速 。
FFmpeg众所周知 。相信在互联网起步的年代,用过暴风影音或者暴风影音的用户一定很熟悉 。他们的解码器是FFmpeg 。直到现在,很多视频播放器的解码器都是ffmpeg 。
欲了解更多信息,请参考:https://www.ffmpeg.org/about.html
步骤 安装软件
之一,你得把apt源换成稳定的源,比如阿里源,比如清华源 。如何切换稳定源,这里就不赘述了 。我自己去找下一批 。
其次,考虑到包的依赖性,可以用aptitue代替apt来安装 。
Aptitude是Debian GNU/Linux系统中令人惊叹的软件包管理器 。它基于APT机制,集成了dselect和apt-get的所有功能,提供了更多的特性,尤其是在依赖处理方面 。
像apt-get一样,它是Debian及其衍生系统中极其强大的包管理工具 。与apt-get不同,aptitude更擅长处理依赖问题 。例如,当aptitude删除一个包时,它也会删除它所依赖的包 。这样,无用的包就不会留在系统里,整个系统就更干净了 。
开放式终端操作
sudoaptupdate-y&&sudoaptinstallaptitude-ysudoaptitudeupdate-y&&sudoaptitudeinstallffmpegaegisub-y至此,软件安装阶段已经完成 。
注意:如果Aegisub想汉化,你得安装aegisub-l10n包 。
sudoaptitudeinstallaegisub-l10n-y安装完成后,打开Aegisub,选择视图->语言,在弹出的列表中选择中文 。重启可以成功切换 。
字幕
打开Aegisub,开始 字幕 。
选择视频或音频,打开视频或打开音频文件,以选择您想要 的视频或音频 。
在下面的“字幕列表”部分,选择“在后面插入”以连续插入字幕 。在视频预览区点击播放,当你要 的字幕的句子完成后,再点击停止 。
这时,格式的时间间隔,起止会出现在视频预览区的下方 。
切换到右轨下方的字幕编辑区,填写相应的时间间隔,然后编辑字幕 。
确认提交无误,或者提前选择自动提交 。
重复以上步骤,指导整个视频或音频的 。
最后,单击“保存”保存为 。 档 。
到现在,这个字幕文件已经做好了 。详情请参考下图:

嵌入字幕文件
嵌入字幕需要ffmpeg,相对简单,只需要一个命令 。
ffmpeg-i$YOUR_VIDEO_PATH-vf"ass=$ASS_FILE_NAME"-c:acopy$OUTPUT_VIDEO_PATH为了操作方便,我们自己写一个shell脚本,一劳永逸 。
vimembed-subtitles.sh内容如下
#!/bin/bash#sourcevideopathSOURCE_FILE=$1#assfilepathSU ITLES_FILE=$2#ouputpathOUTPUT_PATH=$3echo"ffmpegbegintoembedingsubtitles:$SU ITLES_FILEintovideo$SOURCE_FILE"echo"Thetargetfileis:$OUTPUT_PATH"ffmpeg-i$SOURCE_FILE-vf"ass=$SU ITLES_FILE"-c:acopy$OUTPUT_PATHecho"ffmpegembedsubtitlesfinished,pleasechecktheoutputfile:$OUTPUT_PATH"然后向脚本添加可执行权限,并向 。巴沙尔或者 。zshrc根据你目前使用的shell 。