我有一个由手机信使应用程序发送的.MOV视频。我可以检索文件和作者的真实创作数据吗?我试着用ffprobe,mediainfo和类似的工具,但只给我下载它的日期。获取MOV视频的元数据
回答
我写了一个快速的Python脚本,可以获取创建和修改时间戳,因为这些脚本很容易找到。寻找作者有点困难,因为它可以以几种不同的方式存储。示例用法:
$ ./mov-timestamps.py file.mov
creation date: 2013-03-29 16:14:01
modification date: 2013-03-29 16:14:13
有时您可能会看到日期为1/1/1904。这意味着时间戳为0.如果您看到1/1/1970的日期,则该文件可能由FFmpeg生成,由于安全原因,该文件不存储此元数据。
#!/usr/bin/python
import datetime
import struct
import sys
ATOM_HEADER_SIZE = 8
# difference between Unix epoch and QuickTime epoch, in seconds
EPOCH_ADJUSTER = 2082844800
if len(sys.argv) < 2:
print "USAGE: mov-length.py <file.mov>"
sys.exit(1)
# open file and search for moov item
f = open(sys.argv[1], "rb")
while 1:
atom_header = f.read(ATOM_HEADER_SIZE)
if atom_header[4:8] == 'moov':
break
else:
atom_size = struct.unpack(">I", atom_header[0:4])[0]
f.seek(atom_size - 8, 1)
# found 'moov', look for 'mvhd' and timestamps
atom_header = f.read(ATOM_HEADER_SIZE)
if atom_header[4:8] == 'cmov':
print "moov atom is compressed"
elif atom_header[4:8] != 'mvhd':
print "expected to find 'mvhd' header"
else:
f.seek(4, 1)
creation_date = struct.unpack(">I", f.read(4))[0]
modification_date = struct.unpack(">I", f.read(4))[0]
print "creation date:",
print datetime.datetime.utcfromtimestamp(creation_date - EPOCH_ADJUSTER)
print "modification date:",
print datetime.datetime.utcfromtimestamp(modification_date - EPOCH_ADJUSTER)
感谢您的脚本。我运行它,但它给了我在PC上下载它的日期。所以我认为元数据已被覆盖。 –
如果你是游戏,你可以扩展脚本,使其深入文件并找到trak原子的创建/修改时间。 –
我不知道该怎么做。你可以链接我一些东西(教程,指南)? –
- 1. 获取示例视频.MOV文件
- 2. youtube获取视频的元数据
- 3. 如何从mp4,wmv,flv,mov视频获取视频时长
- 4. 获取视频元数据信息
- 5. 从Youtube视频获取视频元数据
- 6. 使用carrierwave视频获取视频元数据
- 7. ALAssets获取视频数据
- 8. .mov的HTML5视频标签
- 9. 防止下载.mov视频
- 10. 使用php或avconv获取.mov视频旋转
- 11. 如何从视频(mov)获取帧样本(jpeg)
- 12. 从视频url预取元数据
- 13. 获取调整视频大小的元数据信息
- 14. 如何获取视频元数据的标题
- 15. 获取有关视频文件的一些元数据
- 16. 如何获取私有vimeo视频的元数据?
- 17. 从Dailymotion获取视频数据
- 18. 从YouTube即时获取视频数据
- 19. iOS:获取实时(ish)视频数据
- 20. 从S3获取视频文件元数据
- 21. 如何从vimeo私人视频获取私人元数据
- 22. 在Java中获取视频文件元数据
- 23. Xamarin Droid YouTube API - 获取视频元数据
- 24. 从多个预加载视频获取元数据
- 25. Android流媒体视频MOV ACC(MP4A)音频和H264视频
- 26. LiveLeak:API /视频元数据
- 27. Android - 360视频元数据
- 28. mov文件的视频播放器?
- 29. 收集视图单元获取数据
- 30. 嵌入示例QuickTime(.mov)视频
准备好以编程方式挖掘二进制文件吗?如果是这样,什么语言?由于您已经尝试过平常的嫌疑犯,因此不确定这样做的工具。 –
我没有试过这样做。你能解释我怎么能? –