h264 判断类型 格式转换

目录

怎么判断是h264裸流

使用 FFmpeg 和 Hex 查看器

h264转Mp4

mp4转为h264裸流 ffmpeg

hi3559 编译x264


怎么判断是h264裸流

使用 FFmpeg 和 Hex 查看器

FFmpeg 输出示例:

$ ffmpeg -i input.264

如果是 H.264 裸流,可能看到类似这样的输出:

Input #0, h264, from 'input.264': Duration: N/A, bitrate: N/A Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1200k tbn, 50 tbc

使用 Hex 编辑器: 打开文件,查看开头是否有 00 00 0100 00 00 01

h264转Mp4

ffmpeg -i input.h264 output.mp4

ffmpeg -i out.264 -c:v copy output.mp4
 

mp4转为h264裸流 ffmpeg

ffmpeg -i taiowu.mp4 -vcodec copy -an -bsf:v h264_mp4toannexb output.264

HI_HDL Hi264DecCreate(H264_DEC_ATTR_S *pDecAttr)

hi3559 编译x264

Hi264DecFrame(handle,buf,len,0,&dec_frame,flags),这个有部分源码:

https://github.com/51w/IPC/blob/eafb98fb8779c35c8d0a457dc6095733d9ca88cf/RTCP/VS_DEC/H264/main.cpp

海思Hi3559A编译x264_hi3559av100 移植ffmpeg-CSDN博客

1、交叉编译工具

aarch64-himix100-linux-gcc

2、下载x264源码

 # git clone git://git.videolan.org/x264.git

3、编译 

配置选项  ./configure --enable-pthread --enable-static --disable-shared --host=arm-linux --disable-asm
修改config.mak
                      添加一个新变量名HITOOLS,正常编译为空即可直接使用gcc

          HITOOLS=aarch64-himix100-linux-
                      CC=${HITOOLS}gcc
                      LD=${HITOOLS}gcc -o 
                      AR=${HITOOLS}ar rc 
                      RANLIB=${HITOOLS}ranlib
                      STRIP=${HITOOLS}strip

make;make install 
4、编译问题:

编译找不到:X264_VERSION
       解决方法:由于该定义没有在x264_config.h中,可以使用脚本version.sh >>x264_config.h即可。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值