mpeg4 vol header文件格式分析

Java音频处理:JLayer库实现MP3解码与播放全解析 在Java生态中,音频处理是一个基础且广泛的应用领域,尤其在处理MP3这类有损压缩格式时,开发者常面临标准库支持不足的挑战。其核心原理在于将压缩的音频数据通过解码算法还原为PCM原始样本,再交由音频子系统渲染。JLayer作为纯Java实现的MPEG音频解码库,其技术价值在于提供了轻量、跨平台的解决方案,无需依赖本地库或JNI,显著降低了集成门槛。通过简洁的API,开发者能快速实现MP3文件的解码与播放,并深入控制音频数据流。在应用场景上,它适用于Swing、JavaFX等桌面应用的背景音乐、提示音集成,服 阅读详情

转自:http://blog.youkuaiyun.com/lius1984/archive/2009/06/04/4241856.aspx

最近在做一个3gp/mp4播放器, 用ffmpeg从3gp/mp4文件中demux出mpeg4的raw data,  无法直接用来解码,需要在第一帧之前加上vol header.   我照搬了ffmpeg的encode_vol_header的实现,很多文件(尤其是QVGA尺寸的文件)解码不了。

  最后得知,这个vol根本不用自己生成,只要把avctx->extradata里面的长度为avctx->extradata_size的数据copy到你的第一帧前面就可以了。
  虽然ffmpeg有现成的vol header,还是顺便总结一下mpeg4 sp的文件格式。参考文档 《mpeg-4-14496-2》6.2节。   用UE打开一个.m4v文件,开头44字节就是vol header. 比特流的句法如下:
  a) 全局配置信息,表征解码器准备解码的整个视频对象组  VisualObjectSequence()
  b) 对象配置信息,表征单个视频对象。VisualObject().
  c) 对象层配置信息, 表征一个视频对象的层 VideoObjectLayer().
  d) ES流数据,包含了整个视频对象层里的数据。

  相关代码在ffmpeg/libavcodec/h263.c的里mpeg4_encode_visual_object_header和mpeg4_encode_vol_header。有几个点需要注意。

  -先写vos和vo header, vos的起始码是0x1B0, vo的起始码是0x1B5
  -profile_and_level_indication的值,simple profile一般值为0x3
  - vol的开头是00 00 01 00 00 00 0120
  -vol_width和vol_height与图像尺寸一致,从=(*FormatCtx).streams[videoStream]->codec里可得。
  - 不到8位的需补零

顺便推荐一个mp4ui的软件,他可以从3GP和MP4文件中DUMP出音频和视频,很好用哦。 而且是开源的,对分析3GP格式很有帮助!

FFmpeg学习(10)—— ffmpeg最全的命令参数 查看帮助:ffmpeg-hfull Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... Getting help: -h -- print basic opti... 阅读详情

相关推荐

MPEG4 ASP标准语法语义和解码流程详解

### Date: 2017/3/19 ### Author: SoaringLee ###Content: MPEG4 ASP标准语法语义和解码流程详解

优快云明星博主,认证博客专家,视频、Matlab领域优质创作者。 2974

MPEG4 协议详解

本文将对 MPEG4标准中的Advanced Simple Profile(ASP)做一个完整的说明,我并不 打算只是对标准进行翻译,而是根据我当初读标准时遇到的问题,给出一个更容易理解的阅 读标准的途径。需要指出的是,虽然本文给出了标准中的绝大部分,但本文并不是一个标准, 而只是对标准的个人理解,遇到真正有疑问的地方,还是需要参考标准中的相应描述,毕竟 只有正式的标准才是最标准的。 我

knight 9497

专业级Elecard视频分析工具全功能解析与实战应用

Elecard提供了一套完整的视频码流分析解决方案,核心组件包括和。StreamEye专注于H.264/HEVC等编码层的深度解析,支持NAL单元可视化、宏块级解码分析;TSA则面向TS封装层,可自动解析PAT/PMT、检测PCR抖动与CC错误。广泛应用于广电监测、CDN流媒体质量评估及编解码器研发验证。

weixin_35414484的博客 1121

ffmpeg视频压缩踩坑总结

ffmpeg转码压缩视频时间长,并且需要设置COOP和COEP,影响到iframe,script标签等跨域资源加载。在用户上传视频场景下不适合使用ffmpeg。

yinshipin007的博客 739

truncate_header:从大文件中删除标题。-matlab开发

该程序通过使用大多数 *nix 发行版中的标准“wc”、“split”和“cat”实用程序从大型文本文件中删除标题。 对于非常大的文件,这比首先通过 while ~feof 循环查找文件大小然后一遍又一遍地使用 fgetl 快得多。

手把手教你用gmid方法设计二级运放:从理论到仿真全流程(附避坑指南)

本文详细介绍了使用gmid方法设计二级运放的全流程,从理论到仿真实践,特别针对初学者常见问题提供避坑指南。通过系统化的晶体管尺寸确定技术,帮助工程师在性能、功耗和面积之间找到最佳平衡点,适用于模拟集成电路设计中的关键模块开发。

weixin_29213525的博客 271

FFMPEG进阶系列02-ffmpeg命令详解1

文章目录帮助信息主要信息更多帮助信息AVCodecContext相关AAC encoder相关libmp3lame encoder 相关libx264相关更多资料,更多分享 帮助信息 主要信息 ffmpeg在做音视频编解码时非常方便,所以很多场景下转码使用的是ffmpeg,铜鼓通过ffmpeg -help命令操作可以看到ffmpeg常见的命令大概分为六部分: ffmpeg信息查询部分 公共做操参...

muyuyuzhong的专栏 1394

SuperPoint + LightGlue实战:低纹理墙面重建保姆级教程(附完整代码)

本文提供了一份针对低纹理墙面三维重建的实战教程。通过详细解析SuperPoint与LightGlue的核心参数调优,指导读者如何有效提取并匹配低纹理目标的特征点,并结合COLMAP完成从稀疏到稠密的重建流程,最终实现高精度建模。

weixin_29034963的博客 223

【ffmpeg】ffmpeg如何设置header信息亲测

从网上搜了一些文章,各式各样的都有,也不知道是不是有效,大部分都是设置ua或者其他某一项的,但是有时候有需要设置多项,这时候就区分不出来那个是正确的那个是错误的,整理下记录下来了,避免后期踩坑 我本地的ffmpeg ffmpeg version 3.3.2 Copyright (c) 2000-2017 the FFmpeg developers 正确写法 ffmpeg -user_agent "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10

点滴 7689

ANC降噪学习

概述 ANC,英文名称:Active Noise Control,主动降噪。其原理是降噪系统电路产生降噪MIC接收的外界环境噪音相等的反相信号,将噪声抵消。核心算法 ANC降噪实现核心算法为:FxLMS(最小均方差算法)。最小均方差算法以均方误差为代价函数,并使误差降到最小的算法。 具体算法推导这里不做具体介绍,这里直接列出表达式: ...

王小壮的博客 2万+

DMTF相关协议(一):Redfish和SMBIOS

Redfish 是一种管理标准,使用超媒体 RESTful 接口中的数据模型表示。该模型以标准的、机器可读的模式表示,消息的有效负载以 JSON 表示。该协议本身利用了 OData v4。由于它是一个超媒体 API,因此能够通过一致的接口表示各种实现。它具有管理数据中心资源、处理事件、长时间任务和发现的机制。

weixin_44032634的博客 2264

ffmpeg命令参数解释

显示参数命令  Java代码   ffmpeg -h full   得到:  Java代码   Hyper fast Audio and Video encoder   usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}..

u014702999的专栏 5833

Python自动化办公:5分钟搞定钉钉群文件自动发送(附完整代码)

本文详细介绍了如何利用Python实现钉钉群文件的自动化发送。通过结合钉钉企业内部应用与群机器人API,构建了包含智能令牌管理、文件上传与消息发送的完整工作流。文章提供了可直接复用的完整代码,并分享了定时任务、目录监听等进阶实战方案,帮助职场人士高效解决重复性文件发送难题,实现办公自动化。

7z8x2c4v6b9的博客 325

live555中关于mpeg4的处理

live555支持mpeg4的ES(Elemental Stream)流,相关类为MPEGVideoStreamFramer、MPEG4ESVideoRTPSink。我想扩展其对avi格式的支持,将avi中的MPEG4数据包解析出来后,交给MPEGVideoStreamFramer进行处理。后来发现,这样根本不行。问题在于,MPEGVideoStreamFramer处理的是严格的MPEG4 ES流

gavin的专栏 7261

一种基于频域滤波法消除干扰项与角谱法重构技术的数字全息显微台阶形貌测量实例分析

一种基于频域滤波法消除干扰项与角谱法重构技术的数字全息显微台阶形貌测量实例分析

简单光学 2034

单细胞实战之亚细胞分群从T/NK至CD4+T细胞——从入门到进阶(中级篇1)

亚细胞分群从T/NK至CD4+T细胞

zfyyzhys的博客 6389

Mp4编码全介绍

1) 什么是MP4?听闻它是一种“容器格式”,那是什么?容器格式允许你将不同种类的多媒体数据流(多为视频流和音频流)合并在一个单一的文件内。多媒体容器格式,就是我们熟知的AVI(.avi), MPEG(.mpg, .mpeg), Matroska(.mkv, .mka), OGM(.ogm), Quicktime(.mov),或Realmedia(.rm, .rmvb).     

在水一方 6496

芋道前后端分离项目跳过登录

在此页面中可以看到当在没有获取到token时,如果此页面在白名单中则直接进入,所以我们将刚刚配置在。在此路径下配置需要跳过登录的页面路径,记住path中编辑的名称。根据以上两图可以发现芋道的。将所有需要跳过登录的方法。,否则会提示登录状态过期。至此完成免登录进入页面。

FanZaiYo的博客 5486

mepg-4 的码流分析

最近做了MPEG-4编码的视频文件的分析,找资料的时候费了好大的劲,在这里分享自己的一些心得体会,也算对自己工作的一个总结吧。必须先推荐一个非常好用的码流分析工具:Elecard Stream Analyzer。分析结果可以在图片中看到。   第一步,先说说如何对获得MPEG-4编码的视频。我的方法是从纯视频格式(.yuv)利用软件ffmpeg经过MPEG-4编码得到.m4v文件,这个文件就是我

juckciy的专栏 2811

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

MPEG4码流格式分析

MPEG4码流格式分析 转载于:https://www.cnblogs.com/jingzhishen/p/5057881.html

weixin_30426957的博客 138

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

关于MPEG4 码流(mpeg4 raw data)的格式分析

MPEG4码流开头往往如下:            00 00 01 B0 F5 00 00 01 B5 09 00 00 01 00 00 00     01 20 08 86 84 00 3F 18 58 21 20 A3 1F 00 00 01     B2

暂时为空 8919

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: Android的IPC机制Binder的各个部分
下一篇: AVI文件格式-WAVEFORMATEX
jaylin2013
博客等级 码龄16年 12粉丝 15原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值