[开源]基于ffmpeg和libvlc的视频剪辑、播放器

以前研究的时候,写过一个简单的基于VLC的视频播放器。后来因为各种项目,有时为了方便测试,等各种原因,陆续加了一些功能,现在集成了视频播放、视频加减速、视频剪切,视频合并(增加中)等功能在一起。有时候看点网上下载的视频,可以一边看,一边能处理视频前后的广告,感觉也还可以用,就想把它开源出去,一方面希望有需要的朋友可以参考、借鉴,另一方面也希望可以促进它进一步的丰富功能,最终能实现一款简单又够用的视频剪辑软件。

程序框架

先上一张程序截图

基本上讲,它的播放功能是基于VLC,剪辑功能是基于FFmpeg,现在的功能还比较简单,当然我的目的也不是想做一个复杂的视频编辑器,那是专业软件的事情,就是想做一个简单又好用的剪辑工具即可。整体框架如下图所示:

源码简介

工程

程序目前使用VS2013开发,并通过Qt VS Addin创建QT工程,界面基于QT5来编写。将来准备改为QtCreator工程,目的是为了方便移植到linux平台。

主要逻辑是:QT绘制界面,跟用户交互,通过调用libvlc,实现本地文件播放。在适当的地方设置剪辑参数,然后通过FFMPEG实现视频文件剪辑,完成后,反馈到QT界面。

和普通播放器类似,程序支持左"<-",右"->"快捷键来做视频的快进后退,也可配合Ctrl和Shift键来做。

代码目录

开发计划

  • 开发工具由VS2013切换为QtCreator
  • 文件播放部分,由目前的调用libvlc,改为通过FFMPEG解码后,渲染播放。
  • 剪辑操作,由进程调用FFMPEG程序,改为通过FFMPEG API方式
  • 增加视频文件合并,以及格式转换
  • 界面改善

源码地址

https://github.com/hbstream/hb-cut-player

有兴趣的朋友可以看看,现在还比较初级,会慢慢更新,欢迎提交建议和代码。


haibindev.cnblogs.com,合作请联系QQ。(转载请注明作者和出处~)


最新文章

  1. ecshop 导出exl表格
  2. git pull 冲突解决
  3. Spring学习笔记之四----基于Annotation的Spring AOP编程
  4. QPainter类的一些问题
  5. 树莓派 config.txt
  6. Maven Eclipse (m2e) SCM connector for subclipse 1.10 (svn 1.8) 无法检测
  7. C# 获取sql数据库表列名,及列名说明备注信息
  8. Verilog学习笔记简单功能实现(三)...............同步有限状态机
  9. 北京联想招聘-Android Framework高级工程师(7-10年) 加入qq 群:220486180 或者直接在此 留言咨询
  10. C#/Java/C/C++基本类型所占大小及表示范围
  11. CodeForces 300C 最短路
  12. jQuery技术内幕电子版5
  13. Windows 7系统下局域网文件共享设置方法
  14. CSS Margin(外边距)
  15. 面向新手的Webserver搭建(一)——IIS的搭建
  16. 6、手把手教你Extjs5(六)继承自定义一个控件
  17. FlatList 核心运用
  18. Bootstrap3基础 table-bordered/hover 表格加外边框和鼠标悬停对应行的背景色加深
  19. VB6 加密解密字符串
  20. rap使用手册

热门文章

  1. JAVA之旅(十)——异常的概述,Try-Catch,异常声明Throws,多异常处理,自定义异常,Throw和Throws的区别
  2. RecyclerView 实现横向滚动效果
  3. Android启动过程分析
  4. 【Unity Shaders】Diffuse Shading——在Surface Shader中使用properties
  5. cocos2d-x项目与vs2013编译
  6. java集合类中的迭代器模式
  7. 图像的基本运算——scale, rotation, translation
  8. 高通Android display架构分析
  9. Linux之ulimit详解(整理)
  10. android EventBus详解(一)