关于MPEG-4的Comment读取

B站缓存视频合并教程:使用FFmpeg无损合并.m4s分片文件 在流媒体技术中,自适应码率传输(如HLS、MPEG-DASH)通过将视频分割成小片段(如.m4s文件)来优化播放体验,实现根据网络状况动态切换清晰度。其核心原理涉及音视频流的分离与分片缓存,这虽然提升了在线观看的流畅性,但也导致了缓存文件无法直接播放的技术痛点。掌握音视频流的处理与封装技术,对于数字内容备份、离线剪辑和多媒体文件管理具有重要价值。通过使用FFmpeg等专业工具进行流复制(-c copy)和封装(Remux),可以高效无损地将分片视频与音频流合并为标准MP4格式。本文以B站缓存文件为例,详细解 阅读详情

http://hi.baidu.com/yinhz/blog/item/76a1870a5564f534b1351d82.html

Atomicparsley.关于MPEG-4的Comment读取
文章来源 http://atomicparsley.sourceforge.net/mpeg-4files.html

Atoms, Boxes, Parents, Children & hex

一个MPEG-4文件由分开的、被称为atoms的单元组成(在第一版时这样叫,现在我们更倾向于称之为box)。一个atom有如下格式

任何超过基本的8字节的都被视为可选并且从它处于的位置继承下来(moov.udta.meta.XXXX atoms的格式由Quicktime定义),或者由它们的atom自己定义。ftyp atom总是第一个出现,它有一个确定的格式-它可以指定文件类型和atom结构的版本。

在上面的例子中,moov atom的长度为0x00001d38即7480字节。在后面是另一个atom,mvhd atom的长度为0x0000006c即108字节。因为108小于7480,所以mvhd atom是moov 原子的子atom。MPEG-4特别说明任何一个atom要么是一个父atom,要么后面附带信息,但不能两者都成立。

atom的长度等于它自身的长度加上后面子atom。例如,moov 的长度等于 mvhd的长度加上其它的跟它在同一级的atoms长度(图上没有出现),但mvhd的子atom不计算在内,因为mvhd的长度已经包含进来了。一个atom的和等于

4字节的 atom length
4字节的 atom name
???字节的可选数据。

因此,一个atom的最小长度为8字节

当moov.trak.mdia.minf.stbl.stsd可以即是一个父atom,又可以附加数据。苹果版权管理实现也有很多这种情况。moov.udta.meta因为历史原因也出现这种情况。但是,MPEG-4文件还是相对容易理解。

MPEG-4最重要的atom是mdat-文件真正的原始信息就储存在里,这个顶级atom占用大MPEG-4文件的大部份。不过,moov atom也提供了一些有用的信息。

uuid atom是公用自定义的atom,它与普通的atom类似,但它的name长度为8字节(4字节给uuid,另外4字节给uuid的名字)。索尼的PSP mp4文件显著地使用了uuid atoms。AtomicParsley 支持读取和写入uuid atoms。

stco 和 mdat

当一个新的atom加入时,继承树将要改变,atom的长度也要重新计算。如果mdat atom在文件靠前的位置,那么还有更多的地方要变动。有一些空白atom可以减少这种影响。

mdat由‘chunks’组成-这些chunks给出了相对文件位置信息,并告诉播放器媒体流在那个位置。这些信息储存在moov.trak.mdia.minf.stbl.stco。如下例如示

已知的iTunes元数据atoms

iTunes使用的元数据在moov.udta.meta.ilst下面。在ilst下面就直接指定了名字,但它不直接携带信息。子atom自己有附加对应的信息。4字节的代码如下表所示。

4char code

Name

Class/Flag

Appearance

©alb

Album

1

text

iTunes 4.0

©art

Artist

1

text

iTunes 4.0

aART

Album Artist

1

text

??

©cmt

Comment

1

text

iTunes 4.0

©day

Year

1

text

iTunes 4.0

©nam

Title

1

text

iTunes 4.0

©gen | gnre

Genre

1 | 0 1

text | uint8

iTunes 4.0

trkn

Track number

0

uint8

iTunes 4.0

disk

Disk number

0

uint8

iTunes 4.0

©wrt

Composer

1

text

iTunes 4.0

©too

Encoder

1

text

iTunes 4.0

tmpo

BPM

21

uint8

iTunes 4.0

cprt

Copyright

1

text

? iTunes 4.0

cpil

Compilation

21

uint8

iTunes 4.0

covr

Artwork

13 | 14 2

jpeg | png

iTunes 4.0

rtng

Rating/Advisory

21

uint8

iTunes 4.0

©grp

Grouping

1

text

iTunes 4.2

stik

?? (stik)

21

uint8

??

pcst

Podcast

21

uint8

iTunes 4.9

catg

Category

1

text

iTunes 4.9

keyw

Keyword

1

text

iTunes 4.9

purl

Podcast URL

21 | 0 4

uint8

iTunes 4.9

egid

Episode Global Unique ID

21 | 0 4

uint8

iTunes 4.9

desc

Description

1

text

iTunes 5.0

©lyr

Lyrics

1 3

text

iTunes 5.0

tvnn

TV Network Name

1

text

iTunes 6.0

tvsh

TV Show Name

1

text

iTunes 6.0

tven

TV Episode Number

1

text

iTunes 6.0

tvsn

TV Season

21

uint8

iTunes 6.0

tves

TV Episode

21

uint8

iTunes 6.0

purd

Purchase Date

1

text

iTunes 6.0.2

pgap

Gapless Playback

21

uin8

iTunes 7.0


1 Genre comes on 2 atoms - standard genres are on gnre; custom genres are on ©gen; only 1 is permitted at a time.
2 Coverart is the only atom that permits more than 1 data child atom. If there is a limit, its > 16.
3 Lyrics is the only text atom that doesnt't fall under a 255byte limit.
4 Apple changed from the original 21 to the current 0 around the release of iTunes 6.0.3
文本元数据长度限制在255字节,UTF-8编码,没有BOM,没有null结尾。

无符号长整形为8bit宽(比如tracknum限制在255)。大部分是atom把指定的格式(cpil 先有4字节的空,再是数据)。Viny1中的‘A1’指Apple.

Tagging implementations

The only style of metadata defined in the ISO Base Media File Format is what amounts to a single atomcprt - and the format described is in the 3gp asset style. In fact, the ISO copyright notice is identical to the 3gp copyright asset. This copyright notice is the only common tag available to all mpeg-4 files and derivatives.

The major brands that iTunes writes are listed at http://www.mp4ra.org/filetype.html, but iTunes-style metadata isn't defined in any publicly available document - its format is determined by the types of files that iTunes & the iTunes Music Store produce & provide. Since the goal of AtomicParsley is to set metadata is be maximally compatible with iTunes, the iTunes-style format of metadata is fully supported.

The 3GPP assets are family of metadata tags that the 3gp specification allows. These atoms differ in a number of ways from the more common iTunes style. There is nodata atom; information is carried directly on the atom. Most 3gp assets have a language setting - so dozens of a like named atom are permitted that differ in the language used (around 480 languages).

A new style of metadata emerged with the foobar2000 0.9.x series. For whatever reason, this style typically duplicates the iTunes-style metadata. There is a double artwork tag, the artist is listed twice - it is heavy with redundancy. It is also non-compliant. A generic tool isn't allowed to create their own atoms - a mechanism exists to extend for supplemental functionality - the uuid atom form. foobar2000 doesn't use this mechanism. Nero has also adopted this tagging style with their freeware tagging tools. It seems to also write some tags in the reverse DNS form in the com.apple.iTunes domain.

The newest style of tagging was recently added at the MPEG4 Registration Authority. Currently, there is no known tool that can read or set this style of metadata.

http://blog.youkuaiyun.com/zzulp/article/details/7031193

http://hi.baidu.com/ccqi0000/blog



AtomicParsley Atomic Parsley remove itunes metadata 立即下载

相关推荐

pytomicgui:AtomicParsley的基于Python的GUI-开源

使用Glade为AtomicParsley提供GUI的Python脚本

音视频的文件封装——AVI、MP4、MKV

盒子本身并不包含媒体数据(即音频或视频数据),而是包含了一些描述性的信息,帮助播放器或解码器理解如何正确处理和播放这个轨道的数据。盒子代表了一个特定的媒体轨道(如视频、音频或字幕轨道)的描述,它为该轨道提供了所有必要的元数据,以便正确地播放该媒体流。包含了整个视频文件的元数据,包括视频和音频的编码信息、时间信息、以及其他与媒体播放相关的详细信息。这是文件的主品牌,表示该文件的标准或文件格式的主要版本。文件中的数据分为两个部分,第一个部分包含与媒体相关的数据,第二个部分包含元数据。能够被它们正确解析和播放。

weixin_45257157的博客 2056

nuclearparsley:通用的低级原子编辑器。 基本上它是 AtomicParsley 的低级版本

核香菜 该程序将提供一种读取和写入现代媒体文件中的原子的方法。 功能部分与 Atomic Parsley 相同。 核欧芹和原子欧芹的区别是核欧芹会更厉害; 在 Atomic Parsley 中,iTunes 是一等公民。 这意味着在 Atomic Parsley 中,大多数操作都是也可以使用 iTunes 完成的操作。 核欧芹将提供一种更底层的方法来编辑原子。 从逻辑上讲,这意味着 iTunes 支持和非 iTunes 支持的原子都可以读写。 该程序目前正在从头开始构建,这意味着此时的功能几乎为零。

QuickTime电影(Movie)文件格式

QuickTime电影(Movie)文件格式 作者: darx   发表日期: 2005-12-23 15:01   <a title="http://darx.phpwind.net/blog/htm/do_showone/tid_5636.html" onclick="function anonymous(){function anonymous(){function an

Orange 1791

atomicparsley:AtomicParsley是一种轻量级命令行程序,用于读取,解析和设置元数据到MPEG-4文件中,尤其是iTunes风格的元数据

原子欧芹 AtomicParsley是一个轻量级的命令行程序,用于读取,解析和设置元数据到MPEG-4文件中,尤其是iTunes样式的元数据。 安装 苹果系统 导航到 下载AtomicParsleyMacOS.zip文件并解压缩AtomicParsley 视窗 导航到 下载AtomicParsleyWindows.zip文件并解压缩AtomicParsley.exe Linux(x86-64) 导航到 下载AtomicParsleyLinux.zip文件并解压缩AtomicParsley 高山Linux(x86-64 Musl libc) 导航到 下载AtomicParsleyAlpine.zip文件并解压缩AtomicParsley 最后apk add libstdc++ 从源头建造 如果您是从源代码构建的,则需要cmake和make 。 在Windows系统上,您将需要Visu

电机控制易混知识点1-基波频率/载波频率/采样频率

在电机控制学习工作中会接触到很多专业名词,其中基波频率,载波频率,采样频率是最常接触到的,特别对于电机控制小白开说,不容易理解,现对这几个概念做下总结归纳。

新能源电机控制工程师 | 聚焦实战问题,搭建互助平台 分享电机控制代码调试、现场故障排查、算法优化中的真实困惑;开放讨论电机基础知识以及工作中遇到难点等共性难题。拒绝单向输出,只做工程师的“技术树洞”与“解忧杂货铺”! 2191

【亲测免费】 AtomicParsley - 高级的MP4元数据处理工具

AtomicParsley 是一个开源、跨平台的命令行工具,用于读取、修改和添加 MP4 文件的元数据,包括标题、艺术家、专辑封面等信息。通过简单易懂的命令,您可以在各种操作系统上轻松地实现对 MP4 文件的高级操作。 ## 项目简介 是由 Wez Furlong 创建的一个轻量级但功能强大的工具,旨在为程序员和普通用户提供对 MP4 元数据的强大控制能力。该项目采用 C++ 编写,并以 M

gitblog_00079的博客 1374

AI量化交易工作台Vibe-Trading:用自然语言驱动策略回测与多智能体研究

量化交易通过数学模型和计算机程序执行投资决策,其核心在于将市场规律转化为可验证的策略。传统量化开发涉及数据获取、策略编写、回测验证等复杂工程,对非编程背景的从业者构成较高门槛。随着大语言模型技术的发展,自然语言交互正成为降低技术使用难度的关键。Vibe-Trading项目正是这一趋势的实践,它将金融工程任务封装为可调用的工具与技能,允许用户通过自然语言指令直接驱动策略回测、因子研究和投资组合分析。其技术价值在于构建了一个模块化的AI Agent框架,通过ReAct推理框架协调多个专项技能,并创新性地引入多智

weixin_28695161的博客 1566

AtomicParsley:元数据编辑器的深度指南

AtomicParsley 是一个轻量级的命令行工具,专注于处理和编辑基于 iTunes 风格的元数据(.mp4 和 .m4a 文件)。这个开源项目允许开发者或媒体工作者细致入微地控制音频和视频文件中的元数据,包括封面图片、歌曲信息、专辑详情等。它实现了iTunes Atom格式标准,使得在不改变媒体文件内容的情况下修改其标签成为可能。 [GitHub仓库](https://github.com

gitblog_01192的博客 1338

【DRAM存储器五十四】LPDDR5介绍--PHY简介和LPDDR5训练流程

简述LPDDR5 PHY的基本功能和训练流程简介

highman110的博客 907

Xilinx_JESD204B

Xilinx_JESD204B_AXI配置 说明:通过FPGA的高速数据接口JESD204B对AD9625进行高速采集。 环境:Vivado2018.3。 IP核:JESD204(7.2)。 参考手册:pg066_jesd204 v7.2。 资料以及IP_licence:JESD204B AXI协议资料:AXI 文章目录JESD204B概述JESD204B接口术语JESD204B 层JESD204B_AXI介绍AXI介绍JESD204B__AXI_Lite接口AXI-Lite接口介绍AXI-Lite接口信号

Crazzy_M的博客 1万+

Android视频开发基础(五)

       今天这篇文章我们来讲点实用的内容。我们在进行需求开发的同时,有时候也需要去排查一些问题,今天就来讲讲我们可以借助哪些工具来分析和处理视频文件。由于本人使用的是mac,讲解均以mac为例。        今天主要讲解的几个工具是ffmpeg、ffprobe、qt-faststart和AtomicParsley。   ffmpeg        ffmpeg是一套用来记录、转换音...

viclee 2600

uniapp:在map地图组件上添加控件,在地图上添加浮层展示自定义按钮或元素,uniApp如何在Map组件地图上添加悬浮在上面的图标/图片(全平台兼容安卓苹果app、H5网页、微信小程序、nvue)

uni-app的map添加控件问题,uniapp实现地图展示控件,uniapp小程序如何在map组件上增加按钮,uni-app,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,Uniapp腾讯地图添加控件,uniapp百度地图添加控件,地图上展示控件并可以点击,在地图上展示控件信息,uniapp map地图怎么向地图上增加工具栏,使用cover-view将控件在地图上展示,解决uniapp map上添加浮层无法显示问题,不显示怎么办,css样式不生效,地图等最高层

✅ 精选推荐文章 3230

OpenBot 桌面端 Windows 代码签名实战:用 Azure Key Vault 与 GitHub OIDC 为 Tauri 应用接入 Authenticode

本文以仓库内的 Tauri 签名实践文档为骨架,讲清楚一件容易被混淆的事:在 OpenBot 的桌面发布链路里,**哪一种签名由哪一把密钥、哪一个工具、哪一种访问权限完成**。读完后你应该能独立完成三件事:把 `signCommand` 接到 Key Vault 里的不可导出证书、用 GitHub OIDC 免密换取 Key Vault 访问令牌、以及在发布前用可复核的证据证明 `.exe` 与

gitblog_01112的博客 574

VTK在QT与非QT环境下使用的区别

VTK可以在QT框架内使用,也可以独立于QT使用,这两种使用方式在架构、交互和渲染方面有显著差异。

深之JohnChen的专栏 628

Java代码实现opc ua 事件订阅和数据变化订阅

OPC UA (Open Platform Communications Unified Architecture) 提供了两种主要的订阅机制:数据变化订阅(Data Change Subscription)和事件订阅(Event Subscription)。这两种订阅机制允许客户端实时接收来自服务器的数据更新或事件通知。

洛阳泰山的博客 2367

深入解析m4s-converter:基于GPAC的无损B站缓存视频转换方案与技术实现

在数字内容管理日益重要的今天,m4s-converter作为一个开源技术解决方案,专注于解决哔哩哔哩平台缓存视频的格式兼容性问题。通过基于GPAC MP4Box的无损封装技术,该项目实现了从专有m4s格式到通用MP4格式的高效转换,为技术开发者和高级用户提供了强大的数字资产管理工具。 ## 技术挑战与解决方案定位 ### 流媒体格式的技术演进与用户痛点 现代流媒体平台普遍采用基于MPEG-D

gitblog_00269的博客 398

AgentScope 2.0 源码解析-工具系统解读:从内置工具到权限管控的完整实践

本文深入解析AgentScope 2.0工具系统的完整架构,覆盖内置工具集(文件读写、命令执行、搜索匹配)、MCP协议集成(STDIO/HTTP双传输、客户端封装、工作空间网关)、工具包管理与动态分组、权限引擎的多级决策机制(危险路径保护、只读识别、模式控制),以及自定义工具开发流程。通过分层架构图和时序图直观展示组件协作关系,结合安全最佳实践与故障排除指南,为开发者提供从工具使用到安全管控的全链路参考。

program哲学 567

音频格式解码之MP3

标识符 -|- 歌曲标题 -|- 艺术家 -|- 专辑 -|- 发行年份 -|- 注释 -|- 流派3字节 -|- 30字节 -|- 30字节 -|- 30字节 -|- 4字节 -|- 30字节 -|- 1字节占用字节字段名称详细约束规则3标识符 Tag固定TAG,判断是否存在 ID3v1 的唯一标识30歌曲标题 TitleASCII 字符,最多 30 个字符;不足 30 位用\0(0x00)填充,读取时截断空字符30艺术家 Artist。

qazwsxwtc的专栏 641

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

3 分钟 Folia 完整上手指南:把手机变成全屏歌词动画播放器

地铁到站,你想让歌词铺满整块手机屏——但在应用商店里翻一圈,找不到能像文字 PV 一样播歌词的播放器。Folia 是一个免费开源的**全屏沉浸式歌词动画播放器**,支持网易云、QQ 音乐、酷狗在线播放,也接得住你自己的 Navidrome 曲库。读完这篇,你会用它以 PWA(装进主屏幕就像 App 的网页)的形式在手机主屏幕拥有自己的全屏歌词播放器:服务部署约 3 分钟,主屏幕安装约 1 分钟,全

gitblog_00025的博客 142

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Pillow 图像文件格式完全指南:30+ 格式的读取、写入与参数详解

本指南以 Pillow 官方文档《Image file formats》为骨架,系统讲解 Python Imaging Library(Pillow)所支持的全部栅格图像格式——从日常开发最常用的 JPEG、PNG、GIF、WebP、TIFF,到游戏与专业领域的 DDS、BLP、SPIDER,再到只读、只写与仅识别格式。你将掌握 `Image.open` 与 `Image.save` 的格式识别机

gitblog_00207的博客 793

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

MediaInfoLib核心功能揭秘:从技术参数到标签数据的全方位解析

想要深入了解音视频文件的技术细节吗?MediaInfoLib是你的终极解决方案!这个强大的开源库提供了音视频文件分析和元数据提取的完整功能,帮助开发者和用户轻松获取媒体文件的技术参数和标签数据。无论你是多媒体开发者、内容创作者还是普通用户,MediaInfoLib都能为你提供专业级的媒体文件分析能力。 ## 📊 MediaInfoLib是什么?为什么选择它? **MediaInfoLib**

gitblog_00791的博客 638

ID3标签技术解析:从MP3元数据到智能音乐系统的工程实践

在数字音频处理领域,元数据是连接原始音频文件与上层应用的关键桥梁。其核心原理是通过在音频文件中嵌入结构化信息,将二进制数据转化为机器可读的语义内容。这项技术的工程价值在于实现了音频内容的智能识别、分类与检索,为现代音乐播放系统提供了数据基础。从应用场景看,无论是智能音箱的语音点歌、车载娱乐系统的播放列表生成,还是个人音乐库的管理,都依赖于准确、规范的元数据支持。ID3标签作为MP3文件的事实标准,经历了从ID3v1固定结构到ID3v2灵活框架的技术演进,其核心架构支持多语言编码和扩展帧,解决了早期版本的信息

weixin_30550081的博客 406

LIVE555简介及在Windows上通过VS2013编译操作步骤

LIVE555是使用开放标准协议(RTP/RTCP, RTSP, SIP)形成的一组用于多媒体流C++库。这些库支持的平台包括Unix(包括Linux和Mac OS X)、Windows和QNX(以及其它符号POSIX的系统)。这些库已经被用于实现的应用例如LIVE555媒体服务器、LIVE555代理服务器(RTSP服务器应用)以及vobStreamer(使用RTP/RTCP/RTSP传输DVD内...

网络资源是无限的 1347

基于SSM框架与协同过滤算法构建个性化音乐推荐系统

个性化推荐系统是现代Web应用提升用户体验的核心技术之一,其基础原理是通过分析用户历史行为数据,挖掘用户偏好与物品特征之间的关联。协同过滤作为经典的推荐算法,通过计算用户或物品之间的相似度,实现“物以类聚,人以群分”的推荐逻辑,其技术价值在于能够有效解决信息过载问题,提升用户粘性与平台商业价值。在Java Web开发领域,SSM(Spring、Spring MVC、MyBatis)框架集凭借其清晰的层次结构与高效的开发模式,成为构建此类数据驱动型应用的主流技术选型。它将Spring的依赖注入与事务管理、Sp

weixin_34413802的博客 337

SFBAudioEngine是什么?macOS/iOS/tvOS音频开发的全能引擎完整指南(解码、播放、编码、转换、元数据5大能力)

SFBAudioEngine 是一个面向 macOS、iOS 和 tvOS 的开源音频开发引擎,被官方称为"音频功能的强者"(a powerhouse of audio functionality)。无论你是想为 App 加入本地音乐播放、实现音频格式转换,还是批量编辑歌曲元数据,这个 Swift/Objective-C 双语言支持的全能引擎都能用极简代码帮你搞定。本文将用一份完整指南,带你了解它

gitblog_00384的博客 1135
上一篇: Android之UID and PID
下一篇: H264和MPEG4起始码(startcode)
eustoma
博客等级 码龄18年 79粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值