记录一下工作当中,用到的有关ffmpeg处理视频的一些常用操作,所有内容都是基于windows的bat批处理:

1、png转换成mp4:

@echo off
ffmpeg -r 25 -loop 1 -i 1.png -pix_fmt yuv420p -vcodec libx264 -b:v 600k -r:v 25 -preset medium -crf 30  -vframes 250 -r 25 -t 8 1.mp4

  参数说明:-t png转成mp4时的视频执行时间

2、批处理flv转换成mp4

@echo off

for %%i in (*.flv) do ( 
    ffmpeg -i "%%i" -vcodec copy -acodec copy "%%~ni.mp4"
)

  参数说明:因为flv直接用-i转换成mp4有时会出现编码问题,所以采用以上方式处理即可,详细参数说明请参考ffmpeg官方手册

3、批量给MP4文件加片头,假设片头文件名是piantou.mp4

@echo off

for %%i in (*.mp4) do ( 
    ffmpeg -i piantou.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 1.ts -y
    ffmpeg -i %%i -vcodec copy -acodec copy -vbsf h264_mp4toannexb 3.ts -y
    ffmpeg -i "concat:1.ts|3.ts" -acodec copy -vcodec copy -absf aac_adtstoasc %%~ni.mp4 -y
    echo %%~ni.mp4
)

参数说明:这里的方法,其实是将mp4转换成ts格式,然后进行合并,-y参数的目的是自动覆盖生成的缓存ts文件

================

后记,ffmpeg真的是个好东西,我怀疑直接用electron+ffmpeg,可以做视频的编辑和格式转换工具的。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐