加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – DirectShow视频剪辑

发布时间:2020-12-16 07:13:53 所属栏目:百科 来源:网络整理
导读:我正在尝试使用DirectShow实现剪切功能.当我尝试通过设置开始和结束位置来切割一个序列时,它基本上起作用.但现在我想从同一个源文件中删除第二个序列,并在第一个剪切结束时直接写入.所以我再次设置开始和结束位置并再次启动图形,但文件编写器过滤器会覆盖第
我正在尝试使用DirectShow实现剪切功能.当我尝试通过设置开始和结束位置来切割一个序列时,它基本上起作用.但现在我想从同一个源文件中删除第二个序列,并在第一个剪切结束时直接写入.所以我再次设置开始和结束位置并再次启动图形,但文件编写器过滤器会覆盖第一个剪切.
所以基本上我想知道如何改变这一点.

这个问题肯定存在于avi muxer过滤器中,它为文件编写器创建了写偏移量.

解决方法

DirectShow多路复用器旨在在会话完成后完成输出文件的最终化.由于多种原因,您无法附加到现有文件,只是为了给您一个:多路复用器必须将新媒体类型与文件中存在的类型进行比较,并进行流映射以决定是否追加.它不是不可能的,它们根本不被用于此类用途.

这里的解决方案,除了DES,在另一个答案中已经提到的CPlusSharp,是立即写入输出,从多个段收集数据并分别调整时间戳.您通常需要多个过滤器图来完成任务,并以某种方式在图之间传输数据.一个图形是写入文件(一次),然后其他源图形提供数据,例如,从已编码的内容开始按原样传递,不进行转码,然后另一个图形附加新数据.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读