libdvbpsi库简单学习心得(一):使用和编辑库
来源:互联网 发布:淘宝网手动碎 菜机 编辑:程序博客网 时间:2024/05/20 14:27
版权声明:本文为博主原创文章,欢迎转载但请注明出处
libdvbpsi是一个用于解码或者生成TS各种表的一个简单库。
对于libdvbpsi的初学者来说,首先想看到的效果就是简单的编译这个库并使用这个库中的例子生成一些自己想要的表,但是网上的许多博客只是简单的分析了一些库函数。在这里我的第一篇博客将的主要内容就是编译这个库,并用库中的一些简单例子来生成想看到的psi/si表。在后续的博客中我会详细分析PAT表和PMT表的生成,并会详细的分析里面的函数内容
libdvbpsi的官方网址:http://www.videolan.org/developers/libdvbpsi.html
下载libdvbpsi使用的命令:git clone http://git.videolan.org/git/libdvbpsi.git
这里我使用的操作系统是ubuntu-16.04
可以看到在下载的源代码中有以下文件
可以参考以下INSTALL的代码
“`
In contrast to other autotools enabled programs libdvbpsi uses a script named’bootstrap’ to generate the configure script. Others use a program’autogen.sh’
for that. For libdvbpsi you need to run:
./bootstrap
Run the configure script for development:./configure --prefix=/usr --enable-debug --disable-release
接下来直接运行 ./bootstrap
报错: you need automake version 1.5 or later
安装automake sudo apt-get install -y automake
再次运行 ./bootstrap
报错: you need libtool
安装libtool
运行 ./bootstrap
运行成功!
ls查看一下生成的文件
可以看到生成了configure ,接下来安装库
在libdvbpsi目录下输入:./configure –prefix=/usr/local
如果看到以下信息说明安装成功,再有一步就可以成功编译库了
libdvbpsi configuration
libdvbpsi version : 2.0.0-git
debug : false
release : false
compatibility old api : true
compile flags : -g -O2 -Wall -std=gnu99 -D_GNU_SOURCE -Wpointer-arith -Wcast-align -Wstrict-prototypes -Wshadow -Waggregate-return -Wmissing-prototypes -Wnested-externs -Wsign-compare -Wcast-qual -DDVBPSI_DIST -DDVBPSI_USE_DEPRECATED_DR_API
build for : linux
此时libdvbpsi目录下的文件为
接下来直接make就可以生成库了。
可以看到在libdvbpsi目录下有个文件夹名称叫做examples,这里面放着一些使用库的简单例子,大家可以参考使用。
这里我简单使用一个例子来分析一下ts中的psi/si表。
在libdvbpsi/examples/dvbinfo中有个可执行文件dvbinfo可以生成PSI/SI表。
我用EasyICE分析了一个简单的ts,表结构如下
使用dvbinfo导出打印的表结构信息
终端输入:./dvbinfo -f **.ts >> a.txt
输出信息如下
- libdvbpsi库简单学习心得(一):使用和编辑库
- libdvbpsi库简单学习心得(二):PAT表
- libdvbpsi库的使用
- libdvbpsi 源代码学习(一)
- libdvbpsi的例子解析(一)
- treeview 学习心得(一) 简单示例
- Activiti简单学习心得一
- Android下libdvbpsi的使用
- libdvbpsi 源代码学习(二)
- git学习心得(一)——如何关联本地库和远程
- 在android平台上如何使用libdvbpsi
- 静态链接库的编辑和使用
- 我的MYSQL学习心得(一) 简单语法
- 我的MYSQL学习心得(一) 简单语法
- JavaWeb学习心得之自定义简单标签(一)
- log4cplus库(一)(简单使用)
- 学习心得(一)
- 学习心得(一)
- echo颜色文本
- layout_marginRight不起作用
- spring框架创建连接池
- Servlet的线程安全
- Unity3D之十一常用属性
- libdvbpsi库简单学习心得(一):使用和编辑库
- CodeForces
- 网络设备结构体net_device介绍
- #pragma pack(push,1)与#pragma pack(1)的区别
- I hate it.hdu
- LA 3942 Remember the Word——DP + 字典树
- MapStruct实体间转换
- at命令
- uva10382(贪心算法---区间覆盖问题)