视频制作
💃🏻 云想衣裳花想容,春风拂槛露华浓
本小节讨论如何在 archlinux 上制作视频以及直播推流。
🔖 这一节将会讨论:
目录
ℹ️ 提示
指南中带有 aur 角标的软件代表是在 AUR(Arch User Repository)中用户自行打包的软件。不在 arch 官方支持范围内,可能会出现各种问题如更新不及时、无法安装、使用出错等。
指南中带有 cn 角标的软件代表是在 archlinuxcn(Arch Linux 中文社区仓库)中用户自行打包的软件。不在 arch 官方支持范围内,可能会出现各种问题如更新不及时、无法安装、使用出错等。
指南中带有 EULA 角标的软件代表是 专有软件。请自行斟酌是否使用。
🎬 制作软件
Kdenlive
Kdenlive 是由 KDE 开发的自由开源的免费视频编辑软件。
安装 Kdenliveextra / aur:
sudo pacman -S kdenlive
yay -S kdenlive-git
Shotcut
Shotcut 是一个免费开源的跨平台视频编辑软件。
安装 Shotcutextra / aur:
sudo pacman -S shotcut
yay -S shotcut-git
MKVToolNix
MKVToolNix 是一套功能强大的 *.mkv 格式制作和处理的工具。支持将多种视频、音频、字幕等格式封装成 *.mkv 格式。
安装 MKVToolNixextra / aur:
sudo pacman -S mkvtoolnix-gui
yay -S mkvtoolnix-git
ℹ️ 提示
可在菜单栏 MKVToolNix GUI
> Preferences
> 侧边栏 GUI
> Interface language
中将语言更改为 简体中文
:
DaVinci Resolve
DaVinci Resolve 是一款将剪辑、调色、视觉特效、动态图形和音频后期制作融于一身的视频编辑软件。
安装 DaVinci Resolve(免费版)EULA / aur:
yay -S davinci-resolve
yay -S davinci-resolve-beta
ℹ️ 提示
DaVinci Resolve(免费版)在 Linux 下支持的编解码格式有限,详情请参阅此 📄 文档。
DaVinci Resolve 没有编入 fcitx 模块,所以在 Linux 下不能输入中文,可以使用剪贴板解决。
另外还有 DaVinci Resolve Studio(付费版)EULA / aur:
yay -S davinci-resolve-studio
yay -S davinci-resolve-studio-beta
📡 录屏直播
OBS Studio
OBS Studio 是免费开源的用于视频录制以及直播串流的软件。Linux 下操作与 Windows 下基本一致。
安装 OBS Studioextra / aur:
yay -S obs-studio-browser # 有浏览器插件集成的 OBS Studio。编译要很久(大约 15 min)
sudo pacman -S obs-studio
yay -S obs-studio-git
ℹ️ 提示
如果你使用较新的 NVIDIA 显卡,可以使用 NVENC 编码器。这将大大降低直播或录制过程中 CPU 的压力。
详情请参阅 NVIDIA NVENC OBS 指南。
如果想进一步优化直播或录制性能,可以安装此仓库中的 NvFBC 显卡驱动补丁,再安装OBS NvFBC 插件aur,然后使用 NvFBC 来源即可。
yay -S obs-nvfbc-git
Bilibili Live Chat(推荐)
Bilibili Live Chat 是一个无后端的、仿 YouTube Live Chat 的、箱都不用开就能食用的 Bilibili 直播弹幕姬。主要用于 OBS,为的是在低功能需求的情况下,不依靠任何第三方本地软件实现弹幕和礼物的展示。
可以直接使用部署在 Github Pages 的成品,也可以在本地运行一个服务器:
克隆 Bilibili Live Chat repo 到合适位置:
shgit clone https://github.com/Tsuk1ko/bilibili-live-chat /path/to/some/folder
- sh
sudo pacman -S nodejs yarn
进入克隆仓库并安装项目的所有依赖项:
shcd bilibili-live-chat yarn install
运行本地服务器:
shyarn serve
打开对应本地链接并设置 > 点击
Go!
:打开
OBS Studio
> 在来源
中添加🌏 浏览器
(BrowserSource)> 复制上方链接填写在URL
中。宽度
和高度
可根据需要自行设置(不要在预览视图中拖拽缩放浏览器源的宽高),其它选项默认即可:ℹ️ 提示
Bilibili Live Chat 需要使用 有浏览器插件集成的 OBS Studio。
在预览视图中将其移动至合适位置即可:
弹幕库(推荐)
安装 弹幕库cn / aur:
shsudo pacman -S bilibili-live-helper-bin
shyay -S aur/bilibili-live-helper-bin
shyay -S bilibili-live-helper-git
点击
应用模块
或OBS 模块
所需功能即可开启 / 设置对应功能,按照提示操作即可:
screenkey
screenkey 是一个用于显示键盘键入在屏幕上的工具,可用于录屏演示。
安装 screenkeyextra / aur:
shsudo pacman -S screenkey
shyay -S screenkey-git
在终端输入
screenkey
以启动:按下
Ctrl
+C
即可退出
ℹ️ 提示
可以通过以下设置在录屏演示中突出显示鼠标位置与点击效果:
打开 系统设置
> 点击侧边栏 工作区行为
> 桌面特效
> 在 无障碍功能
中勾选 鼠标定位
与 鼠标点击动效
> 应用
。
🔤 字幕制作
视频字幕除了可以用上述视频编辑软件制作,还可以使用 ffmpeg(已经作为依赖安装)在命令行进行烧录。
ffmpeg
一般情况来讲,一个视频加上外带的 *.srt 字幕是较为普遍的情况。这里描述如何为 YouTube 视频加入字幕。
首先要进行视频字幕的下载。这里可以使用一个 Chromium 浏览器拓展 —— YouTube™ 双字幕
接下来进行字幕与视频的重新烧录。MKVToolNix 只能做那种分离的字幕,但是某些视频网站要上传烧录好的。为了更好的兼容性,建议始终将视频和文件重新烧录。使用
ffmpeg
进行操作:bashffmpeg -i input.mp4 -vf subtitles=input.srt output.mp4
ℹ️ 提示
如果需要制作双语字幕(同时显示,而不是分字幕轨道),可以使用两次
ffmpeg
命令 —— 第一次添加主字幕,第二次添加副字幕。- 第一次添加主字幕。使用 MarginV 进行垂直方向的区分:
shffmpeg -i input.mp4 -strict -2 -vf subtitles=input_zh.srt:force_style='Fontsize=20\,Fontname=FZYBKSJW--GB1-0\,MarginV=30\,Bold=-1\,BorderStyle=1' -qscale:v 3 output_with_zh.mp4
- 第二次添加副字幕:
shffmpeg -i output_with_zh.mp4 -strict -2 -vf subtitles=input_en.srt:force_style ='Fontsize=15\,Fontname=FZYBKSJW--GB1-0\,Bold=-1\,BorderStyle=1' -qscale:v 3 output_with_double_subtitles.mp4
更多参数可以参阅 ffmpeg 文档。