代码下载地址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相关推荐

  1. 最简单的基于FFMPEG+SDL的视频播放器 ver2 (采用SDL2.0)

    ===================================================== 最简单的基于FFmpeg的视频播放器系列文章列表: 100行代码实现最简单的基于FFMPEG ...

  2. 最简单的基于FFMPEG+SDL的视频播放器:拆分-解码器和播放器

    ===================================================== 最简单的基于FFmpeg的视频播放器系列文章列表: 100行代码实现最简单的基于FFMPEG ...

  3. 最简单的基于FFMPEG+SDL的音频播放器 ver2 (采用SDL2.0)

    ===================================================== 最简单的基于FFmpeg的音频播放器系列文章列表: <最简单的基于FFMPEG+SDL ...

  4. 100行代码实现最简单的基于FFMPEG+SDL的视频播放器(SDL1.x)

    ===================================================== 最简单的基于FFmpeg的视频播放器系列文章列表: 100行代码实现最简单的基于FFMPEG ...

  5. 最简单的基于FFMPEG+SDL的音频播放器:拆分-解码器和播放器

    ===================================================== 最简单的基于FFmpeg的音频播放器系列文章列表: <最简单的基于FFMPEG+SDL ...

  6. 最简单的基于FFMPEG+SDL的音频播放器

    ===================================================== 最简单的基于FFmpeg的音频播放器系列文章列表: <最简单的基于FFMPEG+SDL ...

  7. 基于ffmpeg+SDL 实时播放摄像头视频

    基于ffmpeg+SDL 实时播放摄像头视频 基本流程 udp接收rtp数据流接收一帧数据后,转换为NAL单元送去解码 (这里特别说明一下,我本次用的接口是支持从连续数据流中自动分割出一个个NAL的, ...

  8. 最简单的基于FFMPEG SDL的音频播放器

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! ==== ...

  9. 最简单的基于FFMPEG+SDL的音频播放器 拆分-解码器和播放器

    ===================================================== 最简单的基于FFmpeg的音频播放器系列文章列表: <最简单的基于FFMPEG+SDL ...

最新文章

  1. Html5 Canvas 扫雷 (IE9测试通过)
  2. 机器视觉与机器学习牛人博客
  3. 测验3: 基本数据类型 (第3周)
  4. aproxy配合Nginx搭建Web集群部署实验(图文详解)
  5. Mysql存储时间字段
  6. 思科(Cisco)路由器策略路由配置详解
  7. 引用文献管理软件Mendeley
  8. 在 ASP.NET Core 5.0 中访问 HttpContext
  9. 阿里旺旺新老版本共存
  10. 服务器修改字体,云服务器怎么修改字体
  11. 不用编程语言自带函数,你会如何实现计算平方根
  12. 传奇地图时间限制脚本_脚本第一课限制进入次数地图设置方法
  13. The authentication type 10 is not supported
  14. 金业能源科技的汽车消耗能源解决对策
  15. 2048java设计报告_2048设计报告.doc
  16. hadoop个人总结
  17. 汽车电子(二)--- 车机娱乐系统介绍
  18. 用c语言编写kcl方程,求助各位大手子 求了好多次都不对 用kvl kcl求出电容c
  19. js中appendChild的用法
  20. 人脸识别眨眼张嘴软件_人脸识别张张嘴眨眨眼jar、css、js

热门文章

  1. Android基础入门教程——8.3.5 Paint API之—— Xfermode与PorterDuff详解(二)
  2. str在python中是什么数据类型_3、python数据类型之字符串(str)
  3. HashMap 线程安全问题
  4. python 去除不可见字符\u200b 方法收集
  5. 阿里巴巴资深架构师推荐:基于大中台小前台模式设计高并发电商架构
  6. 如何将照片转换成pdf格式
  7. 如何隐藏网络ip地址
  8. 7-12 然后是几点
  9. Swagger、Yapi接口管理服务_SE
  10. 中国地图tooltip轮播以及点击tooltip进行页面跳转