Python通过Ffmgep从视频中抽帧

python通过ffmgep从视频中抽帧

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))
"""
收藏 (0)
评论列表
正在载入评论列表...
我是有底线的
为您推荐
    暂时没有数据