| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 979 人关注过本帖, 1 人收藏
标题:C# 视频编辑 WPF.net6.0 demo 8.13更新
只看楼主 加入收藏
qq2889577966
Rank: 4
等 级:业余侠客
威 望:5
帖 子:68
专家分:287
注 册:2021-4-14
结帖率:100%
收藏(1)
 问题点数:0 回复次数:2 
C# 视频编辑 WPF.net6.0 demo 8.13更新
程序为WPF .Net6.0,全部源码。封装了ffmpeg、ffplay、ffprobe.exe,播放嵌入到了WPF窗体中。编辑、生成均通过管道读写,byte操作,不生成临时文件。
程序旨在说明读取、编辑操作的代码,界面没设计,逻辑限制也没写。功能也只有读取,写入图像和文字,但是基础的读写有了,其他的扩展功能也很方便了啊。

这里图省事,将整个视频装入,所以测试时候找个短视频进行处理,5、6分钟以内长度的就可以,用太长的内存装不下。读取视频帧方式很多,这里采用读取每秒的一帧进行选段,然后再将选择的段全部帧读取出来。
选取帧可以使用时间间隔、或使用命令行分段读取,在实际中,这样选偏差比较大,用精确选取指令也还是对不上,所以就用了笨办法,速度较慢,以读取显示60帧为每个线程,开多个线程同时读取,帧总数/帧率=每秒帧数,记录帧序号,提取每秒第一帧作为标尺,详细帧则取选择范围的帧进行,这样就对上了。

播放是将选中的范围帧进行播放,使用ffplay.exe嵌入到WPF窗体中播放。这里注意一下,WPF的窗口不能设置为AllowsTransparency="True",否则不能正常显示。
代码很短,就是ffmpeg比较大100多M。
一些代码中内存、进程关系等代码如有错误自行修正。

首先点击“打开mp4文件”,装入视频,再拖动选择范围框,选择编辑的范围,
再点击“装入选择的帧”,在点击“编辑选择的视频”
在打开的窗口中,菜单里可选择图像或文字,放置到编辑框中,设置组件的属性,点击“应用”。
最后点击“写入到视频”,这里忘了写进度提示了,写入时就等着,写入完毕后,弹出完毕窗口。

这里注意:
1、生成后在当前目录中生成一个output.mp4,如果已存在该文件,则生时成会提示错误,生成完毕后,自行改个文件名。
2、程序因为图省事,将视频全部装入内存,编辑使用时,找个短点的视频,4、5分钟的就可以,太大了内存装不下。
3、编辑时放置组件,组件属性的颜色设置为空,即为透明。
4、装入、选择、调入、编辑的次序别搞乱,因为程序写的匆忙没有校验,别出故障了。

视频生成的效果,这里提供原视频和编辑生成的视频2个视频,可以下载比对效果。
链接:https://pan.baidu.com/s/1MjM8K8iu-uWgfMrnLTOdWA
提取码:255q

编辑程序
代码下载
链接:https://pan.baidu.com/s/1zW3B9p85622WvGdAYhwrsQ
提取码:v2az

[此贴子已经被作者于2023-8-13 13:37编辑过]

搜索更多相关主题的帖子: 读取 视频  选择 编辑 
2023-07-19 15:53
qq2889577966
Rank: 4
等 级:业余侠客
威 望:5
帖 子:68
专家分:287
注 册:2021-4-14
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2023-8-13 13:38编辑过]

2023-08-02 14:41
qq2889577966
Rank: 4
等 级:业余侠客
威 望:5
帖 子:68
专家分:287
注 册:2021-4-14
收藏
得分:0 
8.13 更新
2023-08-13 13:43
快速回复:C# 视频编辑 WPF.net6.0 demo 8.13更新
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016979 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved