hi3518e之mp4v2--第一步移植MP4v2

hi3518e的sdk提供了h264的例程,如果用户需要查看录像,那么需要使用普遍的格式,mp4便是目前最好的格式之一。

将h264转为mp4,有很多方法,本文使用的是mp4v2。

步骤如下:

1、下载mp4v2.0.0。

2、在Ubuntu中解压,进入到mp4v2-2.0.0,在本目录中新建一个install目录。

3、在mp4v2-2.0.0目录中执行,该命令中的各个目录要对应自己的目录:

sudo PATH=$PATH:/opt/hisi-linux/x86-arm/arm-hisiv300-linux/target/bin 
CC=arm-hisiv300-linux-gcc CXX=arm-hisiv300-linux-gcc 
./configure --host=arm-hisiv300-linux 
--prefix=/home/aston/sambashare/mp4/mp4v2-2.0.0/install  //指定安装路径
--disable-option-checking --disable-debug 
--disable-optimize --disable-fvisibility --disable-gch --disable-largefile 
--disable-util --disable-dependency-tracking --disable-libtool-lock
 

4、make

5、make install

6、生成的lib加到mpp lib里面

7、include下文件添加到mpp/include中去

8、lib/*so*加到开发板lib目录下(如果flash空间不够,在cp的时候,只需将libmp4v2.so.2.0.0拷贝到开发板的lib目录下,使用ln生成libmp4v2.so、libmp4v2.so.2)

ln -s libmp4v2.so.2.0.0 libmp4v2.so.2
ln -s libmp4v2.so.2.0.0 libmp4v2.so

9、在sample_venc.c加上头文件#include <../../include/mp4v2/mp4v2.h>

10、在main函数中,加入代码,目的是验证mp4v2是否移植和部署成功,代码如下:

    static MP4FileHandle hMP4File = NULL;
	if(hMP4File == NULL)
    {
		hMP4File = MP4CreateEx("test.mp4",0, 1, 1, 0, 0, 0, 0);	//文件存储路径
		if (hMP4File == MP4_INVALID_FILE_HANDLE)	
        {
			printf("open file fialed.\n");
			return -1;
		}
		MP4SetTimeScale(hMP4File, 90000);
	}
    MP4Close(hMP4File, 0);
    hMP4File = NULL;

11、修改venc下的Makefile

由原来的:

$(CC) $(CFLAGS) -lpthread -lm -o $@ $^ $(MPI_LIBS) $(AUDIO_LIBA) $(SENSOR_LIBS)

改为:

CURRENT=$(shell pwd)

$(CC) $(CFLAGS) -lpthread -lm -o $@ $^ $(MPI_LIBS) $(AUDIO_LIBA) $(SENSOR_LIBS) -lmp4v2 -lstdc++ -lm -L $(CURRENT)/../../lib

如果不修改Makefile,则会报找不到libmp4v2。

12、make编译,在开发板上执行编译好的文件,执行后会在该目录下生成一个test.mp4的文件。

13、用MP4 Reader打开test.mp4:

可以看到不完整的文件结构,但是这就算第一步成功了,接下来会将h264封装到mp4中。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值