转码卡状态或出现错误
以下主要列举一下视频状态的一些问题说明及解决方法,如果根据下述方法解决依然出错,可在视频管理,查看出错视频的转码日志,会告诉你哪一个环节出错和报错提示,要是看不出来,可将日志发给我们,协助解决问题。
视频错误
1、视频有问题,大多数为采集视频出现,这种视频一般播放也会有问题,可以使用一个非采集视频测试下转码,正常视频 ⇒ 点击下载。
2、视频上传后,开始转码的时候,你把源片给删掉了。
3、服务器缺少ffmpeg
,一般发生在迁移服务器后,可在服务器运行ffmpeg
命令查看,提示-bash: ffmpeg: command not found
,则未安装,可使用命令:
#下载二进制文件
wget https://file.zhuanma.co/ffmpeg-git-amd64-static.tar.gz
#解压文件
tar zxvf ffmpeg-git-amd64-static.tar.gz && rm -rf ffmpeg-git-amd64-static.tar.gz
#移动文件
mv ffmpeg-git-amd64-static/ffmpeg ffmpeg-git-amd64-static/ffprobe /usr/bin/
#查看版本,有版本输出则安装成功
ffmpeg
ffprobe
4、如果上面3
种问题都没出现,也可能是pm2
启动进程异常,可依次运行以下命令:
#关闭EFV进程
pm2 del efvcms
#进入EFV源码目录 如不在/home的请自行修改路径后再运行命令
cd /home/express-ffmpeg
#重新启动
PORT=3000 NODE_ENV=production pm2 start bin/www --name efv
#保存会话,即开机自启
pm2 save
秒切失败
大概率视频有问题,大多数为采集视频出现,这种视频一般播放也会有问题,可以使用一个非采集视频测试下转码,正常视频 ⇒ 点击下载。
转码错误
转码错误主要是因为一些使用操作问题而导致,比如加水印/跑马灯,去水印跑马灯,烧录字幕等,这里会分开挨个说明,
且如果有修改过转码设置里的码率设置
,可检查下格式有没有改动,或者部分分辨率有没有删除。
使用加跑马灯和水印功能
一般为跑马灯或部分水印所需要的时间未设置,或者提交前未保存,导致设置失败,可直接在水印/跑马灯设置
页面查看相关设置选项,如有参数有显示未设置
,则重新设置即可。
使用去水印和跑马灯功能
1、给视频选择批量去水印/跑马灯模板的时候,选错了模板。
2、给视频设置批量去水印/跑马灯模板的时候,画的框框有瑕疵,没有完全把跑马灯和水印框住。
使用烧录ass和srt字幕功能
可能是字幕文件非utf-8
编码造成的,将编码改成utf-8
,重新转码即可。
不会查看编码的,这里举个例子,比如我的字幕路径为/home/express-ffmpeg/movies/xx.ass
,则我在ssh
客户端运行命令:
file -i '/home/express-ffmpeg/movies/xx.ass'
会输出一串信息,如charset=utf-8
,后面就是该字幕文件编码,这里提供一个批量转换字幕到utf-8
的shell
脚本。
#!/bin/bash
# 设置要扫描的文件夹路径
folder="movies"
# 查找所有.srt和.ass文件
files=$(find "$folder" -type f \( -name "*.srt" -o -name "*.ass" \))
# 循环处理每个字幕文件
for file in $files; do
# 获取文件编码
encoding=$(file -bi "$file" | awk -F "=" '{print \$2}')
# 检查编码是否为UTF-8
if [[ $encoding != "utf-8" ]]; then
# 转换非UTF-8编码的文件为UTF-8编码
iconv -f $encoding -t UTF-8 "$file" -o "${file%.srt}_utf8.srt"
# 替换原始文件
mv "${file%.srt}_utf8.srt" "$file"
echo "文件 $file 被转换为UTF-8编码"
else
echo "文件 $file 已经是UTF-8编码,无需转换"
fi
done
echo "字幕文件转换完成"
在服务器root
目录新建ass.sh
文件,将上面内容复制进去,修改扫描的文件夹路径,保存后使用bash ass.sh
运行即可。
使用GPU转码功能
1、服务器没有Nvidia
显卡。
2、服务器上显卡驱动没跑起来,使用nvidia-smi
命令查看,如果没显卡信息出现,那就是该原因,如果跑起来了可能是驱动需要更新,可联系我们。
3、如果你选择了去水印/跑马灯,请暂时关掉GPU
开关,使用CPU
,GPU
没适配去水印/跑马灯功能。
视频不转码了
1、看看最近是否在不同服务器上安装过、是否迁移过服务器、服务器是否换过ip
,如果有,则大概多ip
同时运行异常了,请联系我们处理。
2、DNS
问题,你在ssh
客户端输入ping baidu.com
命令,如果返回Name or service not known
则为DNS
问题,解决方法 ⇒ 点击查看。
视频卡转码中状态
1、视频有问题,比如加密视频,或者你把图片或者其他非视频文件上传转码,导致转码卡住,解决办法就是删掉该文件即可。
2、视频太短,比如低于10s
,截图时间不够,建议前往转码设置,开启保留原片,后面手动删除原片。
3、转码设置的自定义切片路径
你没加分辨率,也就是{random}
和{hd}
仅能存在一个且必须存在一个
特别说明
如果你看了上面这些问题和解决办法,问题依旧没有得到解决,可直接联系我们,且为了方便快速处理问题,建议提供该视频转码日志信息,日志查看方式: