C# 自定义视频格式

我性别男爱好女 2016-03-11 10:43:48
如题:
用自己的播放器打开属于自己的文件
...全文
376 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 22 楼 socg 的回复:
按自己的格式存起来,软件读取时在内存中拆开,然后丢给相应的插件就可以了啊,如果插件不支持流参数,那就把拆分后的byte[]存到临时文件里,读取完毕就删掉。
我现在想用钩子实现此功能,当他复制某个文件的时候 直接返回操作 但是对钩子不太熟悉 应该可以实现的吧? 您说的那样,不是整个文件,但是如果需要进度条 就不行
socg 2016-03-15
  • 打赏
  • 举报
回复
按自己的格式存起来,软件读取时在内存中拆开,然后丢给相应的插件就可以了啊,如果插件不支持流参数,那就把拆分后的byte[]存到临时文件里,读取完毕就删掉。
  • 打赏
  • 举报
回复
引用 20 楼 socg 的回复:
你到底想完成什么功能
word+ pdf+PPT+视频 在同一个软件中打开,制作完之后,合成同一个文件(A),A然后在用的时候是另外一个软件(B)(反合成)中打开的!为了不让在B软件看到 word+ pdf+PPT+视频 的源文件! 当我拿到合成的文件之后,要解析,然后在B中打开! 不让看到B中源文件,把文件拷贝走 不知道我讲清楚了么
socg 2016-03-14
  • 打赏
  • 举报
回复
你到底想完成什么功能
  • 打赏
  • 举报
回复
引用 18 楼 wanghui0380 的回复:
容易,你实现自己的编/解码器就行了,这个本质上不困难,只是人家的编解码器的任务目标都是在如何不损失品质的情况下尽量压缩数据,而你的目标只是让别人不认识。这目标好完成的多,你甚至可以直接找到h.264的编解码器,直接在没个帧上的头上写入“我就是让你不认识”这几个字就可以完成目标 ps:如果不会自己百(谷)度(哥)“自定义编解码器”
我现在突然有一种想法,我想设置我存文件的目录只要不被复制就可以了! 从内存这块处理
wanghui0380 2016-03-14
  • 打赏
  • 举报
回复
容易,你实现自己的编/解码器就行了,这个本质上不困难,只是人家的编解码器的任务目标都是在如何不损失品质的情况下尽量压缩数据,而你的目标只是让别人不认识。这目标好完成的多,你甚至可以直接找到h.264的编解码器,直接在没个帧上的头上写入“我就是让你不认识”这几个字就可以完成目标 ps:如果不会自己百(谷)度(哥)“自定义编解码器”
  • 打赏
  • 举报
回复
引用 13 楼 shingoscar 的回复:
视频文件的本质就是把每一帧的图像打包在一起 比如一个视频,分辨率是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++的代码,另外如果你连高数满分都拿不到也别研究了,看不懂的)
谢谢您耐心的讲解! 是这样的,我想把我们业务说下:看是否有更好的方式来做; word+ pdf+PPT+视频 在同一个软件中打开,制作完之后,合成同一个文件(A),A然后在用的时候是另外一个软件(B)(反合成)中打开的!为了不让在B软件看到 word+ pdf+PPT+视频 的源文件! 当我拿到合成的文件之后,要解析,然后在B中打开!
  • 打赏
  • 举报
回复
引用 12 楼 wyd1520 的回复:
那你应先学编码解码 ffmpeg是怎么解码的。怎么编的。
谢谢您,这是一种思路
Poopaye 2016-03-14
  • 打赏
  • 举报
回复
jpg。。。不是jpe
Poopaye 2016-03-14
  • 打赏
  • 举报
回复
再补充一下,如果你真打算研究编解码,可以从gif和jpe方面入手
Poopaye 2016-03-14
  • 打赏
  • 举报
回复
视频文件的本质就是把每一帧的图像打包在一起 比如一个视频,分辨率是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++的代码,另外如果你连高数满分都拿不到也别研究了,看不懂的)
本拉灯 2016-03-14
  • 打赏
  • 举报
回复
那你应先学编码解码 ffmpeg是怎么解码的。怎么编的。
  • 打赏
  • 举报
回复
引用 10 楼 shingoscar 的回复:
[quote=引用 7 楼 quliting 的回复:] [quote=引用 4 楼 shingoscar 的回复:] 你先写个能播放常规视频的软件再思考自定义格式
我一般的格式可以了,就想自定义,或者读流,都可以[/quote] 不是让用别人开发好的代码,只要调用几个方法就能播放视频 而是自己能够解析视频每一帧的画面,转成原始的图片[/quote] 您说的有道理!应该是那么做 但是我没有思路,不知道从哪里下手
crystal_lz 2016-03-11
  • 打赏
  • 举报
回复
请问你接触过多少文件的文件格式?我指的是文件的数据结构 而不是文件的后缀。。。
Poopaye 2016-03-11
  • 打赏
  • 举报
回复
你先写个能播放常规视频的软件再思考自定义格式
_小黑_ 2016-03-11
  • 打赏
  • 举报
回复
哇 都能写播放器了
  • 打赏
  • 举报
回复
假如说 有个格式.csdn 我想打开这个视频文件
firstjie333 2016-03-11
  • 打赏
  • 举报
回复
使用过滤器识别文件类型进行筛选?
Poopaye 2016-03-11
  • 打赏
  • 举报
回复
引用 7 楼 quliting 的回复:
[quote=引用 4 楼 shingoscar 的回复:] 你先写个能播放常规视频的软件再思考自定义格式
我一般的格式可以了,就想自定义,或者读流,都可以[/quote] 不是让用别人开发好的代码,只要调用几个方法就能播放视频 而是自己能够解析视频每一帧的画面,转成原始的图片
  • 打赏
  • 举报
回复
引用 5 楼 crystal_lz 的回复:
请问你接触过多少文件的文件格式?我指的是文件的数据结构 而不是文件的后缀。。。
我不太了解,我的是用 vlc 都是百度的,现在想实现目前这个功能
加载更多回复(3)

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧