为全息图 3D 风扇将视频转换为 .bin

Convert video to .bin for hologram 3D fan

我面临的问题是我需要将视频(例如 .mp4 格式)转换为 .bin 格式,以便这些臭名昭著的 3D 全息风扇之一可以读取它。目前我正在使用 C# 这样做。

private async Task<bool> convertToBin(string file)
    {
        byte[] bytes = System.IO.File.ReadAllBytes(file);
        string path = Path.GetFullPath(file) + ".bin";
        string str = System.Text.Encoding.UTF8.GetString(bytes);
        System.IO.File.WriteAllText(path, str);
        return true;
    }

但是生成的.bin可以被风扇识别,但是播放的时候LED全部变白。此外,如果我打开一个用风扇软件生成的 .bin,格式似乎完全不同,因为正确的 .bin 的前 8.000 行只是 0000 0000 0000 0000.

知道如何完成这个吗?

这是一个关于文件转换的非常广泛的问题,因为从技术上讲,您只需将任何文件的扩展名更改为 .bin,它就是一个有效的 .bin 文件。

原因是 .bin 扩展没有特定标准,它只是二进制数据的集合 - 这意味着不同的公司可以(如果他们愿意)在他们使用的文件中实施他们自己的标准。

就全息风扇而言,他们的大多数制造商通常会免费(或收取少量费用)提供一个视频转换软件,可以将文件转换为可与风扇一起使用的 .bin . (现在很多粉丝也可以使用 .mp4 等,但我猜你不能)

如果正确文件中的第一个 X 数据量确实只是一个 0 的流,那么文件的开头似乎有一些 "padding",但实际上看不到该文件不是 100%。

无论哪种方式,在不知道设备/制造商可能强制执行的特定格式的情况下通用转换为 .bin 是非常困难的 - 就像试图获得准确的水量来装满水桶,而从未见过水桶

Binary itself is meaningless, until such time as an executed algorithm defines what should be done with each bit, byte, word or block. Thus, just examining the binary and attempting to match it against known formats can lead to the wrong conclusion as to what it actually represents.

引用自关于二进制文件的 Wiki 页面:)