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

yipeiwu_com6年前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设计】。

相关文章

Tensorflow 自定义loss的情况下初始化部分变量方式

一般情况下,tensorflow里面变量初始化过程为: #variables ........... #..................... init = tf....

Python入门篇之正则表达式

 正则表达式有两种基本的操作,分别是匹配和替换。 匹配就是在一个文本字符串中搜索匹配一特殊表达式; 替换就是在一个字符串中查找并替换匹配一特殊表达式的字符串。   1...

关于Python内存分配时的小秘密分享

关于Python内存分配时的小秘密分享

前言 Python 中的sys 模块极为基础而重要,它主要提供了一些给解释器使用(或由它维护)的变量,以及一些与解释器强交互的函数。 本文将会频繁地使用该模块的getsizeof()...

Python中bisect的使用方法

Python中列表(list)的实现其实是一个数组,当要查找某一个元素的时候时间复杂度是O(n),使用list.index()方法,但是随着数据量的上升,list.index()的性能也...

python笔记:mysql、redis操作方法

模块安装: 数据操作用到的模块pymysql,需要通过pip install pymysql进行安装。 redis操作用的模块是redis,需要通过pip install redis进行...