欢迎光临散文网 会员登陆 & 注册

在Linux系统下学习字幕制作和视频压制

2021-01-21 12:43 作者:天羽ちよこ  | 我要投稿

背景

up主最近在瞎折腾视频切片和加字幕,为了做视频,特地给工作用的电脑装上了windows,变成了双系统,装的过程中还遇到了不少问题,甚至还把linux的grub引导的配置给搞坏了,花了不少时间修复。

在windows下面,我是使用的pr添加字幕和压制视频,然而,对于初学者来说十分不友好,我花了三个小时的时间,才成功切了一首歌并添加上了字幕,渲染也是十分的耗时。我当时使用的电脑配置如下:

Intel i5-1035G7/Nvidia MX350/16G (这是另一台非工作用的娱乐电脑)

渲染不到五分钟的视频,耗时20分钟,而且离谱的是使用cpu和使用gpu耗时居然没有差别!大概是我哪里配置不对吧。

我在windows下面做出了第一个歌回切片:【扇宝】小夜子

后来在好友 冰菓°C 的推荐下使用了 Arctime,这货居然是java编写的,也就意味着能跑在我的linux系统上,我也就萌生了在linux下做视频的想法了,我也就不用费时费力双系统切来切去了。

我工作用的电脑配置如下:

Intel i7-10750H/Nvidia GTX 1650 Ti Mobile/32G

Arctime对linux的支持

arctime虽然号称是java编写的跨平台软件,但我估计作者只在少数几个发行版或者桌面环境下测试过,其在linux下存在以下问题:

  1. 不支持高分屏,我的工作用电脑是 xps15-9500,4k分辨率,打开后界面字体非常小。

  2. 不支持awesome wm(没有测试i3)和xfce4默认的桌面环境。我大概分析了一下原因,是arctime的开发者使用了偷懒或者投机取巧的方式开发了某些弹出框,这些弹出框被awesome识别为新窗口导致了焦点变化。

其中1问题我查阅了arch的wiki,尝试了不少方法都无解,我从java8升级到java11,直接无法启动了......后来我抱着试一试的心态下载了java9,居然可以了!解决方式是设置环境变量 GDK_SCALE=2。

第2个问题由于我根本不懂awesome配置以及lua脚本,暂时无解,我只能临时切换到openbox下去使用arctime了。

视频编辑工具的选择

我尝试了各种视频编辑软件(openshot、shotcut、Cinelerra、kdenlive、lightworks等),要么是不支持字幕,要么是不支持高分辨率,都被我放弃了。

我再分析了一下我的需求,只有分割视频以及添加字幕,那么使用ffmpeg足够了!唯一不方便之处是 ffmpeg只能使用命令行了,这也不是问题,我是十几年的老linux用户了。

分割视频的命令如下:

ffmpeg -i input.mp4 -ss 120  -t 240 -c copy output.mp4

其中,-ss参数是开始时间,-t参数是长度,单位都是秒

字幕编辑工具的选择

前文有提到arctime这个字幕编辑工具,很好用!它还集成了视频压制的功能,我后来的几个歌回切片都是使用它制作字幕并压制的:

【扇宝】我的世界已坠入爱河

【扇宝】想要变得可爱

【扇宝】365天的纸飞机

使用ffmpeg整合字幕文件和视频文件

arctime的压制使用的是cpu,速度很慢!如果要使用gpu的话,需要自己使用ffmpeg命令了。

将字幕和视频文件渲染在一起的命令如下:

ffmpeg -i input.mp4 -vf "ass=zimu.ass"  -c:a copy -c:v h264_nvenc -b:v 5M  output.mp4 

其中 -c:v h264_nvenc -b:v 5M 大概是使用n卡来渲染,我没有具体了解每一个参数的意思,有兴趣的同学可以自行谷歌。

我直接使用ffmpeg压制的视频:

【扇宝】棠梨煎雪(直播翻唱)


参考资料

https://wiki.archlinux.org/index.php/HiDPI_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

https://developer.nvidia.com/zh-cn/blog/nvidia-ffmpeg-transcoding-guide/

https://docs.nvidia.com/video-technologies/video-codec-sdk/ffmpeg-with-nvidia-gpu/

https://unix.stackexchange.com/questions/1670/how-can-i-use-ffmpeg-to-split-mpeg-video-into-10-minute-chunks

在Linux系统下学习字幕制作和视频压制的评论 (共 条)

分享到微博请遵守国家法律