Rad*_*kov 28 video vlc-media-player filesystems ffmpeg video-conversion
根据经验,我知道如果我.jpg用.png扩展名保存文件(反之亦然),大多数程序都会照常打开它。我想知道为什么会这样,并询问有视频编解码器经验的人,如果我尝试将mov或avi文件另存为会发生什么mp4?(完全清楚:通过保存我的意思是,用非对应的扩展名重命名他们的文件名)
如果文件扩展名为 MP4,支持 AVI 和 MOV 的视频播放器是否仍然可以播放文件。
谢谢 :)
Ton*_*nny 71
大多数程序根本不查看扩展名。他们查看文件头内容以确定它到底是什么并采取相应的行动。
几乎所有众所周知的标准文件格式在文件的第一个字节中都有可识别的标识。(例如,每个 GIF 图像的前 6 个字节都包含字符“GIF87a”。)
如果软件知道如何处理它,它就会这样做(有些确实会警告扩展名是错误的),如果不知道,它会给出您会收到一条错误消息(或者如果编程不当就会崩溃)。
扩展名主要用作视觉指示器,指示您最有可能是什么文件。
它允许您的操作系统快速确定最适合处理它的应用程序,而无需实际读取文件的内容。
Jör*_*tag 12
更改文件名就是这样做的:更改文件名。而已。特别是更改文件名不会改变文件的内容,只会改变名称,而只会改变名称。
(事实上,更改文件的名称实际上不触及该文件在所有的,因为“名字”实际上只是在目录中的条目,它不与文件相关联。)
由于文件本身的内容没有任何改变,因此在命名Fred时能够正确解码文件内容的程序也能够在命名时正确解码文件内容也就不足为奇了Wilma,原因很简单,内容完全一样。
几乎所有文件格式都在文件开头附近嵌入了有关文件类型的信息。例如,一个真正的 PNG 文件总是以 8 个字节开始0x89 0x50 0x4E 0x47 0x0D 0x0A 0x1A 0x0A(请注意,字节 2 到 4 是 ASCII 字符“PNG”,标题的其余部分是二进制数据,旨在检测正在处理的文件的方式会导致数据损坏)或 ELF 目标文件(用于除 Windows 和 macOS 以外的大多数系统上的可执行文件)以0x7F 0x45 0x4C 0x46(字节 2-4 为 ASCII 中的“ELF” )开头。这些被称为文件签名,虽然它们不是根据内容确定文件类型的唯一方法,但它们通常是第一步。维基百科列出了许多可能感兴趣的常见文件类型。
文件签名的使用几乎无处不在,这意味着您可以查看文件本身的内容以确定它是什么类型的文件,几乎所有软件都这样做,原因有两个:
Windows 在这里主要是异常情况,因为它主要倾向于文件扩展名而不是实际文件内容来决定告诉用户文件类型是什么,而大多数其他系统和大多数应用程序只有在他们无法弄清楚时才回退到文件扩展名通过查看文件内容来确定类型。如今,文件扩展名的唯一实际目的是作为文件类型可能的通用指示器,从而更容易确定您正在处理的文件类型或查找特定类型的文件而无需检查文件内容,尽管在某些情况下人们只是选择检查内容(例如参见fileUNIX 系统的命令)。
一般来说,文件扩展名是一种向某些软件提供有关文件内容格式的线索的方式。另一个通常可用的线索是文件本身的内容,它通常在开头包含一个明确的标头用于此目的的文件。
每个软件都可以免费使用这些信息中的一个或两个。一些常见的方法是:
因此,更改文件扩展名会对不同的程序产生不同的影响:
特别是对于视频,大多数文件格式无论如何都是“容器”,因此在文件开头有很多元数据来准确指示它们是如何编码和组装的。因此,与他们合作的软件很可能会采用内容优先的方法,更改扩展名要么没有任何区别,要么发出警告,然后照常进行。
| 归档时间: |
|
| 查看次数: |
7320 次 |
| 最近记录: |