我有问题。 最近我需要为录制的视频添加自定义标签。设备上的本地视频不是流式视频。任务是在视频中添加一些特定于事件的标签,其位置可以通过向前/向后按像任何播放器中的按钮来设置。AVMutableMetadataItem的读取时间和持续时间无效
电影文件是mov文件还是mp4格式并不重要。 我在论坛上搜索,发现了几个样本如何使用AVExportSession &它的工作增加元数据。 虽然,当我尝试使用AVAssetWriter
添加元数据时。我无法将属性附加到视频。
我不明白的是,添加属性后,返回(时间&持续时间)属性总是无效的。
例如,假设我有一段持续时间为2秒的视频。 我试过不同的钥匙空间。我无法从ID3空间写入密钥。
IS ID3用于流式视频吗? (据我了解.mp3的ID3元数据)。因此,我无法将其写入MPEG-4文件
我也用QuickTimeUserData
& ISOUserData
但结果是一样的。 下面是一个例子
AVMutableMetadataItem *item2 = [AVMutableMetadataItem new];
item2.keySpace = AVMetadataKeySpaceiTunes;
item2.key = AVMetadataiTunesMetadataKeyUserComment;
item2.value = @"One two three";
item2.duration =CMTimeMakeWithSeconds(1, 1);
item2.time = CMTimeMakeWithSeconds(0, 1);
读我得到了以下后:
AVMutableMetadataItem: 0xa4301f0, keySpace=itsk, key=\U00a9cmt, commonKey=(null), locale= (null), value=One two three, time={INVALID}, duration={INVALID}, extras={\n dataType = 1;\n}
我想用时间&时间属性的元数据,而不是写自定义数据和后处理它。
理想情况下,追加时间= t1,持续时间= d1,...(tn,dn)的项目数组会很棒。
有谁知道如何做到这一点?