搭建好unraid,做好核显直通给Emby后,使用Emby的网页的转码功能,发现有一个电影无法转码,很奇怪,就这个电影的视频文件无法转码,其他的都可以转,同样是HEVC 10bit的其他文件能转,这个点了后就没有任何反应,文件名改成全英文无用

我打卡奇遇VR,使用串流软件观看电影番剧来打卡,串流软件内使用的播放器只能支持mp4格式和AVC编码的视频,所以我必须要转码,用电脑转码虽然可以,但是unraid都折腾好了,不用白不用。

就萌生了用unraid来转码的想法,以前 apt install ffmpeg就能安装完,但是unraid的系统没有安装软件源这样的功能,

去了FFmpeg官网,发现有提供Linux的二进制包,下载后解压到指定目录(/usr/bin)后,直接 ffmpeg -version是可以显示出版本号和信息,那就说明可以用了

试了一下,发现没有办法调用核显加速,可能是没有编译相关的编码器,也可能是权限的问题,最后还是转向了已经可以硬解的Emby容器中

#emby是你Emby的容器名
docker exec -it emby /bin/sh

#自行cd到视频所在目录
cd /media/test

#转码命令 使用核显的硬件加速器vaapi解码 使用编码器h264_qsv编码,实测h264_vaapi无法使用
ffmpeg -hwaccel vaapi -i input.mkv -c:v h264_qsv -pix_fmt nv12 -y output.mp4

#预制配置 -profile:v high -level 5.0 
#质量参数 -global_quality 23
#缩放 -s 1920*-1 
#音频 -c:a aac -b:a 128k 

#测试转码前10秒 -ss 0 -t 10 
#h264_qsv没有 -crf这个参数,使用-global_quality替代
ffmpeg -hwaccel vaapi -i input.mkv -profile:v high -level 5.0 -c:v h264_qsv -global_quality 22 -s 1920*1080 -pix_fmt nv12 -c:a aac -b:a 128k -y output.mp4

#想要后台转码可以这样
nohup 后台执行的ffmpeg命令 &