首页 > 系统相关 >linux环境C语言实现:h265与pcm封装成AVI格式

linux环境C语言实现:h265与pcm封装成AVI格式

时间:2023-04-20 19:45:51浏览次数:34  
标签:封装 h265 音频 C语言 AVI linux 格式 数据

前言

不知道是处于版权收费问题还是什么原因,H265现在也并没有非常广泛的被普及。将h265数据合成AVI的资料现在在网上也基本上没有。使用格式化工厂工具将h265数据封装成AVI格式,发现它在封装的时候其实是对数据进行了一个装换,转成了FMP4格式。

正文

因为是在嵌入式设备中使用,所以没有测试是否可以直接FFMPEG进行数据封装。这里介绍的是直接使用C语言封装AVI格式。

在AVI数据封装中,基本上与h264数据的封装一模一样,唯一不同的是AVI头文件fccHandler和compression的参数。

h264的数据该参数直接就是h264,但是在h265数据中,这里不是h265,也不是hevc,而是hev1。如果使用h265或是hevc,在vlc播放器上可以播放,但是在主流的暴风迅雷这些播放器上就播不了了。 音频和其它的参数都不需要改动。

在VLC中播放中查看编码参数如下:

注意点

如果只封装H265数据,没有音频数据,在迅雷和暴风的播放比较的抽风,AVI头文件中不能包含音频参数,否则迅雷播不了,暴风播放经常启动异常,界面会卡顿很久,不知道具体是什么原因。如果同时封装音频和视频则没有遇到类似的问题。

---------------------------End---------------------------

长按识别二维码
关注 liwen01 公众号

标签:封装,h265,音频,C语言,AVI,linux,格式,数据
From: https://www.cnblogs.com/liwen01/p/17338010.html

相关文章

  • linux设备树-设备树常用OF操作函数
    ----------------------------------------------------------------------------------------------------------------------------内核版本:linux5.2.8根文件系统:busybox1.25.0u-boot:2016.05-------------------------------------------------------------------------------......
  • Linux设备节点创建方式的演变历史
    引子  遵从"Everythingisafile"的思想,在Linux下想要操作设备的话,是需要通过一类叫做设备节点(devicenode)的特殊文件。设备节点通常位于/dev这个目录下,但是位于其它目录也是可以的。只要翻开一本介绍Linux驱动的书,或者在网上搜索相关的文章,很大概率上会教你在写好驱动代码后......
  • Linux入门二
    目录一、磁盘管理二、文件挂载1.挂载方法2.挂载示例(1)挂载光盘镜像文件(2)挂载移动硬盘(3)挂载U盘(4)挂载Windows文件共享(5)挂载UNIX系统NFS文件共享(6)补充3.卸载已挂载的设备三、软硬链接四、nfs服务1.什么是NFS2.服务端配置NFS(1)配置(2)共享目录的权限(3)启动nfs服务3.客户端挂载NFS五、......
  • 4/20 C语言判断字符串是否为回文,字符串中可以包含中文和英文
    //已知中文字符占用两个字节#include<stdio.h>#include<string.h>booljudge(char*a,int&i,int&k);intmain(){inti,k;chara[100];while(scanf("%s",a)!=EOF){i=0;k=strlen(a)-1;while......
  • linux 新建服务器基线
    linux新建服务器基线yum-yinstallntpvimnet-toolslsofnctelnetbind-utilspython3python3-develpython3-setuptoolspython3-pippython3-rpm-generatorspython3-libspython3-rpm-macroswgetNTP时钟服务器centos/etc/ntp.conf#注释driftfile/var/lib/ntp/dri......
  • linux下查看服务器的型号
    评:如何看到服务器的型号呢?#dmidecode|grep"Product"ProductName:IBMSystemx3650-[7979R01]-ProductName:SystemPlanarProductName:PowerSuppyBackplaneProductName:PCI-ExpressRiserCard,Slots1&2solaris可以直接用uname-a就能看到服......
  • linux IPtable防火墙 禁止和开放端口
    评:1、关闭所有的INPUTFORWARDOUTPUT只对某些端口开放。下面是命令实现:iptables-PINPUTDROPiptables-PFORWARDDROPiptables-POUTPUTDROP再用命令iptables-L-n查看是否设置好,好看到全部DROP了这样的设置好了,我们只是临时的,重启服务器还是会恢复......
  • linux下安装mysql
    1、查看是否已经安装Mysqlrpm-qa|grepmysql2、上传mysql的安装包到linux下,(.tar.gz版本的)3、解压安装包tar-zxvfmysql-5.7.35-linux-glibc2.12-x86_64.tar.gz4、先检查是否有mysql用户组和mysql用户,没有就添加有就忽略:检查是否有mysql用户组:groupsmysql添加......
  • linux架构day04:ssh远程管理服务实践
    ssh远程管理服务实践linuxssh端口:22加密传输数据支持root用户telnet端口:23明文传输数据不支持root用户windowsrdp端口:3389remotedesttopprotoclssh基本概述SSH是一个安全协议,在进行数据传输时,会对数据包进行加密处理,加密后在进行数据传输。确......
  • C/C++《程序设计基础(C语言)课程设计》[2023-04-20]
    C/C++《程序设计基础(C语言)课程设计》[2023-04-20]《程序设计基础(C语言)课程设计》课程说明及动员《程序设计基础(C语言)课程设计》指导教师组目录课程目的>>课程要求>>团队题目>>实施方案>>课程设计报告>>考核与成绩评定方法>>本学期实施安排>>其他说明课程目的......