在海思hi3518EV200上面实现HLS输出的方案和调试过程

    xiaoxiao2021-12-10  28

    技术方案1:srs + nginx + ffmpeg。全部安装到海思hi3518EV200板上。 经过一系列的编译过程,开始上板调试。 把lib拷贝进去,flash不够,只好用TF卡来存放。但居然有下面的问题: /mnt/mtd/ipc/tmpfs/sd/freeman/hisiv300/lib # ln -s libz.so.1.2.8 libz.so.1 ln: libz.so.1: Operation not permitted /mnt/mtd/ipc/tmpfs/sd/freeman/hisiv300/lib #  有root权限也不好使!SD卡mount来的目录,就是没有执行程序的权限。 这就意味着,用只有32M DDR的Hi3518E平台是不行的!至少得换成hi3516C平台,内存至少得128MB才行。flash至少要16MB才够。 方案2: 用ffmpeg在板上切片(*.ts),然后ftpput到server上面,由server生成.m3u8索引文件,这样就可以出HLS流了。 ffmpeg编译出来size是2.2MB,还好,裁剪了许多。 按5s一个ts片,一个ts片的size是334KB。存于TF卡一个record目录下面。TS文件名不重复,例如:hlsd.ts,可以存15年。 出来一个ts片就上传一个,如果网络故障,就保存于TF卡上,不会丢失。上传完成后就删除ts切片。 考虑掉电重启,需要记录下当前.ts的index。就象 [ts] index_head=355 //读出指针 index_tail=1020 //写入指针 上传用ftpput方式,需要配置ftp地址 先用配置文件方式来配置 [ftp] url=ftp://admin:12345678@192.168.3.1:10021/ipc003 [TFcard] remove_tsnum_when_full=720 上电后就自动启动此切片进程,如果TF卡录满了,就先删除前面一个小时的切片(3600/5=720个) 以便循环录像。
    转载请注明原文地址: https://ju.6miu.com/read-699998.html

    最新回复(0)