FFmpeg——命令使用汇总

目录

资源缩略图列表查询

将mp4文件平均拆分成一小段的命令(bat批处理)

资源wav音频图片查询

分辨率修改

获得剪切文件(根据用户提供在轨道上的块中的开始时间和时长进行拆分)

将剪切文件转换成ts原始视频文件

用原始视频文件进行合并

将文件转换成m3u8

添加水印

添加字幕

画中画效果


资源缩略图列表查询


1/5 代表每5秒间隔生成一张图片
命令:
ffmpeg -i source.mp4 -vf fps=1/5 img%03d.jpg
    


将mp4文件平均拆分成一小段的命令(bat批处理)


fp 文件路径
st 开始时间
et 结束时间
sgt 每段时间
文件内容:
set fp= source.mp4
set st= 0
set et= 300
set sgt= 5
echo 注意:循环范围参数要空格。
for /l %%i in (%st%, %sgt%, %et%) do call :aaa %sgt% %%i
pause
:aaa
set /a sgt_2=%2 + sgt
ffmpeg -ss %2 -i %fp% -to %sgt_2% -acodec copy -vcodec copy %2.mp4

资源wav音频图片查询


命令:
ffmpeg -i source.mp4 -filter_complex "showwavespic=s=720x180" -frames:v 1 dest.png

分辨率修改


命令:
ffmpeg -i source.mp4 -vf scale=856:480 -y dest.mp4

获得剪切文件(根据用户提供在轨道上的块中的开始时间和时长进行拆分)


命令:
ffmpeg -i source1.mp4 -n -threads 6 -ss 0:00:00.000 -t 0:01:21.450 dest1.mp4
ffmpeg -i source2.mp4 -n -threads 6 -ss 0:01:21.450 -t 0:00:46.650 dest2.mp4

将剪切文件转换成ts原始视频文件


命令:
ffmpeg -n -threads 6 -i dest1.mp4 -codec copy -bsf:v h264_mp4toannexb -f mpegts dest1.ts
ffmpeg -n -threads 6 -i dest2.mp4 -codec copy -bsf:v h264_mp4toannexb -f mpegts dest2.ts

用原始视频文件进行合并


命令:
ffmpeg -n -threads 6 -i "concat:dest11.ts|dest2.ts" -codec copy -bsf:a aac_adtstoasc final.mp4

将文件转换成m3u8


-hls_time 15 是一个大概的每个多少秒一个切片
命令:
ffmpeg -i input.mp4 -c:v libx264 -c:a aac -strict -2 -f hls -hls_list_size 2 -hls_time 15 output.m3u8

添加水印


overlay=10:10 相对于视频从左上角向下的坐标
命令:
ffmpeg -i source.mp4 -vf "movie=logo.png [logo]; [in][logo] overlay=10:10 [out]" output.mp4

添加字幕


aaa.srt 字幕文件
命令:
ffmpeg -i source.mp4 -vf subtitles=aaa.srt output.mp4

画中画效果

-q:v 1        q是质量,v是视频,v的取值范围是[1, 35],取值1的时候,对应着最佳的视频质量
-max_muxing_queue_size  1024        最大处理缓存大小为1024M。
-filter_complex        使用ffmpeg复杂滤镜。 
scale        缩放后的前景分辨率。这里是针对前景视频。iw*0.1:ih*0.1 显示小窗口的宽度和高度
iw        输入视频的宽度。
ih        输入视频的高度。
[0]        背景视频。
[1]        前景视频。
[pip]        picture-in-picture,一个画面在另一个画面中展示,也就是画中画。通过overlay指令实现。
overlay    overlay是一种技术,它可以在(通常是较大的)背景视频或图像上显示前景视频或图像。766.8:432:enable='between(t,10,15)' 居右位置:居上位置:子窗口显示的时间是10秒到15秒之间
命令
ffmpeg -i source.mp4 -i subsrc.mp4 -filter_complex "[1]scale=iw*0.1:ih*0.1[pip];[0][pip]overlay=766.8:432:enable='between(t,10,15)'" -y -q:v 1 -max_muxing_queue_size 1024 output.mp4
 

你可能感兴趣的:(FFmpeg,ffmpeg,音视频)