[原]通过配合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()))

优质内容筛选与推荐>>
1、Ubuntu 15.04 Qt5 链接 mysql数据库
2、一个简单词法分析器的实现代码
3、Python2和Python3中urllib库中urlencode的使用注意事项
4、anaconda tensorflow的安装以及jupyter notebook安装的问题解决
5、JAVA----I/O流


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号