数字电视录像的ts文件太乱,打算整理一下。现在记录一下使用到的一些脚本。

由于电视节目时间长,不能纯 CPU 跑 x264,否则转跟不上文件生成的速度了。

这个是使用 N 卡硬解硬压,硬件反交错,压入字幕的脚本:

D:\ffmpeg-20181116-fc94e97-win64-static\bin\ffmpeg.exe -c:v h264_cuvid -deint 2 -drop_second_field 1 -i "%~dp1%~nx1" -c:v h264_nvenc -preset medium -rc vbr -cq 10 -b:v 8M -minrate 500k -maxrate 15M -vsync cfr  -filter_complex [0][0:s:0]overlay=shortest=1,aresample=async=1000 -map  -map 0:a  -c:a aac -s 1920*1080 -aspect 16:9 -f matroska "%~dp1%~nx12.mkv"

pause

这个是使用 Intel QSV 硬压,软件解码,压入字幕的脚本

D:\ffmpeg-20181116-fc94e97-win64-static\bin\ffmpeg.exe  -y -rtbufsize 256MB -i "%~dp1%~nx1" -filter_complex idet,yadif=0:deint=interlaced[v1],[v1][0:s:0]overlay=shortest=1,aresample=async=1000 -map  -map 0:a -c:a aac -s 1920*1080 -aspect 16:9  -c:v rawvideo -pix_fmt yuv420p -f nut - | D:\QSVEnc_3.16\QSVEncC\x64\QSVEncC64.exe --avsw --audio-codec aac --quality best -i - -o "%~dp1%~nx12.mp4"

这个脚本在我电脑上54分钟的视频耗时18分钟,还可以接受