- 博客(4)
- 收藏
- 关注
原创 一个基于ffmpeg+QT的视频播放器
该播放器采用vs2013为开发环境, 使用C++封装ffmpeg api,对视频进行如下操作: 打开 解复用 decode swscale格式转换 OPENGL渲染 decode和swscale分别开辟线程来处理,并考虑了线程之间互斥, 通过多线程和音视频的缓存队列的方式实现音频和视频的同步。 可以使用UI界面对视频进行打开,播放窗口缩放缩放,暂停,进度条拖动等操作。
2017-09-13 10:20:37 2518 9
转载 libev库的用法
libev是一个高性能的事件循环库,比libevent库的性能要好。Nodejs就是采用它作为底层库。libev的官方文档在 这里,文档比较长。本文结合里面的例子对它的用法做些简单的总结。 例子 首先从官方的例子开始: // a single header file is required #include #include // for puts /
2017-08-31 14:31:25 607
转载 开源C/C++网络库比较
在开源的C/C++网络库中, 常用的就那么几个, 在业界知名度最高的, 应该是ACE了, 不过是个重量级的大家伙, 轻量级的有libevent, libev, 还有 Boost的ASIO。 ACE是一个大型的中间件产品,代码20万行左右,过于宏大,一堆的设计模式,架构了一层又一层,使用的时候, 要根据情况,看你从那一层来进行使用。支持跨平台。 Boost的ASIO是一个异步IO库,封装
2017-08-31 14:30:20 1033
转载 网络编程中阻塞与非阻塞,同步与异步、I/O模型的理解
1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式: 同步: 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。 例如普通B/S模式(同步):提交请求->等待服务器处理->处理
2017-08-31 14:18:43 729
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人