我想知道如何从图像制作视频文件。
原因是我想制作一个屏幕捕获应用程序。
我将用 C# 对其进行编码并打算将屏幕捕获为
位图,然后将其写入文件。
不要告诉我使用可以在某处下载的库或 DLL。
我想知道如何处理原始字节。
可以使用免费库NReco.VideoConverter(也提供 nuget 包)生成视频,该库实际上是 FFMpeg 工具的 .NET 包装器。
有两种方法可以实现:
如果您真的想自己执行此操作(我不推荐),一种相对简单的方法是将您的 rgb 图像转换为 YCbCr 颜色空间,然后以 YUV4MPEG2 格式编写:https ://wiki.multimedia.cx/index .php?title=YUV4MPEG2 这可以保存为 *.y4m 文件,例如可以通过 VLC 打开。
请注意,这将是“未压缩”的,因此会产生巨大的文件(如果您选择使用 YCbCr 4:2:2 或 4:2:0,您会得到一点压缩,但远不及现代视频编码算法,如H.264 将实现)。
你为什么不想使用图书馆?我一直在这条路上。视频压缩甚至理解容器格式(如果您在该领域没有经验)是一件复杂的事情,正如我已经说过的,我不推荐它。