[原]通过配合ffmpeg.exe获取视频文件时长

import subprocess
import os
import time

def getTime(flvpath,fid):
   #file_str = ‘1.flv‘
   file_str = flvpath
   wg = subprocess.Popen([‘ffmpeg.exe‘, ‘-i‘, file_str], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
   (standardout, junk) = wg.communicate()
   ans = str(standardout)
   num = ans.find("Duration:")
   out = ans[num+10:num+18]
   fid.write(file_str + "<| time is |>" + out)
   fid.write("\r\n")

def getFileName(path, warp):
   #f_list = os.listdir(path)
   #rootdir = os.getcwd()
   rootdir = path
   logname = warp[1:] + ‘_log.txt‘
   fid = open(logname, ‘w‘)
   for (dirpath, dirnames, filenames) in os.walk(rootdir):
       for filename in filenames:
           pathname = os.path.join(dirpath, filename)
           if os.path.splitext(pathname)[1].lower() == warp:
              getTime(pathname,fid)

   fid.close()

if __name__ == "__main__":
   print("Begin time: " + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
   rootdir = "D:\\mooc\\视频资料"
   warp = ".flv"
   getFileName(rootdir, warp)
   warp = ".mp4"
   getFileName(rootdir, warp)
   print("End time:" + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
时间: 2024-10-12 16:09:01

[原]通过配合ffmpeg.exe获取视频文件时长的相关文章

java 处理获取视频文件时长

现在所做的项目需要获取视频的时长.因为jdk1.5的api没看到有这个方法.所以在网上找了一下,发现jave这个项目.Encoder这个类有个方法: MulitimediaInfo中有个getDuration() 这便是我要找的答案 试验代码加上 因为返回的为毫秒,实际情况需要转换.

asp+ffmpeg获取视频的时长

<% '视频数据定义 ffmpeg = "C:\ffmpeg\bin\ffmpeg.exe" video  = "D:\test\ffmpeg\test2\m1080p1.wmv" 'wscript脚本定义 set WshShell = CreateObject("Wscript.Shell") str2 = "cmd.exe /c "&ffmpeg&" -i "&video&

java读取视频文件时长

1.下载jar包:http://www.sauronsoftware.it/projects/jave/index.php 2.上代码 1 @RequestMapping(value = "amendFile.htm", produces = "application/json;charset=UTF-8") 2 @ResponseBody 3 public String amendFile(MultipartFile file, HttpServletReques

C#实现通过ffmpeg从flv视频文件中截图的方法

本文实例讲述了C#实现通过ffmpeg从flv视频文件中截图的方法.分享给大家供大家参考.具体分析如下: 需要先下载ffmpeg,这是开源的,代码如下所示: 代码如下: using System; using System.Configuration; public class PublicMethod:System.Web.UI.Page { public PublicMethod() { } //文件路径 public static string ffmpegtool = "ffmpeg/f

Android:通过ThumbnailUtils类获取视频文件的缩略图

在视频播放器上经常会看到,有很多的视频缩略图,本文讲的就是通过ThumbnailUtils类获取视频文件的缩略图; 运行截图如下: 代码如下: MainActivity.java: package com.vrinux.thumbnailutilsdemo; import android.app.Activity; import android.graphics.Bitmap; import android.media.ThumbnailUtils; import android.os.Bund

Android必知必会-获取视频文件的截图、缩略图

背景 公司最近要求给我负责的APP加上视频录制和发布的功能,我简单的完成了基本的录制和视频压缩功能,后来发现发布接口需要上传视频的截图,网上搜索了一下资料,在这里整理一下. 代码实现 /** * 获取视频文件截图 * * @param path 视频文件的路径 * @return Bitmap 返回获取的Bitmap */ public static Bitmap getVideoThumb(String path) { MediaMetadataRetriever media = new Me

android 中获取视频文件的缩略图(非原创)

在android中获取视频文件的缩略图有三种方法: 1.从媒体库中查询 2. android 2.2以后使用ThumbnailUtils类获取 3.调用jni文件,实现MediaMetadataRetriever类 三种方法各有利弊 第一种方法,新视频增加后需要SDCard重新扫描才能给新增加的文件添加缩略图,灵活性差,而且不是很稳定,适合简单应用 第二种方法,实现简单,但2.2以前的版本不支持 第三种方法,实现复杂,但比较灵活,推荐使用 下面给出三种方法的Demo 1.第一种方法: publi

FFmpeg变速处理视频文件

使用工具:小丸工具箱,HandBrake,FFmpeg 首先确定视频是否为VFR(可变帧率),如果是VFR需要在二次处理前转换成CFR(固定帧率) VFR转换CFR可以使用FFmpeg命令行或HandBrake大菠萝的GUI下进行 使用FFmpeg 参考小丸工具箱中的 可变帧率(VFR)一键转换器V1.1.bat 脚本 参数Preset(预设)值,选择范围是0-8,数字越大速度越慢但质量越好 推荐电脑性能非常好的人选择8 电脑性能一般可选择5 赶时间的请选择0,但必须配合CRF0使用 参数CRF

(转载)[FFmpeg]使用ffmpeg从各种视频文件中直接截取视频图片

你曾想过从一个视频文件中提取图片吗?在Linux下就可以,在这个教程中我将使用ffmpeg来从视频中获取图片. 什么是ffmpeg?What is ffmpeg? ffmpeg是一个非常有用的命令行程序,它可以用来转码媒体文件.它是领先的多媒体框架FFmpeg的一部分,其有很多功能,比如解码.编码.转码.混流.分离.转化为流.过滤以及播放几乎所有的由人和机器创建的媒体文件. 在这个框架中包含有各种工具,每一个用于完成特定的功能.例如,ffserver能够将多媒体文件转化为用于实时广播的流,ffp