按自己的格式存起来,软件读取时在内存中拆开,然后丢给相应的插件就可以了啊,如果插件不支持流参数,那就把拆分后的byte[]存到临时文件里,读取完毕就删掉。
你到底想完成什么功能
容易,你实现自己的编/解码器就行了,这个本质上不困难,只是人家的编解码器的任务目标都是在如何不损失品质的情况下尽量压缩数据,而你的目标只是让别人不认识。这目标好完成的多,你甚至可以直接找到h.264的编解码器,直接在没个帧上的头上写入“我就是让你不认识”这几个字就可以完成目标 ps:如果不会自己百(谷)度(哥)“自定义编解码器”
视频文件的本质就是把每一帧的图像打包在一起 比如一个视频,分辨率是100x100个像素 每个像素要保存RGB值,即3个字节 每秒播放24帧,总共30秒,也就是720帧 那么视频文件就可以写作byte[100,100,3,720],或者byte[21600000] 然后可以创建: 一个PictureBox,100x100像素, 一个Timer,间隔41或者42。 然后在Timer里,读取byte[...]一帧的数据, 并更新PictureBox的Graphics(用Scan0复制,而不是调用SetPixel,自己搜索) 好了这就是最简单的视频格式了 但是主要问题就是这样的格式体积太大 所以你还需要学习怎么压缩/解压每一帧的数据 现在流行的算法基本都出自MPEG,你可以再下个编码/解码器的源码学习下 (比如ffmpeg,这个没有.net的,都是c++的代码,另外如果你连高数满分都拿不到也别研究了,看不懂的)
那你应先学编码解码 ffmpeg是怎么解码的。怎么编的。
[quote=引用 7 楼 quliting 的回复:] [quote=引用 4 楼 shingoscar 的回复:] 你先写个能播放常规视频的软件再思考自定义格式
[quote=引用 4 楼 shingoscar 的回复:] 你先写个能播放常规视频的软件再思考自定义格式
请问你接触过多少文件的文件格式?我指的是文件的数据结构 而不是文件的后缀。。。
110,502
社区成员
642,567
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧