CSkin博客

标题: C# 视频处理 -- 帧处理 WPF.net6.0 demo [打印本页]

作者: qiaoke_song    时间: 2023-8-2 14:46
标题: C# 视频处理 -- 帧处理 WPF.net6.0 demo
本帖最后由 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
要是不好下载,说一下,我给网盘


v1.png (997.53 KB, 下载次数: 83)

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

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

作者: abweixx    时间: 2023-9-27 09:48
收藏一下,有时间研究
作者: yuwentao4761    时间: 2023-9-28 11:03
支持一下!
作者: fredZhu    时间: 2023-10-9 13:13
收藏了,支持
作者: fskin    时间: 2023-11-21 00:49
看看了解一下
作者: QW去    时间: 2024-7-3 10:31
感谢分享
作者: xmwoods    时间: 2024-8-7 10:23
看卡看你




欢迎光临 CSkin博客 (http://bbs.cskin.net/) Powered by Discuz! X3.2