FFmpeg实现视频与图片之间的转换

一、ffmpeg工具的下载与安装

  1. 第一步:下载ffmpeg,下载地址在这里,提取码:eo4k ;
  2. 将下载的文件放入D:盘下;
    在这里插入图片描述
  3. 将该路径D:\ffmpeg\bin添加到系统变量中;在这里插入图片描述
  4. 在dos界面输入ffmpeg,出现如下即为按照成功:
    在这里插入图片描述

二、视频转图片

比如我们要将下面的test_video.avi视频切成帧图,并存入output_pic文件夹中
在这里插入图片描述
ffmpeg的下载安装请各位道友自行补习,提一嘴,ffmpeg在视频图片处理中可谓是利器,不能不会啊)
如果ffmpeg已安装,那怎么用呢?在dos界面中直接使用下面语句就可以了

ffmpeg -i 视频地址 -r 视频帧率 图片地址/%04d.png -loglevel error

在这里插入图片描述

-------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------

三、图片转视频

2.1:方法一:Python实现

江湖道义,先上代码:注意:帧图的文件名要统一,不然26行不能做到排序,就会报错

# -*- coding:utf-8 -*-
# -*- author:zzZ_CMing  CSDN address:https://blog.csdn.net/zzZ_CMing
# -*- 2018/12/06; 15:18
# -*- python3.6
"""
图片转视频
"""
import os
import cv2
import glob
import time

input_pic_path = 'input_pic/'    # 帧图存放位置


FPS = 25    # 生成视频的帧率
width_and_height = (1920, 1080)    # 图片的宽度、高度
output_video_name = "video_name.avi"

time_start = time.time()
#可以用(*'DVIX')或(*'X264'), 如果都不行先装ffmepg: sudo apt-get install ffmepg
fourcc = cv2.VideoWriter_fourcc(*'MJPG')
videoWriter = cv2.VideoWriter(output_video_name, fourcc, FPS, width_and_height)

pic_name_all = os.listdir(input_pic_path)
pic_name_all.sort(key=lambda x:int(x[:-4]))
for pic_name in pic_name_all:
    img_name = input_pic_path + pic_name
    frame = cv2.imread(img_name)
    videoWriter.write(frame)
    print("%s/%s" % (pic_name_all.index(pic_name) + 1, len(pic_name_all)), img_name)
videoWriter.release()

print("cost_time=", time.time() - time_start)

-----------------------------------------------------------------------------------------------------------------------------------------

2.2:方法二:ffmpeg工具

ffmpeg工具不仅可以把帧图转为视频,还可以把原视频的声音也附上

ffmpeg -y -i 原视频地址 -r 原视频帧率 -i "帧图地址/%04d.png" -map 0:a? -map 1:v -r 生成视频帧率 -c:v libx264 -b:v 8M -pix_fmt yuv420p -c:a aac -strict -2 -b:a 192k -ar 48000 -strict -2 "生成视频地址/result.mp4" -loglevel error
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值