谁能告诉我元数据以常见的视频文件格式存储在哪里?如果它位于文件的开头,或分散在整个文件中.
我正在使用包含大量视频文件的远程对象存储,我想从这些文件中提取元数据,特别是视频持续时间和视频尺寸,而不将整个文件内容流式传输到本地计算机.
我希望这些元数据将存储在文件的前X个字节中,因此我可以从头开始而不是整个文件获取字节范围,将此部分文件数据传递给ffprobe.
出于测试目的,我创建了一个22MB的MP4文件,并使用以下命令仅向ffprobe提供前1MB的数据:
head -c1024K '2013-07-04 12.20.07.mp4' | ffprobe -
Run Code Online (Sandbox Code Playgroud)
它打印:
avprobe version 0.8.6-4:0.8.6-0ubuntu0.12.04.1, Copyright (c) 2007-2013 the Libav developers
built on Apr 2 2013 17:02:36 with gcc 4.6.3
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x1a6b7a0] stream 0, offset 0x10beab: partial file
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'pipe:':
Metadata:
major_brand : isom
minor_version : 0
compatible_brands: isom3gp4
creation_time : 1947-07-04 11:20:07
Duration: 00:00:09.84, start: 0.000000, bitrate: N/A
Stream #0.0(eng): Video: h264 (High), yuv420p, 1920x1080, 20028 kb/s, PAR 65536:65536 DAR 16:9, 29.99 fps, …Run Code Online (Sandbox Code Playgroud) 我在Objective-C中的NSString对象中有一个XML文档.
XML是从Web服务获取的,它没有任何格式,换行符或缩进.
任何人都可以告诉我最简单的方法来生成一个新的NSString对象,它具有良好的XML格式,每个元素都在一个新的行上有适当的缩进等?