基于ffmpeg和libvlc的视频剪辑播放器

rianbowymail rianbowymail     2022-11-11     346

关键词:

以前研究的时候,写过一个简单的基于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

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

基于ffmpeg和libvlc的视频剪辑播放器

以前研究的时候,写过一个简单的基于VLC的视频播放器。后来因为各种项目,有时为了方便测试,等各种原因,陆续加了一些功能,现在集成了视频播放、视频加减速、视频剪切,视频合并(增加中)等功能在一起。有时候看点... 查看详情

基于ffmpeg和libvlc的视频剪辑播放器

以前研究的时候,写过一个简单的基于VLC的视频播放器。后来因为各种项目,有时为了方便测试,等各种原因,陆续加了一些功能,现在集成了视频播放、视频加减速、视频剪切,视频合并(增加中)等功能在一起。有时候看点... 查看详情

基于ffmpeg和libvlc的视频剪辑播放器

以前研究的时候,写过一个简单的基于VLC的视频播放器。后来因为各种项目,有时为了方便测试,等各种原因,陆续加了一些功能,现在集成了视频播放、视频加减速、视频剪切,视频合并(增加中)等功能在一起。有时候看点... 查看详情

基于ffmpeg和libvlc的视频剪辑播放器

以前研究的时候,写过一个简单的基于VLC的视频播放器。后来因为各种项目,有时为了方便测试,等各种原因,陆续加了一些功能,现在集成了视频播放、视频加减速、视频剪切,视频合并(增加中)等功能在一起。有时候看点... 查看详情

基于vlc-qt的视频播放器(支持添加视频列表单曲循环等)(代码片段)

    基于libvlc和Qt实现了一个视频播放器,可实现列表循环播放,单曲播放等,效果好于Qt自带的视频播放库。网上已有诸多基于vlc库的视频播放器,但设计列表播放的资源较少,基于vlc实现列表播放主要利... 查看详情

qt软件开发:基于libvlc内核设计视频播放器(代码片段)

...行): https://download.csdn.net/download/xiaolong1126626497/20479530二、播放器运行效果与功能介绍 播放器的功能介绍:1.图像旋转播放(90°、0°、180°、360°)2.视 查看详情

qt软件开发:基于libvlc内核设计视频播放器(代码片段)

...行): https://download.csdn.net/download/xiaolong1126626497/20479530二、播放器运行效果与功能介绍 播放器的功能介绍:1.图像旋转播放(90°、0°、180°、360°)2.视 查看详情

基于ffmpeg+sdl视频播放器制作任务概述

本专题将与大家交流讨论ffmpeg+SDL视频播放器的制作具体将包括以下部分:1.ffmpeg和SDL的配置2.制作过程中需要的视音频基础知识3.ffmpeg命令行工具的使用4.ffmpeg视频解码器5.SDL视频显示6.ffmpeg+SDL视频播放器7.ffmpeg+SDL视... 查看详情

100行代码实现最简单的基于ffmpeg+sdl的视频播放器(sdl1.x)(代码片段)

...1;========最简单的基于FFmpeg的视频播放器系列文章列表:100行代码实现最简单的基于FFMPEG+SDL的视频播放器(SDL1.x)最简单的基于FFMPEG+SDL的视频播放器ver2(采用SDL2.0)最简单的基于... 查看详情

最简单的基于ffmpeg的helloworld程序

...==========================================最简单的基于FFmpeg的视频播放器系列文章列表:100行代码实现最简单的基于FFMPEG+SDL的视频播放器(SDL1.x)最简单的基于FFMPEG+SDL的视频播放器ver2(採用SDL2.0)最简单的基于FFmpeg的解码器-纯净版(... 查看详情

基于ffmpeg的视频播放器之十四:remuxing(代码片段)

...是remuxing的过程,因此本篇是下一篇——基于FFmpeg的视频播放器之十五:录像的理论部分最权威的参考当然来自FFmpeg的examples:https://ffmpeg.org/doxygen/trunk/examples.html,remuxing.c这个例子不做转码,比如改变分辨率、帧率、编码方式等... 查看详情

基于ffmpeg的视频播放器之十二:seek

seek是播放器的常用操作,也是衡量播放器好坏的重要标志之一。一.效果下面是对正在播放的4K视频执行seek操作 查看详情

基于ffmpeg的简单android视频播放器(代码片段)

...文件的解码,并且基于OpenSLES实现了一个简单的音乐播放器。最近正在学习《音视频开发进阶指南》,看到了视频部分。不如就干脆再写一个视频播放器。代码存放在我的github:Android-VideoPlayer。1.模块分割首先对这个... 查看详情

libvlc 和 dbus 接口

...【问题描述】:我正在尝试使用libvlc创建一个基本的媒体播放器,该播放器将通过dbus进行控制。我正在为python使用gtk和libvlc绑定。代码基于vlcwebsite的官方示例我唯一修改的是将dbus接口添加到vlc实例中#Createasinglevlc.Instance()tobeshar 查看详情

基于ffmpeg的视频解码(libavcodec,致敬雷霄骅)(代码片段)

...考了雷博士的博客:最简单的基于FFMPEG+SDL的视频播放器:拆分-解码器和播放器基本上雷博士这篇博客已经把这个问题讲的挺清楚了。但是ffmpeg新版本的API有变化,这篇博客的代码已经无法直接编译运行。所以我写... 查看详情

基于ffmpeg的视频解码(libavcodec,致敬雷霄骅)(代码片段)

...考了雷博士的博客:最简单的基于FFMPEG+SDL的视频播放器:拆分-解码器和播放器基本上雷博士这篇博客已经把这个问题讲的挺清楚了。但是ffmpeg新版本的API有变化,这篇博客的代码已经无法直接编译运行。所以我写... 查看详情

qt软件开发-基于ffmpeg设计视频播放器-支持软解与硬解(代码片段)

...本概念,完成了ffmpeg对视频软件解码并渲染,实现了基本播放器功能设计。这篇文章介绍ffmpeg硬件加速解码视频的流程,完成基本播放器设计。我这里开发视频播放器用到的环境介绍:ffmpeg版本:4.2.2Qt版本:5.12.6编译器类型:MinGW32b... 查看详情

基于ffmpeg的视频播放器之十三:抓图(代码片段)

抓图的话当然可以用QImage来实现,但是得先把yuv图像转成图像再通过QImage保持,比较麻烦。这里直接通过ffmpeg从视频流中抓取图片,也就是在yuv渲染之前抓取。这里文件名使用当前时间,因此只需要传入图片保持的路径就行,fil... 查看详情