一、环境介绍

操作系统介绍:win10 64位

FFMPEG版本: 4.4.2

QT版本: 5.12.6

二、FFMPEG与X264编译下载

ffmpeg与x264源码开源,可以在任意平台上编译。自行下载源码编译得到库文件即可。

CSDN下载地址:(windows系统使用) https://download.csdn.net/download/xiaolong1126626497/13328939

三、源码介绍

版本v1.
1.  程序里一共使用了2个线程,线程1是UI主线程,负责刷新主界面的图像数据,图像数据显示使用标签控件;线程2是视频解码线程,负责解码音频数据和视频数据,再将视频图片通过信号发送给主线程进行刷新显示,在主界面的图像显示函数里,获取当前标签控件的大小,自动调整图像的缩放。
2.  音频数据直接在视频解码线程里播放
4.  增加总时间显示与当前时间显示
5. 增加任意跳转功能
6. 优化播放进度条显示
7. 优化播放器标签的自动缩放问题,可以根据窗口大小自动缩放。

说明: 因为视频解码转换,音频解码播放都是放在单个线程里完成的,视频尺寸太大就有些卡,小一些720P以下的到视频是没问题的。 后续增加多线程版本。

FFMPEG音频视频开发: 开发本地视频播放器(单线程解码)相关推荐

  1. Android本地视频播放器开发 - 搜索本地视频(1)

    这一章的主要内容是搜索手机本地视频,添加到ListView列表里,每一个表项含有这个视频的缩略图,视频的播放时间,视频的标题,在搜索本地视频(1)中我们先制作搜索功能.   Video.java--视 ...

  2. Android本地视频播放器开发--NDK编译FFmpeg

    在Android本地视频播放器开发中的搜索本地视频章节中,我们能够搜索本地视频并且显示每个视频的图片.标题.时间长度,当然如果需要添加其他的例如视频的长度和宽度可以使用Video类中的方法,既然我们获 ...

  3. 安卓开发本地视频播放器——扫描本地视频文件显示在gridview上,然后点击播放。

    本文将引导大家做一个本地视频播放器,希望能帮到有需要的朋友. 直接上代码: 下面这是获取扫描视频的代码. package com.mediaplayer.utils;import java.util. ...

  4. android 编译 sdl,SDL编译 - Android本地视频播放器开发_Linux编程_Linux公社-Linux系统门户网站...

    在上一章  Android本地视频播放器开发--ffmpeg解码视频文件中的音频(2)[http://www.linuxidc.com/Linux/2013-06/85955p5.htm]中使用Ope ...

  5. Android本地视频播放器开发--SDL编译

    在上一章 Android本地视频播放器开发--ffmpeg解码视频文件中的音频(2)中使用OpenSL ES来播放视频的声音,遗留的问题是声音的不同步,由于视频实现部分也要同步,而且音视频也要同步,所 ...

  6. 实现在Android本地视频播放器开发

    在Android本地视频播放器开发中的搜索本地视频章节中,我们能够搜索本地视频并且显示每个视频的图片.标题.时间长度,当然如果需要添加其他的例如视频的长度和宽度可以使用Video类中的方法,既然我们获 ...

  7. Android本地视频播放器开发--视频解码

    在上一章Android本地视频播放器开发--SDL编译编译中编译出sdl的支持库,当时我们使用的2.0,但是有些api被更改了,所以在以下的使用者中我们使用SDL1.3的库,这个库我会传上源码以及编译 ...

  8. linux下qt实现vlc视频播放器,Qt封装本地视频播放器(VLC二次开发)

    Qt本地视频播放器 1.使用vlc官方sdk封装,并在QLabel上面播放 2.首先到vlc官网下载vlc的sdk环境,下载地址:http://download.videolan.org/pub/vi ...

  9. 【Android视频 之 阿里云视频播放器 一】

    说到视频,现在短视频,小视频真是火的不行,抖音,快手,更是很多人手机上必会安装的一款app.那如何开发一款类似于抖音,集视频播放,直播,点播,拍摄,滤镜于一体的app呢,想想那都是相当的复杂.说到这里 ...

最新文章

  1. addroutes刷新_vue 解决addRoutes动态添加路由后刷新失效问题
  2. 计算机中,文本文件和二进制文件的区别
  3. “冷热通道气流遏制系统”在数据中心机房中的应用
  4. Python的类Class中__init__函数和self
  5. iOS block 用法
  6. 2B码农想转做产品,这的规划是否靠谱?
  7. Visual Studio 2019报错:缺少mfc120.dll
  8. 考勤管理系统详细功能分析
  9. UI库colorui的使用————小程序
  10. 量子纠缠计算机里的灵魂意识,量子纠缠理论告诉我们,灵魂真的存在于你我身体?...
  11. 关于一台机器运行两个身份证读卡器模块(总结)
  12. 再见了繁琐的Excel,掌握数据分析处理技术就靠它了
  13. 大武口计算机考试培训,大武口电脑培训地址
  14. ThinkPHP导入Excel文件到数据库的简单实现
  15. raid读写速度对比_RAID5和RAID1的读写速度对比大概是多少
  16. 播放器音乐源之天天动听API
  17. 你不知道的100个国外搜索引擎
  18. windows API 第八篇 _tcsicmp _stricmp _wcsicmp _mbsicmp
  19. 竞品分析5步法教你如何分析竞争对手网站
  20. servlet过滤器的介绍

热门文章

  1. 一、什么是Nginx? Nginx的作用是什么?
  2. vue实现input输入模糊查询(三种方式)
  3. OpenCV的cv::cvtColor()
  4. msf后渗透之文件交互指令、上传下载文件、屏幕截图、键盘记录、创建账户、音频录像和提权(上)
  5. 腾讯云服务器如何重装系统
  6. 2007-08-03 16:04 unresolved external symbol Direct3DCreate9
  7. notify()和notifyAll()有什么区别
  8. Windows文件管理器异常无响应,访问共享文件导致无响应的处理办法
  9. 设计模式(一):里氏代换原则
  10. 2023南宁师范大学计算机考研信息汇总