作者: qiaoke_song
查看: 535|回复: 5

[源码] C# 视频处理 -- 帧处理 WPF.net6.0 demo

[复制链接]
qiaoke_song 发表于 2023-8-2 14:46:16 | 显示全部楼层 |阅读模式
查看: 535|回复: 5
本帖最后由 qiaoke_song 于 2023-9-27 22:26 编辑


使用ffmpeg(ffmpeg.exe、ffplay.exe、ffprobe.exe)进行封装,来处理视频中的帧,不用生成临时文件,通过管道读取。
这里图省事,将整个视频装入,所以测试时候找个短视频进行处理,5、6分钟以内长度的就可以,用太长的内存装不下。

读取视频帧方式很多,这里采用读取每秒的一帧进行选段,然后再将选择的段全部帧读取出来。

选取帧可已使用时间间隔、或使用命令行分段读取,在实际中,这样选偏差比较大,用精确选取指令也还是对不上,
所以就用了笨办法,速度较慢,以读取显示60帧为每个线程,开多个线程同时读取,帧总数/帧率=每秒帧数,记录帧序号,提取每秒第一帧作为标尺,详细帧则取选择范围的帧进行,这样就对上了。

播放是将选中的范围帧进行播放,使用ffplay.exe嵌入到WPF窗体中播放。这里注意一下,WPF的窗口不能设置为AllowsTransparency="True",否则不能正常显示。
代码很短,就是ffmpeg比较大100多M,附带一个测试的短视频。
一些代码中内存、进程关系等代码如有错误自行修正。
游客,如果您要查看本帖隐藏内容请回复


8月更新的放这里了,可以简单编辑视频添加文字,原理其实就是图像编辑,再写入视频,结合这个例子看看,比较简单
https://bbs.bccn.net/thread-512662-1-1.html


延伸的写了个转4K的,使用opencv训练的模型:
ESPCN_x2.pb
ESPCN_x3.pb
ESPCN_x4.pb
FSRCNN-small_x2.pb
FSRCNN-small_x3.pb
FSRCNN-small_x4.pb
FSRCNN_x2.pb
FSRCNN_x3.pb
FSRCNN_x4.pb,不过写的不怎么样,不满意
下载https://www.haolizi.net/example/view_314787.html
要是不好下载,说一下,我给网盘


C# 视频处理 -- 帧处理 WPF.net6.0 demo

C# 视频处理 -- 帧处理 WPF.net6.0 demo
回复 论坛版权

使用道具 举报

abweixx 发表于 2023-9-27 09:48:51 | 显示全部楼层
收藏一下,有时间研究
yuwentao4761 发表于 2023-9-28 11:03:46 | 显示全部楼层
支持一下!
回复

使用道具 举报

fredZhu 发表于 2023-10-9 13:13:56 | 显示全部楼层
收藏了,支持
fskin 发表于 2023-11-21 00:49:26 | 显示全部楼层
看看了解一下
QW去 发表于 2024-7-3 10:31:11 | 显示全部楼层
感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入CSkin博客

本版积分规则

QQ|申请友链|小黑屋|手机版|Archiver|CSkin ( 粤ICP备13070794号

Powered by Discuz! X3.2  © 2001-2013 Comsenz Inc.  Designed by ARTERY.cn
GMT+8, 2024-7-19 02:27, Processed in 0.488039 second(s), 33 queries , Gzip On.

快速回复 返回顶部 返回列表