前言
大多数没有接触过Linux的用户或Linux的初级用户会觉得,Linux下的大多数软件(特别是GUI、CLI除外)比羽毛等各种软件使用起来困难得多。
可是当你有一定了解之后,你就会发现linux的好用的软件也很多。下面本文就带你看看在ubuntu下怎么一步一步制作视频字幕并将字幕嵌入到视频中的。事实上在Ubuntu下要将字幕嵌入到视频可谓相当的简单。你只需要安装两个人软件Aegisub和ffmpeg即可。
Aegisub
Aegisub是一个免费、开源、跨平台的字幕编辑软件。它被广泛应用于字幕组,是用来制作翻译非官方非商业性质的字幕作品,提供给不同领域的爱好者。
Aegisub 被设计用来制作字幕时间轴和排版,以及制作卡拉OK效果。Aegisub 的标准格式是AdvancedSubStation Alpha(即ASS字幕)格式,此种格式可以记录字幕位置信息和样式信息。另外Aegisub还支持其他的常见字幕格式,例如SubRip、SRT等 。它可以凭视频和音频两种方式来打轴。可以用多种音视频解码方式来解码,例如使用FFmpeg和Avisynth。Aegisub拥有一个强大的名为自动化的脚本运行环境,可透过Lua、MoonScript编程语言来扩充功能。
详细信息可以参考:
ffmpeg
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。
FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。这个项目最早由Fabrice Bellard发起,2004年至2015年间由Michael Niedermayer主要负责维护。许多FFmpeg的开发人员都来自MPlayer项目,而且当前FFmpeg也是放在MPlayer项目组的服务器上。项目的名称来自MPEG视频编码标准,前面的"FF"代表"Fast Forward"。FFmpeg编码库可以使用GPU加速。
FFmpeg可谓大名鼎鼎,相信互联网起步的那个年代,用过暴风影音或者stormplayer的用户对此一定不陌生,他们的解码器都是FFmpeg。直到现在,好多视频播放器的解码器还都是ffmpeg。
更多信息可以参考:
步骤
- 安装软件
首先你得切换apt源到一个稳定源比如说阿里源,比如说清华源,关于怎么切换稳定源这里就不赘述了,自己搜索下一大堆。
其次考虑到包依赖问题,可以使用aptitue代替apt来安装。
aptitude 是 Debian GNU/Linux 系统中, 非常神奇的的软件包管理器,基于APT机制, 整合了 dselect 和 apt-get的所有功能, 并提供更多特性,特别是在依赖关系处理上。
与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 不同的是,aptitude在处理依赖问题上更佳一些。举例来说,aptitude在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。
打开终端运行
sudo apt update -y && sudo apt install aptitude -y sudo aptitude update -y && sudo aptitude install ffmpeg aegisub -y
至此软件安装阶段完成了。
注意:如果Aegisub想要带上汉化就还得安装aegisub-l10n包。
sudo aptitude install aegisub-l10n -y
安装完后打开Aegisub,选择View->Language, 从弹出列表中选择中文。重启就可以切换成功了。
- 制作字幕
打开Aegisub开始制作字幕。
- 选择Video或者Audio,Open Video 或者 Open Audio File 选择你要制作的视频或者音频
- 下面字幕列表部分选择Insert after依次插入字幕。在视频预览区点击播放,然后等你要制作的字幕的那句话说完点击停止。
- 这时候视频预览区下方会出现时间区间, start-end这样的格式。
- 切换到右边音轨下方的字幕编辑区,将对应的时间区间填入,然后再进行字幕编辑。
- 确认无误点commit,也可以事先选择auto commit。
- 重复上面的步骤指导把整个视频或者音频的制作完成。
- 最后点save保存为.ass文件即可。
到此字幕文件已经制作完成。详细操作可以参考下图:
- 嵌入字幕文件
嵌入字幕文则要用到ffmpeg,相对来说简单,只要一条命令即可
ffmpeg -i $YOUR_VIDEO_PATH -vf "ass=$ASS_FILE_NAME" -c:a copy $OUTPUT_VIDEO_PATH
为了方便操作我们自己写一个shell脚本一劳永逸
vim embed-
内容如下
#!/bin/bash # source video path SOURCE_FILE=$1 # ass file path SUBTITLES_FILE=$2 # ouput path OUTPUT_PATH=$3 echo "ffmpeg begin to embeding subtitles: $SUBTITLES_FILE into video $SOURCE_FILE" echo "The target file is: $OUTPUT_PATH" ffmpeg -i $SOURCE_FILE -vf "ass=$SUBTITLES_FILE" -c:a copy $OUTPUT_PATH echo "ffmpeg embed subtitles finished, please check the output file: $OUTPUT_PATH"
然后给脚本加上可执行权限并添加alais到.bashrc或者.zshrc根据你当前用的shell来
chmod +x embed- alias embed-subtitles="bash $HOME/.embed-"
测试运行下:
假定我的原视频是, 字幕文件是s.ass, 输出是ou
embed-subtitles s.ass ou
彩蛋
相信聪明的你已经注意到了,由于Aegisub和ffmpeg都是跨平台的,所以这一套操作流程在Windows也同样是可用的。只不过安装和执行ffmpeg略微有点差异。
1.《怎么创建ass文件怎么打开?总结很全面速看!Ubuntu下视频字幕嵌入教程》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《怎么创建ass文件怎么打开?总结很全面速看!Ubuntu下视频字幕嵌入教程》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/3205296.html