基于ffmpeg+sdl+opencv的windows控制台,字符串播放badapple
代码下载地址https://download.csdn.net/download/jackiewmt/10489386
作者:重大自动化一寸灰
环境为vs2013
最近毕业,搞完毕业设计闲着没事干,偶然在网上看到了有人用控制台字符串播放badapple,感觉很有意思,但是大部分人都在偷工减料的取巧,比如直接用opencv实现延迟播放视频,后期配声音,或者将所有的视频图片转化为字符保存为TXT,再设计好输出间隔之类的,作为一个完美主义者,当然受不了这种做法。好在博主以前了解过一点ffmpeg+sdl实同步视音频的现播放器,于是上网找了找相关代码(只会改,不会写),还真找到了,下载源码读了一下,暴力修改了源码ffmpeg版本过时的问题(真的很暴力),配置opencv到项目中,(博主的代码里直接包含了opencv+ffmpeg+sdl的环境,即使你没装,应该也能编译)。
整体思路就是在ffmpeg+sdl播放器里创建一个线程,根据播放器播放的图片流,用opencv将要显示的图片缩放,二值化,转化为对应的字符串,然后让控制台打印出来,一开始我是将每张图片都做了转化,回来发现不行,打印速度太慢,拖累播放器的视音频同步,后来就改了一下,两张图片转化打印一次,基本没问题了,为了保证在没有配置环境的电脑上也能编译,又改了很久。
下载解压后是这样的,
ji
源码环境都在007文件夹里,这是第七个版本。
直接运行release下的EXE文件,就可以看到了,注意:如果运行正常,播放器正常,控制台显示不正常,有可能是你的控制台输出的字体太大了,调小一号,(此时把鼠标放在控制台窗口上边框,右键点击,单击属性,就可以看到字体了,这个是你的控制台输出的字体大小,本来我想直接写在代码里的,后来想想算了,一般不会有这个问题,有也很好改,就没添)
运行时会先弹出badapple的基本信息,按任意键继续,
如果一切正常运行结果如下:
按任意键继续,效果图如下
其实,因为整合了播放器,你可以转化任意视频,将代码改为键入视频名称就可以了,但是记得修改一下字符串种类,badapple本身就是黑白的,我只用了一个字符,对于其他视频,一个字符肯定是不够的,直接转化效果可能很差。
基于ffmpeg+sdl+opencv的windows控制台,字符串播放badapple相关推荐
- 最简单的基于FFMPEG+SDL的视频播放器 ver2 (采用SDL2.0)
===================================================== 最简单的基于FFmpeg的视频播放器系列文章列表: 100行代码实现最简单的基于FFMPEG ...
- 最简单的基于FFMPEG+SDL的视频播放器:拆分-解码器和播放器
===================================================== 最简单的基于FFmpeg的视频播放器系列文章列表: 100行代码实现最简单的基于FFMPEG ...
- 最简单的基于FFMPEG+SDL的音频播放器 ver2 (采用SDL2.0)
===================================================== 最简单的基于FFmpeg的音频播放器系列文章列表: <最简单的基于FFMPEG+SDL ...
- 100行代码实现最简单的基于FFMPEG+SDL的视频播放器(SDL1.x)
===================================================== 最简单的基于FFmpeg的视频播放器系列文章列表: 100行代码实现最简单的基于FFMPEG ...
- 最简单的基于FFMPEG+SDL的音频播放器:拆分-解码器和播放器
===================================================== 最简单的基于FFmpeg的音频播放器系列文章列表: <最简单的基于FFMPEG+SDL ...
- 最简单的基于FFMPEG+SDL的音频播放器
===================================================== 最简单的基于FFmpeg的音频播放器系列文章列表: <最简单的基于FFMPEG+SDL ...
- 基于ffmpeg+SDL 实时播放摄像头视频
基于ffmpeg+SDL 实时播放摄像头视频 基本流程 udp接收rtp数据流接收一帧数据后,转换为NAL单元送去解码 (这里特别说明一下,我本次用的接口是支持从连续数据流中自动分割出一个个NAL的, ...
- 最简单的基于FFMPEG SDL的音频播放器
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! ==== ...
- 最简单的基于FFMPEG+SDL的音频播放器 拆分-解码器和播放器
===================================================== 最简单的基于FFmpeg的音频播放器系列文章列表: <最简单的基于FFMPEG+SDL ...
最新文章
- Html5 Canvas 扫雷 (IE9测试通过)
- 机器视觉与机器学习牛人博客
- 测验3: 基本数据类型 (第3周)
- aproxy配合Nginx搭建Web集群部署实验(图文详解)
- Mysql存储时间字段
- 思科(Cisco)路由器策略路由配置详解
- 引用文献管理软件Mendeley
- 在 ASP.NET Core 5.0 中访问 HttpContext
- 阿里旺旺新老版本共存
- 服务器修改字体,云服务器怎么修改字体
- 不用编程语言自带函数,你会如何实现计算平方根
- 传奇地图时间限制脚本_脚本第一课限制进入次数地图设置方法
- The authentication type 10 is not supported
- 金业能源科技的汽车消耗能源解决对策
- 2048java设计报告_2048设计报告.doc
- hadoop个人总结
- 汽车电子(二)--- 车机娱乐系统介绍
- 用c语言编写kcl方程,求助各位大手子 求了好多次都不对 用kvl kcl求出电容c
- js中appendChild的用法
- 人脸识别眨眼张嘴软件_人脸识别张张嘴眨眨眼jar、css、js
热门文章
- Android基础入门教程——8.3.5 Paint API之—— Xfermode与PorterDuff详解(二)
- str在python中是什么数据类型_3、python数据类型之字符串(str)
- HashMap 线程安全问题
- python 去除不可见字符\u200b 方法收集
- 阿里巴巴资深架构师推荐:基于大中台小前台模式设计高并发电商架构
- 如何将照片转换成pdf格式
- 如何隐藏网络ip地址
- 7-12 然后是几点
- Swagger、Yapi接口管理服务_SE
- 中国地图tooltip轮播以及点击tooltip进行页面跳转