将服务器文件入库转码

将服务器里的视频文件入库到视频管理,入库自动分类,封面自动入库,入库自动烧录ass和srt字幕。

入库步骤

提示:该功能会经常优化,如果你发现有些功能不生效,请更新到最新版后再使用该功能。

入库文件夹为movies,如果我程序安装路径为/home/express-ffmpeg,则入库文件夹为/home/express-ffmpeg/movies

首先设置好入库文件类型,可在转码设置处设置,设置参考:

#比如入库mp4文件,则填入.mp4,多个后缀之间用英文逗号,分开
.mp4,.mkv,.avi,.rmvb,.dat,.flv,.mpg,.mpeg,.rm,.mov,.wmv,.asf

最后再将需要切片的视频上传或转移到入库文件夹,然后点击视频管理的扫描入库即可。

且视频入库期间,如果存在名称重复的视频,则不会入库到视频管理处。

入库自动分类

入库支持自动分类,如我在入库文件夹movies新建一个名为教育片的子文件夹,那么我将视频存放到教育片的文件夹,入库的时候这些视频会自动分类教育片,且如果该分类不存在会自动创建。

入库分类只支持一级目录,比如movies/教育片;二级及以上层级的目录均不会入库,如movies/教育片/儿童教育等。

封面自动入库

入库支持使用自有封面,即转码完成后,封面1封面2均显示的是自己入库的时候设置的封面。

需要将封面文件的名称修改成对应的视频名称,存放到同一入库根目录文件夹或者一级分类文件夹,如:

#入库文件夹movies的根目录
movies/西游记.mp4
movies/西游记.jpg

#入库文件夹movies的一级分类神话片文件夹
movies/神话片/西游记.mp4
movies/神话片/西游记.jpg

且后缀不用管,前面名称一样就行,且封面仅支持jpgjpegpngwebp

自动添加剧集

提示:剧集文件夹需要为一级目录才能识别,且暂时不支持文件夹分类,可通过json传递分类信息。

目前可以在入库文件夹movies按要求新建剧集文件夹,并将单集视频传进去,然后会自动创建剧集,且里面的视频切完也会自动添加进剧集,并自动排序。

首先在入库文件夹movies新建一个文件夹,命名格式:autotv剧集名称,如autotv西游记,然后将命名规范的单集传进去,如010203第01集第02集;如果总集数有3位数,那么就用001002003,然后入库单集的时候会自动创建剧集,并会被标记,转码完成后,也会自动添加进剧集,并自动排序。

注意入库剧集的时候,会在剧集文件夹创建一个24id文件,切勿删除,不然会重新创建新的同名剧集,后面入库的单集会添加到新的剧集。

剧集封面入库说明

比如我的剧集文件夹为autotv剧集名称,那么将封面文件名改成剧集名称.jpg,格式也可以为jpegpngwebp,并存放到剧集文件夹就可以了,入库的时候,创建剧集信息会自动使用该封面。

视频和剧集详情信息入库

入库的时候可以将视频和剧集的标签、简介等详情信息一起入库,且可以和封面入库,字幕入库一起使用,说明如下。

视频详情信息入库

入库视频的时候,需要在该视频所在文件夹存放一个同名json文件,如下:

#只需要同名,视频后缀限制可参考上面说明。
视频名称.mp4
视频名称.json

#json文本内容格式如下,一行一个,字段和参数使用$隔开,不填则默认为空值
language$英语
director$文斯·吉利根,米歇尔·麦克拉伦
stars$布莱恩·科兰斯顿,亚伦·保尔
tags$犯罪,剧情,惊悚
summary$一位高中化学老师的故事...
country$美国
year$2008
rate$9.2

#json参数详解
language, //语言
director, //导演,多个导演用英文逗号,分开,如 导演1,导演2,导演3
stars, //主演,多个主演用英文逗号,分开,如 主演1,主演2,主演3
writer, //编剧,多个编剧用英文逗号,分开,如 编剧1,编剧2,编剧3
tags, //分类标签,多个标签用英文逗号,分开,如 剧情,悬疑,搞笑
summary, //剧集简介
country, //发行地区
year, //发行年份,如 1996
rate, //豆瓣评分,如 8.8

剧集详情信息入库

入库的时候,需要在剧集文件夹存放一个以剧集名称命名的json文件,比如我的剧集文件夹为autotv剧集名称,那么改成剧集名称.json,如下:

#json文本内容格式如下,一行一个,字段和参数使用$隔开,不填则默认为空值
category$分类名称
language$英语
director$文斯·吉利根,米歇尔·麦克拉伦
stars$布莱恩·科兰斯顿,亚伦·保尔
tags$犯罪,剧情,惊悚
summary$一位高中化学老师的故事...
country$美国
episodescount$62
year$2008
rate$9.2

#json参数详解
category, //分类
language, //语言
director, //导演,多个导演用英文逗号,分开,如 导演1,导演2,导演3
stars, //主演,多个主演用英文逗号,分开,如 主演1,主演2,主演3
writer, //编剧,多个编剧用英文逗号,分开,如 编剧1,编剧2,编剧3
tags, //分类标签,多个标签用英文逗号,分开,如 剧情,悬疑,搞笑
summary, //剧集简介
country, //发行地区
episodescount, //集数
year, //发行年份,如 1996
rate, //豆瓣评分,如 8.8

入库烧录ass和srt字幕

入库支持字幕文件烧录,也就是转码的时候,会自动烧录入库文件夹的asssrt字幕文件。

规则和封面自动入库一样,即将asssrt字幕的名称修改成对应的视频名称,存放到同一入库根目录文件夹或者一级分类文件夹,如:

#入库文件夹movies的根目录
movies/西游记.mp4
movies/西游记.ass

#入库文件夹movies的一级分类神话片文件夹
movies/神话片/西游记.mp4
movies/神话片/西游记.ass

后缀不用管,前面名称一样就行,这样转码的时候字幕会自动烧录进视频,注意秒切是不会烧录字幕的。

筛选字幕烧录

提示:该功能可指定烧录带有语言标识的字幕文件,即无需字幕文件和视频同名。

一般字幕文件需和视频同名才会被烧录,如果你的字幕文件有一到多个,且都带有语言标识,也就是和视频不完全同名,可前往转码设置设置筛选字幕烧录功能项,可以烧录指定语言的字幕文件。

设置格式zh-Hanszh-Hans|BluRayzh-Hans|BluRay|forced,支持N个关键词,多个关键词使用|分开,参数详解:

1、如设置zh-Hans,则会匹配同时包含视频名称和zh-Hans的字幕文件,如:
movies/西游记.mp4
movies/西游记.zh-Hans.ass
movies/西游记.zh-Hant.ass
这时候视频会匹配并烧录字幕 西游记.zh-Hans.ass

2、如设置zh-Hans|BluRay,则会匹配同时包含视频名称、zh-Hans和BluRay的字幕文件,如:
movies/西游记.mp4
movies/西游记.zh-Hans.ass
movies/西游记.zh-Hant.ass
movies/西游记.zh-Hans.BluRay.ass
movies/西游记.zh-Hant.BluRay.ass
这时候视频会匹配并烧录字幕 西游记.zh-Hans.BluRay.ass

3、如设置zh-Hans|BluRay|forced,则会匹配同时包含视频名称、zh-Hans、BluRay和forced的字幕文件,如:
movies/西游记.mp4
movies/西游记.zh-Hans.ass
movies/西游记.zh-Hant.ass
movies/西游记.zh-Hans.BluRay.ass
movies/西游记.zh-Hant.BluRay.ass
movies/西游记.zh-Hans.BluRay.forced.ass
movies/西游记.zh-Hant.BluRay.forced.ass
这时候视频会匹配并烧录字幕 西游记.zh-Hans.BluRay.forced.ass

该设置项为递进筛选,通常第一个关键词为语言,如果第一个关键词没有筛选到任何字幕文件,则不会继续筛选,会默认使用和视频同名的字幕文件。

如果第一个关键词只筛选出一个字幕文件,则不会继续筛选,会默认使用该字幕文件。

如果第一个关键词筛选出多个字幕文件,则会使用第二个关键词从选出的字幕文件继续筛选,直到只选出一个字幕文件后不会继续筛选,会默认使用该字幕文件;当关键词都用完了,还是有多个字幕文件符合,则会随机使用其中一个字幕文件。

入库API使用

可远程使用该apimovies所有视频入库到视频库,再自动转码,用法如下:

POST /api/ruku

body: {
    apikey,
}

response: {
    success: 1,
}

#curl命令使用示例,apikey可在转码设置处获取
curl http://127.0.0.1:3000/api/ruku -d "apikey=5c20cEga"