python通过ffmgep从视频中抽帧的方法

yipeiwu_com7年前Python基础

如下所示:

ffmpeg中文文档:http://linux.51yip.com/search/ffmpeg

ffmpeg -i test_baofeng.wmv -y -f image2 -ss 00:00:03 -vframes 1 myframe.jpg

ffmpeg -i test.mp4 -y -f mjpeg -ss 3 -t 1 test1.jpg

-f fmt 强迫采用格式fmt

-I filename 输入文件

-y 覆盖输出文件

-t duration 设置纪录时间 hh:mm:ss[.xxx]格式的记录时间也支持

-ss position 搜索到指定的时间 [-]hh:mm:ss[.xxx]的格式也支持

python使用ffmgep,通常用:subprocess ffmpeg/libav

--------------------python通过ffmgep抽帧---------------------

import os, sys
from PIL import Image
#open a pipe from a command 
a, b, c = os.popen3("ffmpeg -i test.avi")
out = c.read()
dp = out.index("Duration: ")
duration = out[dp+10:dp+out[dp:].index(",")]
hh, mm, ss = map(float, duration.split(":"))
#total time ss
total = (hh*60 + mm)*60 + ss
for i in xrange(9):
 t = int((i + 1) * total / 10)
 # ffmpeg -i test.mp4 -y -f mjpeg -ss 3 -t 1 test1.jpg 
 os.system("ffmpeg -i test.avi -y -f mjpeg -ss %s -t 1 frame%i.jpg" % (t, i))
 
"""
num=int(total-3)
i=0
for t in xrange(0,num,3):
 i = i+1
 # ffmpeg -i test.mp4 -y -f mjpeg -ss 3 -t 1 test1.jpg 
 os.system("ffmpeg -i test.avi -y -f mjpeg -ss %s -t 1 %sframe%i.jpg" % (t,t, i))
"""

以上这篇python通过ffmgep从视频中抽帧的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python实现i人事自动打卡的示例代码

Python实现i人事自动打卡的示例代码

我司使用的打卡软件是 i 人事,不过我这记性,经常漏了打卡签退,定了闹钟都会忘,今天又被老大屌了。于是准备抓一下签到接口,利用 crontab 来实现自动签到签退。 环境配置 这里使用的...

Python基于递归算法实现的走迷宫问题

本文实例讲述了Python基于递归算法实现的走迷宫问题。分享给大家供大家参考,具体如下: 什么是递归? 简单地理解就是函数调用自身的过程就称之为递归。 什么时候用到递归? 如果一...

python批量导出导入MySQL用户的方法

数据库迁移(A -> B),需要把用户也迁移过去,而用户表(mysql.user)有上百个用户。有2种方法进行快速迁移:1,在同版本的条件下,直接备份A服务器的mysql数据库,还...

详解python使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案

详解python使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案

人生苦短,我用python!为什么很多人喜欢用python,因为包多呀,各种调包。但是调包有的时候也调的闹心,因为安装包不是失败就是很慢,很影响自己的工作进度,这里给出一个pip快速安装...

python使用logging模块发送邮件代码示例

logging模块不只是能记录log,还能发送邮件,使用起来非常简单方便 #coding=utf-8 ''''' Created on 2016-3-21 @author:...