///

///遍历文件夹获取所有视频路径///

///

private void TraverseFolder(string path,stringfilepath)

{

DirectoryInfo dInfo= newDirectoryInfo(path);

Dictionary dic = new Dictionary();

Dictionary dic2 = new Dictionary();

List list = new List();//遍历该文件夹

foreach (FileInfo fileitem indInfo.GetFiles())

{if (fileitem.Extension == ".mp4")

{

dic.Add(fileitem.Name, fileitem.FullName);

}

}

list= dic2.OrderBy(p => p.Key).Select(p => p.Value).ToList();//遍历获取所有需要合并视频的路径(为了保证视频合并后播放的顺序是正确的,所有需要合并的视频命名是有序的)

VideoCombine(list, filepath); //执行视频合并操作

}///

///

///

/// 需要合并视频路径(含文件名和文件类型)集合

/// 合并后文件路径(含文件名和文件类型)

public void VideoCombine(List list, stringDstFile)

{//DstFile=@"E:\新建文件夹\新视频.mp4";

string strTmp = "";string strCmd = "";

StringBuilder sb= newStringBuilder();

sb.Append("-i \"concat:");foreach (var item inlist)

{

strTmp= item + ".ts";

strCmd= "-i" + item + "-c copy -bsf:v h264_mp4toannexb -f mpegts" + strTmp + "-y";

CombineImplement(strCmd);

sb.Append($"{strTmp}|");

}

sb.Remove(sb.ToString().LastIndexOf('|'), 1);

sb.Append($"\" -c copy -bsf:a aac_adtstoasc -movflags +faststart {DstFile} -y");var path =sb.ToString();

CombineImplement(path);

}public void CombineImplement(stringstrCmd)

{string exe = @"C\ffmpeg.exe";//转换文件类型,由于不是所有类型的视频文件都支持直接合并,需要先转换格式

System.Diagnostics.Process p = newSystem.Diagnostics.Process();

p.StartInfo.FileName= exe;//要执行的程序名称

p.StartInfo.Arguments = " " +strCmd;

p.StartInfo.UseShellExecute= false;

p.StartInfo.RedirectStandardInput= false;//可能接受来自调用程序的输入信息

p.StartInfo.RedirectStandardOutput = false;//由调用程序获取输出信息

p.StartInfo.RedirectStandardError = false;//重定向标准错误输出

p.StartInfo.CreateNoWindow = false;//不显示程序窗口

p.Start();//启动程序

p.WaitForExit();

p.Close();

p.Dispose();

}

C语言ffmpeg合并多个视频,ffmpeg合并多个视频相关推荐

  1. Java使用ffmpeg进行视频格式转换、音视频合并、播放、截图

    封装类: ffplay.ffmpeg.ffprobe是安装的ffmpeg路径. import java.io.BufferedReader; import java.io.File; import j ...

  2. ffmpeg——同时剪辑多个视频并合并

    关于ffmpeg的介绍可以参看:FFMPEG视音频编解码零基础学习方法 官网:https://ffmpeg.org/download.html 目录 基本语法 功能需求 代码实现 效果展示 基本语法 ...

  3. C++ 调用 ffmpeg.exe 执行音视频混流合并;

    ffmpeg.exe文件可以去官网下载:FFmpeg 官网似乎不提供32位dll文件的下载了,但是可以下载exe文件来直接调用: #include <iostream> #include ...

  4. FFmpeg命令行实现两路/多路视频拼接 合并 合成 同时播放

    首先放一个两路视频合并的例子 ffmpeg -pix_fmt rgb24 -s 960x960 -i bag_level_7_renderSize_1_960x960_8bits_rgb24i.rgb ...

  5. Node.js脚本项目合集(一):Node.js+FFmpeg实现批量从B站导出离线缓存视频到mp4格式,mp4转mp3,实现听歌自由

    Node.js脚本项目合集(一):Node.js+FFmpeg实现批量从B站导出离线缓存视频到mp4格式,mp4转mp3,实现听歌自由 前言 一.准备工作以及介绍 1.什么是FFmpeg 2.FFmp ...

  6. FFMPEG 最简滤镜filter使用实例(实现视频缩放,裁剪,水印等)

    FFMPEG官网给出了FFMPEG 滤镜使用的实例,它是将视频中的像素点替换成字符,然后从终端输出.我在该实例的基础上稍微的做了修改,使它能够保存滤镜处理过后的文件.在上代码之前先明白几个概念: Fi ...

  7. ffmpeg在windows的安装、合并、切片、.m4s、.m3u8处理

    最近的项目涉及到视频处理,虽然我只是个小前端,正常的视频切片处理啥的都是在后端完成,但是在项目技术点调研阶段.接口联调之前,我还得自己处理视频,我用的工具是 ffmpeg,因为涉及到.m3u8格式和. ...

  8. Ffmpeg快速命令使用 Ffmpeg选项详解 Ffmepg格式详解 常见视频文件格式详解

    http://www.ffmpeg.com.cn/index.php/%E9%A6%96%E9%A1%B5 Ffmpeg快速命令使用 From Ffmpeg工程组 Jump to: navigatio ...

  9. 音视频ffmpeg——ffmpeg 命令大全

    ffmpeg 命令参数 ffmpeg信息查询命令 ffmpeg 控制命令 主要参数: ◼ -i 设定输入流 ◼ -f 设定输出格式(format) ◼ -ss 开始时间 ◼ -t 时间长度 音频参数: ...

最新文章

  1. Python中内建模块collections常见用法总结
  2. Mysql 参数最佳实践_MySQL参数调优最佳实践
  3. php能做的事,PHP也能干大事 随机函数
  4. apiexample.c例子教我们如何利用FFMPEG库中的API函数来编写自己的编解码程序
  5. 2009-08-02 XEIM 2.8 beta 迅速发布
  6. C程序中main函数参数调用[个人学习简记]
  7. cadence 16.6中Z-copy的用法
  8. 智能门禁(6)---调用face++实现人脸检测
  9. The Economist经济学人是如何使用Go语言构建内容平台微服务架构的?
  10. 计算机基础线性代数还有,大学计算机基础 word作业.doc
  11. 百度编辑器ueditor字体添加
  12. 64位程序core分析
  13. windows下的mujoco环境搭建
  14. 支付宝身份认证初始化服务40004未知的错误码
  15. Linux机器24项安全合规设置
  16. 自学Java day12 使用jvav实现链表 从jvav到架构师
  17. Bochs源码分析 - 28:bochs开启x2apic与SMP编译说明
  18. Elasticsearch之高亮进阶-高性能高亮器, 让Elasticsearch飞一会儿
  19. RobotSim机器人快速成型-离线编程仿真软件
  20. VxWorks中文FAQ

热门文章

  1. Markdown预览功能不可用解决方案
  2. es6 var、let、const命令
  3. 信息学竞赛相关优秀文章合集[持续更新]
  4. vue-router.esm.js?fe87:16 [vue-router] Route with name 'page' does not exist
  5. 网站中公用头部与尾部
  6. WPF 带CheckBox、图标的TreeView
  7. [C#]利用键代码自动转换生成字母键或其它键信息
  8. 使用svn进行版本控制
  9. spring boot 使用视图modelandview
  10. 06 事件处理函数绑定与事件对象