视频拆分为图片、图片合并为视频(带声音)

一、应用场景

github上很多AI项目,都只提供对图片的处理,比如图片清晰度提升、图片动漫化等,但是如果要对一个视频进行处理应该怎么办呢?我的想法是将视频拆分为图片,然后将所有处理后的图片合并为视频,就相当于变相的对视频进行处理了

二、方法步骤

0、下载ffmpeg,下载的版本为win64-gpl 并将其添加到环境变量:https://github.com/BtbN/FFmpeg-Builds/releases/tag/latest

分割视频为图片

  • 1、将视频分割成图片,2.mp4就是原视频,/frame%08d.png 表示分割后的图片的命名方式

    • ffmpeg -i .\input\2.mp4  -qscale:v 1 -qmin 1 -qmax 1 -vsync 0 ./output//frame%08d.png
      

  • 2、获取原视频的帧速率(一秒多少帧),方便后续合成,执行以下命令:

    • 易错点:在cmd的输出窗口里,多少fps就是帧速率

    • ffmpeg -i  原视频
      

合并图片为视频

  • 将图片合成视频,并且将原视频的声音也添加上去,注意,下面的2个 -r 30 指代的就是上一步获取的帧速率,需要根据实际替换

    • ffmpeg -r 30 -i output/frame%08d.png -i input/2.mp4 -map 0:v:0 -map 1:a:0 -c:a copy -c:v libx264 -r 30 -pix_fmt yuv420p output_w_audio.mp4
      
      #30代表帧速率,要和上一步获取的值保持一致,-i后面接的的图片目录, -i onepiece_demo.mp4 -map 0:v:0 -map 1:a:0 -c:a copy    表示复制原视频的音频,-c:v libx264 -r 30 -pix_fmt yuv420p output_w_audio.mp4   表示将处理后的视频输出为output_w_audio.mp4
      
posted @ 2022-02-27 09:06  painter520  阅读(1035)  评论(0编辑  收藏  举报