dtplayer编译运行说明
来源:互联网 发布:网络推广威客 编辑:程序博客网 时间:2024/06/08 01:10
目录:
1 dtplayer版本说明
2 dtplayer C++版本编译
3 dtplayer C版本编译
4 dtplayer运行
1 dtplayer版本说明
dtplayer现在已经在avplayer社区运营
社区同仁非常Nice的打算帮忙修改成了C++版本
同时,我打算保留一份C版本作为对比
大家可按照自己的需要fork任何版本,功能上是一致的。
2 dtplayer C++版本编译
2.1 获取代码
git clone https://github.com/avplayer/dtplayer
2.2 安装SDL2
2.3 编译ffmpeg到系统中
这里需要注意的是:ffmpeg需要支持动态库编译 即编译时打开 --enable-shared选项
dtplayer C++版本 菜博士 已经添加cmake支持,可自动探测ffmpeg支持
2.4 编译dtplayer
cd dtplayer
mkdir build
cd build
cmake ..
make
done
2.5 扩展部分
dtplayer的基本功能部分是由ffmpeg提供,但同时保持了良好的扩展性,可通过配置去除ffmpeg依赖,
具体配置方法待补充。
3 dtplayer C版本编译
3.1 获取代码
git clone https://github.com/peterfuture/dtplayer
3.2 安装SDL2
3.3 编译ffmpeg
若ffmpeg默认安装在/usr/local目录下,则不需要任何配置
若安装在非系统目录,则需要设置环境变量:
EXPORT DT_FFMPEG_DIR = FFMPEG_INSTALL_PATH
这里主要是设置安装目录,而非源码目录
这里对ffmpeg编译需使用默认的静态库编译方式
3.4 编译dtplayer
cd dtplayer
make
done
3.4 扩展部分
dtplayer的基本功能部分是由ffmpeg提供,但同时保持了良好的扩展性,可通过配置去除ffmpeg依赖,
具体配置方法:修改config.mk DT_FFMPEG = no
但此时需要增加faad的支持,a:安装faad到系统目录 b配置config.mk DT_FAAD = yes
这样就变成了一个非常轻量的aac播放器
4 dtplayer运行
4.1 运行
编译成功后会得到可执行文件,
C++版本: dtplayer/build/dtmplayer
C版本: dtplayer/dtm_player.exe(RELEASE版本) dtm_player_g.exe (DEBUG版本)
直接在shell中运行即可,命令:
./dtmplayer url
4.2 播放控制
暂时播放控制支持的比较少,需要在命令行输入命令执行,支持的命令
pause: space+enter
resume: space+enter
快进10s: >+enter
快退10s: <+enter
退出播放:q+enter
4.3 播放设置
参考dtplayer源码目录下的sys_set.ini配置文件,可进行播放设置,不需要重新编译代码,如下
[LOG]log.level=2 #log level,只打印info信息[DEMUXER]demuxer.probe=1 #是否打开probe,faad使用#demuxer.probesize = 1024 * 1024 # probe size[PLAYER]#player.noaudio=1 #禁止播放音频#player.novideo=1 #禁止播放视频#player.threshold=100 #同步纠正阈值
- dtplayer编译运行说明
- dtplayer结构设计的几点说明
- dtplayer开源
- mq c++ windows环境编译运行说明
- 算法题编译环境和运行环境说明
- dtplayer开发问题总结
- dtplayer总体设计
- dtplayer如何添加stream
- dtplayer如何添加demuxer
- dtplayer如何添加audio decoder
- 编译,运行
- 完整版linux下android源码下载、编译、模拟器启动运行(附源码目录结构说明)
- 如何下载Android源码(非常详细,含自动恢复下载,编译,运行模拟器说明)
- VSCode下便捷编译运行C++代码——Code Runner配置及说明
- JbpmCenter运行说明
- IOS运行目录说明
- MLAPP代码运行说明
- 一篇内核编译说明
- 文本编辑软件
- HTML解析组件HtmlAgilityPack使用
- C++之模板特化
- 【算法-排序之四】希尔排序
- myeclipse内存不足解决方法
- dtplayer编译运行说明
- Exercise 29:If 是什么
- 设置eclipse文件编码格式
- Fruit Ninja(水果忍者)游戏源代码下载、分析(上)---可运行Android,Ios,Window,Mac,Html5平台
- js中style、currentStyle、getComputed、runtimeStyle的区别
- 我的学习笔记(在C#里用MVC实现水晶报表)
- Hibernate和Ibatis比较
- shellcode搜集
- 【温故而知新】C和C++7:STL中的deque容器