基于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

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

原文地址:https://www.cnblogs.com/rianbowymail/p/9017771.html

时间: 2024-08-08 13:11:49

基于ffmpeg和libvlc的视频剪辑、播放器的相关文章

最简单的基于Flash的流媒体示例:网页播放器(HTTP,RTMP,HLS)

本文继续上一篇文章,记录一些基于Flash的流媒体处理的例子.本文记录一些基于Flash技术的网页播放器.基于Flash的网页播放器相比于其他网页播放器来说最大的优势就是"免插件安装"了,这一点可以很大的提高用户的体验质量.早些时候网络视频(尤其是直播)一般都使用ActiveX控件作为视频播放器,而这些控件并不普及,所以终端用户必须下载相关的插件才能收看节目,因而对很多不熟悉电脑的用户造成了很大的障碍.直到Flash网页播放器的出现,这一障碍才得到了解决.本文将会记录几个常用的网页播放

用OpenCV制作视频控制播放器(无声音)

申明:OpenCV是计算机视觉库,所以用在图片或视频处理上,故播放的视频暂时没有声音 软件:用OpenCV制作视频控制播放器(无声音) 功能说明:新建播放窗口,添加进度条可以拖动视频播放. 流程图: 功能说明: 1. 新建进度条 cvCreatTrackbar("","",&,frames,callback) 2.获取总帧数 cvGetCaptureProperty(&,id) double cvGetCaptureProperty( CvCaptu

引入腾讯视频的播放器组件在页面直接播放视频

<div class="vedio_show"> <div id="mod_player_skin"> </div> <!-- 这个div是播放器准备输出的位置 --><!-- 引入腾讯视频播放器组件 --> <script language="javascript" src="http://qzs.qq.com/tencentvideo_v1/js/tvp/tvp.pl

基于canvas和Web Audio的音频播放器

wavesurfer.js是一款基于HTML5 canvas和Web Audio的音频播放器插件.通过wavesurfer.js你可以使用它来制作各种HTML5音频播放器,它可以在各种支持 Web Audio 的浏览器中工作.包括 Firefox, Chrome, Safari, Mobile Safari 和 Opera浏览器. 在线演示:http://www.htmleaf.com/Demo/201503151525.html 下载地址:http://www.htmleaf.com/html

基于web的html 5的音乐播放器(转载)

文章转载自:开源中国社区 [http://www.oschina.net] 想通过手机客户端(支持 Android.iPhone 和 Windows Phone)访问开源中国:请点这里 HTML5 是一种用于创建和呈现的网页内容的语言.这是一个革命性的语言,它拥有一些真正棒的功能和一个新的HTML5规范允许本地音频流的播放.本文向你推荐 10 个最棒的 HTML5 音频播放器,看看你喜欢哪个! Speakker Speakker 是一个基于 Web 浏览器的音乐播放器,只提供很多高级播放功能包括

树莓派播放视频的播放器omxplayer

omxplyer为树莓派量身定做的一款GPU硬件加速的播放器,很好的解决了树莓派cpu计算力不足的缺点.(播放时cpu一定都不烫手) 1.安装方法: CTRL + ALT + T 调出终端命令行输入 sudo apt-get install omxplayer 等待数秒安装完毕... 2.使用方法: 直接在终端中输入 omxplayer -o hdmi /path/filename.mp4 解释: -o hdmi 表示音视频直接通过HDMI 播放 后面就是视频文件的路径了 3.播放器操作方法:

实现网易云视频直播播放器功能

<!-- 直播播放器区域 --> <div class="live-channel-player-area"> <video id="my-video" class="video-js" controls width="320"> <source src="http://v1.live.126.net/live/4016cd4acc8041b69551cc4ce1696fce

基于ffmpeg的简单音视频编解码的例子

近日需要做一个视频转码服务器,对我这样一个在该领域的新手来说却是够我折腾一番,在别人的建议下开始研究开源ffmpeg项目,下面是在代码中看到的一 段例子代码,对我的学习非常有帮助.该例子代码包含音频的解码/编码和视频的编码/解码,其中主要用到编解码的libavcodec组件.以下是完整的例 子,代码自身的注释足够清晰了./**  * @file  * libavcodec API use example.  *  * Note that libavcodec only handles codec

iOS平台基于ffmpeg的视频直播技术揭秘

现在非常流行直播,相信很多人都跟我一样十分好奇这个技术是如何实现的,正好最近在做一个ffmpeg的项目,发现这个工具很容易就可以做直播,下面来给大家分享下技术要点: 首先你得编译出ffmpeg运行所需的静态库,这个百度一下有很多内容,这里我就不多说了,建议可以用Github上的一个开源脚本来编译,简单粗暴有效率. 地址:GitHub - kewlbear/FFmpeg-iOS-build-script: Shell scripts to build FFmpeg for iOS and tvOS