转码期间卡住或错误/失败

不转码了

点击开启队列后,所有视频都处于watting等待状态中,没有视频在转码,大致问题如下:

1、你的转码设置中,同时转码数未设置,设置一个数字即可。
2、<大概率>看看最近是否在不同服务器上安装过、是否迁移过服务器、服务器是否换过ip;如果有,则大概多ip同时运行异常了,请联系我们处理。
3、DNS问题,你在ssh客户端输入ping baidu.com命令,如果返回Name or service not known则为DNS问题。

关于第3个问题,可以在SSH客户端,临时运行echo 'nameserver 8.8.8.8' >/etc/resolv.conf命令,解决该问题;但注意该临时方案重启系统后,会直接失效,所以每次重启都需要运行上述命令才行。

这里顺便说下怎么设置后永久生效,教程只争对CentOS 7系统,毕竟主要在该系统出现。

使用SSH客户端,登录服务器,使用命令:

#查看网卡名称
ifconfig
输出第一行为:enp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500,则网卡名称为enp1s0
cd /etc/sysconfig/network-scripts/
#找到网卡配置文件,一般名称为ifcfg-网卡名称,如ifcfg-enp1s0
ls
#编辑配置文件,这里以ifcfg-enp1s0为参考
vi ifcfg-enp1s0

vi编辑步骤:使用i进入编辑状态,这时候可以任意使用键盘增删改,编辑完成使用esc退出编辑状态,再输入:wq,然后Enter确定退出。

编辑过程,找到DNS1参数,直接修改后面的数字为8.8.8.8,编辑完成,退出使用service network restart命令生效。

视频出现转码错误/失败等

使用转码过程中,可能会因为一些配置操作或者视频问题造成转码错误/失败,这里就列举已知问题。

1、常见问题

##状态参考(转码错误)
1、<大概率>跑马灯参数设置有误,请检查,参数要求:开始时间、持续时间、间隔时间为必填项,如果都有填可能提交前未保存,导致设置失败。
2、<大概率>水印设置错误,开始时间必填,如果有填可能提交前未保存,导致设置失败。
3、<大概率>去水印/跑马灯出现错误,解决方法请看下方。
4、<大概率>烧录字幕出现错误,解决方法请看下方。
5、<GPU转码>你服务器没有Nvidia显卡,而你开启了GPU转码,解决办法关掉此选项。(转态参考:转码错误)
6、转码设置里针对多码率分辨率的码率没设置,参考240:250|360:375|480:500|640:750|720:1000|1080:2000|1440:5000。

##状态参考(视频错误 或 error&failed)
1、<检测方法看下面>视频有问题,大多数为采集视频出现,这种视频一般播放也会有问题,可以使用一个非采集视频测试下转码;且建议采集尽量不要使用分块下载。
2、视频上传后,开始转码的时候,你把源片给删掉了。
3、<一般发生在迁移服务器,解决方法看下面>服务器缺少ffmpeg,可在服务器运行ffmpeg命令查看,提示-bash: ffmpeg: command not found,则未安装。
4、<前先确定上面3种没问题后,再进行该步骤>pm2启动进程异常,可依次运行以下命令:
  pm2 del efvcms #关闭EFV进程
  cd /home/express-ffmpeg #进入EFV源码目录 如不在/home的请自行修改路径后再运行命令
  PORT=3000 NODE_ENV=production pm2 start bin/www --name efv #重新启动
  pm2 save #保存会话,即开机自启

##状态参考(秒切失败)
视频有问题,可以使用一个非采集视频测试下转码。

对于图片水印、文字跑马灯、文本水印、弹动水印的设置及注意事项参考:点击查看

对于视频有问题的检测,可下载个没问题的视频,进行上传转码测试,如果能正常转码,则是视频问题,正常的视频链接:点击下载

对于缺少ffmpeg,可使用SSH客户端,登录服务器,使用命令:

#64位下载二进制文件
wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz

#解压文件
tar xvf ffmpeg-git-*-static.tar.xz && rm -rf ffmpeg-git-*-static.tar.xz

#移动文件
mv ffmpeg-git-*/ffmpeg  ffmpeg-git-*/ffprobe /usr/bin/

安装之后,命令行运行ffmpeg即可查看版本,有版本输出则安装成功,可使用命令pm2 reload efvcms重启转码生效。

2、去水印/跑马灯出现错误

提示:如果你不去水印/跑马灯的时候不报错,去的时候出现了报错,则可以确定为该问题

出现原因如下:

1、可能是给视频选择批量去水印/跑马灯模板的时候,选错了模板。
2、可能是给视频设置批量去水印/跑马灯模板的时候,画的框框有瑕疵,没有完全把跑马灯和水印框住,请多看看去水印/跑马灯教程。
3、如果你是同时给多个视频一起批量去水印/跑马灯,可能所选择的视频分辨率不一样,解决办法就是在不知道视频分辨率的情况下,请给每个视频单独设置批量去水印/跑马灯模板。

对于去水印/跑马灯的设置及注意事项参考:点击查看

3、烧录字幕出现错误

提示:如果你不烧录字幕的时候不报错,烧录的时候出现了报错,则可以确定为该问题。

出现原因可能是字幕文件非utf-8编码造成的,将编码改成utf-8,重新转码即可。

不会查看编码的,这里举个例子,比如我的字幕路径为/home/express-ffmpeg/movies/xx.ass,则我在ssh客户端运行命令:

file -i '/home/express-ffmpeg/movies/xx.ass'

会输出一串信息,如charset=utf-8,后面就是该字幕文件编码;最后如果你不会修改编码的话,可以直接联系我,我给个批量转换编码脚本你。

4、GPU模式下转码错误

提示:出现该问题前提,你服务器有Nvidia显卡。

出现原因如下:

1、服务器上显卡驱动没跑起来,使用nvidia-smi命令查看,如果没显卡信息出现,那就是该原因。
2、如果你选择了去水印/跑马灯,请暂时关掉GPU开关,使用CPU;GPU没适配去水印/跑马灯功能。

出现原因1或者其它问题可直接联系我们解决。

视频卡转码中状态

目前已知问题有以下两种,大致如下:

1、可能是你的vps服务器限制了cpu使用,导致cpu长时间爆满,自动给你杀掉ffmpeg进程,解决方法就是使用独立服务器,或者删掉正在转码的那个视频,并使用秒切。
2、<大概率>视频有问题,比如加密视频,或者你把图片或者其他非视频文件上传转码,导致转码卡住,解决办法就是删掉该文件即可。
3、视频太短,比如低于10s,截图时间不够,建议前往转码设置,开启保留原片,后面手动删除原片。
4、转码设置的 自定义切片路径 你没加分辨率,也就是{random}和{hd}仅能存在一个且必须存在一个

特别说明

如果你看了上面这些问题和解决办法,问题依旧没有得到解决,可直接联系我们,且为了方便快速处理问题,建议提问格式如下:

CPU还是GPU转码:  
秒切还是转码:
是否开启图片伪装
是否烧录了图片水印: 
是否烧录了跑马灯:    
前台上传还是服务器直接上传入库:   
是否设置了去跑马灯/去水印:

顺便提供该视频转码日志信息,日志查看方式: