批量复制M3U8修改排序

我们在EFV后台使用批量复制M3U8功能的时候,默认排序为视频名称$对应分辨率m3u8$封面1,由于有些人需要调整排序,或者不需要封面,这里就说下怎么修改。

以程序安装目录为参考,找到views/admin/admin.jade

比如我安装目录/home/express-ffmpeg,则需要修改的文件为/home/express-ffmpeg/views/admin/admin.jade,编辑文件并搜索.copyall,在第二个匹配词处,需要修改的大概代码如下:

if(p240.length) {
  for(var i=0; i< p240.length; i++) {
    var p240movie = p240[i];
    p240message += p240movie.title +"$"+ url + p240movie.m3u8 +"$" + url + p240movie.poster+ "\r\n";
  }
}
if(p360.length) {
  for(var i=0; i< p360.length; i++) {
    var p360movie = p360[i];
    p360message += p360movie.title +"$"+ url + p360movie.m3u8 +"$" + url + p360movie.poster+ "\r\n";
  }
}
if(p480.length) {
  for(var i=0; i< p480.length; i++) {
    var p480movie = p480[i];
    p480message += p480movie.title +"$"+ url + p480movie.m3u8 +"$" + url + p480movie.poster+ "\r\n";
  }
}
if(p640.length) {
  for(var i=0; i< p640.length; i++) {
    var p640movie = p640[i];
    p640message += p640movie.title +"$"+ url + p640movie.m3u8 +"$" + url + p640movie.poster+ "\r\n";
  }
}
if(p720.length) {
  for(var i=0; i< p720.length; i++) {
    var p720movie = p720[i];
    p720message += p720movie.title +"$"+ url + p720movie.m3u8 +"$" + url + p720movie.poster+ "\r\n";
  }
}
if(p1080.length) {
  for(var i=0; i< p1080.length; i++) {
    var p1080movie = p1080[i];
    p1080message += p1080movie.title +"$"+ url + p1080movie.m3u8 +"$" + url + p1080movie.poster+ "\r\n";
  }
}
if(p2k.length) {
  for(var i=0; i< p2k.length; i++) {
    var p2kmovie = p2k[i];
    p2kmessage += p2kmovie.title +"$"+ url + p2kmovie.m3u8 +"$" + url + p2kmovie.poster+ "\r\n";
  }
}
if(poriginal.length) {
  for(var i=0; i< poriginal.length; i++) {
    var poriginalmovie = poriginal[i];
    poriginalmessage += poriginalmovie.title +"$"+ url + poriginalmovie.m3u8 +"$" + url + poriginalmovie.poster+ "\r\n";
  }
}

这里将具体需要修改的代码列举出来,每行代表的分辨率应该容易看得出来,如下:

p240message += p240movie.title +"$"+ url + p240movie.m3u8 +"$" + url + p240movie.poster+ "\r\n";
p360message += p360movie.title +"$"+ url + p360movie.m3u8 +"$" + url + p360movie.poster+ "\r\n";
p480message += p480movie.title +"$"+ url + p480movie.m3u8 +"$" + url + p480movie.poster+ "\r\n";
p640message += p640movie.title +"$"+ url + p640movie.m3u8 +"$" + url + p640movie.poster+ "\r\n";
p720message += p720movie.title +"$"+ url + p720movie.m3u8 +"$" + url + p720movie.poster+ "\r\n";
p1080message += p1080movie.title +"$"+ url + p1080movie.m3u8 +"$" + url + p1080movie.poster+ "\r\n";
p2kmessage += p2kmovie.title +"$"+ url + p2kmovie.m3u8 +"$" + url + p2kmovie.poster+ "\r\n";
poriginalmessage += poriginalmovie.title +"$"+ url + poriginalmovie.m3u8 +"$" + url + poriginalmovie.poster+ "\r\n";

这里列举常见删减例子,即不需要封面1,自己挨个覆盖,如下:

#该复制排序为 视频名称$对应分辨率m3u8
p240message += p240movie.title +"$"+ url + p240movie.m3u8 + "\r\n";
p360message += p360movie.title +"$"+ url + p360movie.m3u8 + "\r\n";
p480message += p480movie.title +"$"+ url + p480movie.m3u8 + "\r\n";
p640message += p640movie.title +"$"+ url + p640movie.m3u8 + "\r\n";
p720message += p720movie.title +"$"+ url + p720movie.m3u8 + "\r\n";
p1080message += p1080movie.title +"$"+ url + p1080movie.m3u8 + "\r\n";
p2kmessage += p2kmovie.title +"$"+ url + p2kmovie.m3u8 + "\r\n";
poriginalmessage += poriginalmovie.title +"$"+ url + poriginalmovie.m3u8 + "\r\n";

修改后,使用ssh客户端登录转码服务器,运行pm2 reload efvcms命令重启生效。

拓展修改

240P分辨率为例,完整代码如下:

p240message += p240movie.title +"$"+ url + p240movie.m3u8 +"$" + url + p240movie.poster+ "\r\n";
 
#参数详解
p240movie.title为视频标题
url + p240movie.m3u8为m3u8链接,参数组合为 域名链接 + m3u8路径
url + p240movie.poster为封面1链接,参数组合为 域名链接 + 封面1路径
 
#组装提示
最前面p240message += 和最后面+ "\r\n";不要修改,只需要调整中间位置就行,并用+连接起来,固定字符串$用双引号即"$"

比如我需要将M3U8批量复制到另一台EFV高级版进行下载, 而EFV后台下载中心批量添加的格式为视频名称$下载类型$m3u8链接,此时我可以进行如下修改:

#EFV最新版m3u8下载类型为downloadall,且$downloadall为固定字符串,需要用双引号,大致修改代码如下
p240message += p240movie.title +"$downloadall"+ "$"+ url + p240movie.m3u8 +"\r\n";

其它分辨率自己照葫芦画瓢,最后使用ssh客户端登录转码服务器,运行pm2 reload efvcms命令重启生效。