ffmpeg获取文件的总时长(mp3/mp4/flv等)

使用ffmpeg.exe获取文件属性信息,C#中可以在进程外异步调用这个工具,如下:

using (System.Diagnostics.Process pro = new System.Diagnostics.Process())
{
    pro.StartInfo.UseShellExecute = false;
    pro.StartInfo.ErrorDialog = false;
    pro.StartInfo.RedirectStandardError = true;
    pro.StartInfo.FileName = AppDomain.CurrentDomain.BaseDirectory + "ffmpeg.exe";
    pro.StartInfo.Arguments = " -i " + fileName;
    pro.Start();
    System.IO.StreamReader errorreader = pro.StandardError;
    pro.WaitForExit(1000);
    string result = errorreader.ReadToEnd();
    if (!string.IsNullOrEmpty(result))
    {
        result = result.Substring(result.IndexOf("Duration: ") + ("Duration: ").Length, ("00:00:00").Length);
        duration = result;
    }
}
时间: 2024-12-25 02:26:31

ffmpeg获取文件的总时长(mp3/mp4/flv等)的相关文章

统计音频文件总时长

统计音频文件总时长 两种实现方法,调用sox工具,调用python wave库. sox 命令行中键入sox wavfile -n stat -bash-4.2$ sox arctic_a0001.wav -n stat Samples read: 53680 Length (seconds): 3.355000 Scaled by: 2147483647.0 Maximum amplitude: 0.628510 Minimum amplitude: -0.649933 Midline amp

[Android Pro] 关于inputStream.available()方法获取文件的总大小

reference to :http://hold-on.iteye.com/blog/1017449 如果用inputStream对象的available()方法获取流中可读取的数据大小,通常我们调用这个函数是在下载文件或者对文件进行其他处理时获取文件的总大小. 以前在我们初学File和inputStream和outputStream时,有需要将文件从一个文件夹复制到另一个文件夹中,这时候我们用的就是inputStream.available()来获取文件的总大小,而且屡试不爽. 但是当我们要

获取音、视频时长(NAudio,Shell32,FFmpeg)

参考网址:https://blog.csdn.net/u013810234/article/details/57471780 以下为本次测试用到的音.视频格式: audio :".wav;.mp3;.wma;.ra;.mid;.ogg;.ape;.au;.aac;"; vedio :".mp4;.mpg;.mpeg;.avi;.rm;.rmvb;.wmv;.3gp;.flv;.mkv;.swf;.asf;"; Note: 1. 测试音.视频均为对应格式的有效文件(下

选择本地视频时获取视频分辨率和时长

< video style = "display:none;" controls = "controls" id = "aa" > </video> <input type = "file" onchange = "changeFile(this)" > <script> function myFunction(ele) { //视频时长  单位秒 alert

js获取video的播放时长

  1 setTimeout(function () { 2 var vid = document.getElementById("videoIntro"); 3 var currentTime=vid.currentTime.toFixed(1); 4 if(currentTime==1.2){ 5 //触发 6 return false; 7 } 8 console.log(currentTime); 9 getvideoprogress(); 10 }, 1000); 11 fu

获取视频时长

//            NSDictionary *opts = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:NO] //                                                             forKey:AVURLAssetPreferPreciseDurationAndTimingKey]; //            AVURLAsset *urlAsset

统计指定目录下所有mp4文件的时长(包含子目录下的文件)

1 # -*- coding:utf-8 -*- 2 # Author :Zcb 3 4 import os 5 from moviepy.editor import VideoFileClip 6 7 file_Dir = u"e:\\test" #加个u 是表示unicode 一般用在中文字符前 8 sum_time =0 9 10 class FileCheck(): 11 def __init__(self): 12 self.file_dir = file_Dir 13 14

(判断url文件大小)关于inputStream.available()方法获取下载文件的总大小

转自:http://hold-on.iteye.com/blog/1017449 Java代码   如果用inputStream对象的available()方法获取流中可读取的数据大小,通常我们调用这个函数是在下载文件或者对文件进行其他处理时获取文件的总大小. 以前在我们初学File和inputStream和outputStream时,有需要将文件从一个文件夹复制到另一个文件夹中,这时候我们用的就是inputStream.available()来获取文件的总大小,而且屡试不爽. 但是当我们要从网

Unity3D中通过Animator动画状态机获取任意animation clip的准确播放持续时长

Unity3d 4及之前的版本中动画的播放用的animation,可直接获取其播放持续长度.但5.x及以后的版本中都是用animator来播放动画了. https://docs.unity3d.com/Manual/AnimationOverview.html While Mecanim is recommended for use in most situations, Unity has retained its legacy animation system which existed b