第一种:
ffmpeg -i video.avi output.mp4
第二种
ffmpeg -i video.ts -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4
上面两种需要在视频文件夹中用,video.avi和ts,需要替换成你文件夹视频名字和格式
第一种无损
第二种转换快,我看画质也还不错
4k电影转1080p:
//video.mkv是指需要转换编码的视频 | output.mkv是指输出的视频名
ffmpeg -i video.mkv -vf fps=30,scale=1920:1080 -c:v libx265 -x265-params -crf 21 -ac 2 -c:a aac -b:a 128k out.mkv
无损单文件转:
video换成你的视频名称(后缀也要换),下面都可以用选其一
//avi转mp4
ffmpeg -i video.avi output.mp4
//mp4转ts
ffmpeg -i video.mp4 output.ts
//mkv转mp4
ffmpeg -i video.mkv output.mp4
快速接近无损单文件转:
video换成你的视频名称(后缀也要换),下面都可以用选其一
//mp4转ts
ffmpeg -i video.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb output.ts
//ts转mp4
ffmpeg -i video.ts -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4
//mkv转mp4
ffmpeg -i video.mkv -c:v copy -c:a aac output.mp4
批量转:
video换成你的视频名称(后缀也要换),下面都可以用选其一
//mkv转mp4 这个X:\xxx\xx\是此文件夹目录下所有文件转,Y:\yyy\yy\是转出到某个文件夹里面
for %a in ("X:\xxx\xx\*.mkv") do ffmpeg -i "%a" -c:v copy -c:a aac "Y:\yyy\yy\%~na.mp4"
pause
//mkv转MP4:这个和上面不一样是因为直接在视频文件夹用转
for %%i in (*.mkv) do ffmpeg.exe -i "%%i" -vcodec copy -acodec copy "%%~ni.mp4"
pause
//ts转mp4 在视频文件夹转格式到 D盘根目录下
for %%a in ("*.ts") do ffmpeg -i "%%a" -f mp4 -codec copy "D:\%%~na.mp4"
pause
音频:
//提取音频:
ffmpeg -i video.mp4 -acodec copy -vn output.aac
//提取纯视频:
ffmpeg -i video.mp4 -vcodec copy -an output.mp4
视频编码格式转换:
//转换成h264编码
ffmpeg -i video.mp4 -vcodec h264 output.mp4
//或相反:
ffmpeg -i video.mp4 -vcodec mpeg4 output.mp4
码率控制:
ffmpeg -i video.mp4 -c:v libx265 -b:v 5000k out.mkv
ffmpeg -i video.mp4 -c:v libx265 -b:v 5M out.mkv
Bitrate模式(固定码率,平均码率)重视体积使用
ffmpeg -i video.mkv -c:v libx264 -b:v 5000k out.mkv
CQP模式/恒定量化值(22能获得良好的画质)
ffmpeg -i video.mkv -c:v lib264 -q:v 22 out.mkv
CRF模式/恒定质量:
//-crf参数只能在x264,x265编码器中使用
//取值范围(0-51值越低画质越好(码率越高)值越高画质越差)一般设置19-23
//x264
ffmpeg -i video.mkv -c:v libx264 -crf 22 out.mkv
//x265
ffmpeg -i video.mkv -c:v libx265 -crf 22 out.mkv
//CRF比CQP模式更智能,更省码率
//英特尔
ffmpeg -i video.mp4 -c:v hevc_qsv -q:v 22 out.mkv
ffmpeg -i video.mp4 -c:v hevc_qsv -q:v 5M out.mkv
//英伟达
ffmpeg -i video.mp4 -c:v hevc_nvenc -q:v 22 out.mkv
ffmpeg -i video.mp4 -c:v hevc_nvenc -q:v 5M out.mkv
//AMD
ffmpeg -i video.mp4 -c:v hevc_amf -q:v 22 out.mkv
ffmpeg -i video.mp4 -c:v hevc_amf -q:v 5M out.mkv
命令解释:
ffmpeg //软件名
-i //input(输入)
video.(mkv,mp4,ts...) //上面有X:\xxx\xx\ 这个是指定文件夹里的视频转换,不带地址栏的就是在当前视频文件夹里面使用ffmpeg
-vf //指Video Fillter(视频滤镜)
-c:v //Codec Video 用于指定编码器 例如 -c:v libx265 -c:v libx264
libx264、libx265 //这里指的是x264格式和x265格式 下方有编码格式
-x265-params //自定义参数
-crf //这里指CRF模式/恒定质量
-ac 2 //-ac是Audio Channels简写,后面的2是声道,比如1是单声道
-c:a aac //是指Codec Audio用于指定编码器,后面的acc就是aac编码器
-b:a 128k //是指bitrate audio指定音频码率,后面的128k是码率
out.mkv //指定输出文件名
H.264(avc):
h264_nvenc (英伟达编码)
h264_qsv (英特尔编码)
h364_amf (AMD编码)
H.265(HEVC):
hevc_amf (AMD编码)
hevc_nvenc (英伟达编码)
AV1:
av1_nvenc (英伟达编码)
av1_amf (AMD编码)