1、确定视频格式
首先确定视频格式是或为常用格式,例如:mp4,mkv,mov...等常见且可直接转码的视频文件,如是则进行步骤 2,不是则见步骤 3。
2、命令行转码
以下为转码命令
Measure-Command {ffmpeg -vsync 0 -hwaccel qsv -hwaccel_output_format qsv -y -i output.mp4 -c:v h264_nvenc -c:a aac -b:v 1800k -s 1920x1080 -hls_playlist_type vod -hls_time 5 -hls_key_info_file key_info -hls_segment_filename 1080/%06d.ts 1080/index.m3u8 -c:v h264_nvenc -c:a aac -b:v 1024k -s 1280x720 -hls_playlist_type vod -hls_time 5 -hls_key_info_file key_info -hls_segment_filename 720/%06d.ts 720/index.m3u8 -c:v h264_nvenc -c:a aac -b:v 512k -s 720x480 -hls_playlist_type vod -hls_time 5 -hls_key_info_file key_info -hls_segment_filename 480/%06d.ts 480/index.m3u8}
Tip:切记使用 WindowsTermimal 或 powerShell 否则移除 Measure-Command {},cmd 命令行工具不支持次命令,此命令是统计命令执行时长的。
3、视频处理
3.1、处理视频片段
如视频为多段,则需要合并视频后再执行步骤 2,例如常见的 dvd 视频导出后多数为多个 VOB 视频文件,此时则需要合并视频,以 windows 为例,执行以下命令:
copy /b "VTS_01_1.VOB" + "VTS_01_2.VOB" + "VTS_01_3.VOB" "output.vob"
Tip:VTS_开头的文件为视频短片,output.vob 为最终输出文件,其他视频格式合并见 trac.ffmpeg.org/wiki/Concat…
3.2、处理音频
如视频转码后视频没有声音,可查看视频信息 ffmpeg -i 视频文件
,查看音频格式是否为常见格式,例如 AC3 等格式是不可以被一些播放器播放加载的,此时需要将视频的音频转为常见格式,例如转码为 aac:
ffmpeg -vsync 0 -hwaccel qsv -hwaccel_output_format qsv -y -i output.vob -c:v h264_nvenc -c:a aac output.mp4
Tip:音频格式可直接查看视频片段,切记勿转码后播放没有声音再查看,应先查看视频音频格式,如格式不正确直接合并转换音频格式,减少中间出错环节。