TVideoGrabber中可以对音频、视频剪辑进行重新编码剪辑,多的朋友知道这个功能更点,但是具体操作上还是不是很熟悉,这里总结一下,主要步骤如下:

1、通过指定开始和停止的时间,可以简单的剪辑视频

2、可以重新编码剪辑

——通过指定开始和停止时间

——使用当前音频或是视频编码器

——通过应用任何帧采集功能(文本覆盖、图形叠加、视频旋转······)

Reencoding 关于重新编码提供了如下的属性:

  • Reencoding_SourceVideoClip:源视频剪辑的文件名称
  • Reencoding_NewVideoClip:要创建的视频剪辑的文件名称
  • Reencoding_StartTime:表示在100ns单位中的开始时间, (default -1 = beginning)
  • Reencoding_StartFrame:开始帧(default -1 = beginning)
  • Reencoding_StopTime:表示在100ns单位中的停止时间,(default -1 = end),
  • Reencoding_StopFrame:停止帧 (default -1 = end of the clip)
  • Reencoding_IncludeAudioStream:如果启用的话,音频流将会包含在新的视频剪辑中。
  • Reencoding_IncludeVideoStream:如果启用的话,视频流将会包含在新的视频剪辑中。
  • Reencoding_Method:用AVI格式记录rm_AVI,或用ASF格式记录rm_ASF。
  • Reencoding_UseAudioCompressor  :如果启用,将会使用当前的音频压缩。Reencoding_UseVideoCompressor:如果启用,将会使用当前的视频压缩。
  • Reencoding_UseFrameGrabber:如果启用,将会应用图形、文字叠加、裁剪和旋转。
  • Reencoding_WMVOutput:剪辑将会被创建为.wmv。

关于开始/停止帧和倍数

——default -1值指定了“剪辑开始的起始”或是“要到剪辑结束的时候停止”

——倍数用100ns单位指定,比如3秒= 30000000

——如果指定一个Reencoding_StartTime以及Reencoding_StartFrame,Reencoding_StartTime就会被忽略。

——如果指定Reencoding_StopTime 和 a Reencoding_StopFrame,这个Reencoding_StopTime就会被忽略。

开始重新编码:

开始重新编码的视频剪辑:

——设置“Reencoding_...”属性

——调用Startreencoding

备注:

当调用Startreencoding时,进程开始重新编码,并会立即返回,不会等到重新编码进程完成。

如果你正在用编程的方式创建组件,在破坏组件之前,一定要等待OnReencodingCompleted,否则重新编码进程将会在完成前被打断。

>>>示例源码

简单的调用StopReencoding即可在重新编码进程之前结束进程。

>>>TVideoGrabber 下载

视频处理控件TVideoGrabber如何重新编码视频的更多相关文章

  1. 视频处理控件TVideoGrabber如何重新编码视频/音频(2)

    在前面的文中<视频处理控件TVideoGrabber如何重新编码视频>已经讲解了部分TVideoGrabber重新编码音频.视频剪辑的内容,下面将继续说明. 重新编码进程 重新编码开始时, ...

  2. 视频处理控件TVideoGrabber中如何混合多个视频源(2)

    在前面的<视频处理控件TVideoGrabber混合多个视频源(1)>一文中,已经对TVideoGrabber中混合视频源做了一些内容的说明,本文将继续前文: >>>TV ...

  3. 如何在WPF应用程序中使用视频处理控件TVideoGrabber

    要在WPF 中使用 TVideoGrabber 组件,需要像下面的方法来使用 VS.NET(DLL) 版本的组件: ——复制TVideoGrabber_x.x.x.x_x86.dll到c:/windo ...

  4. 如何在视频处理控件TVideoGrabber中设置音频捕捉设备

    TVideoGrabber不仅可以捕捉视频,还可以作为多媒体播放器,并支持包括C#..NET.VB.NET.C++.Delphi.C++Builder和ActiveX平台,本文将剖析TVideoGra ...

  5. 视频处理控件TVideoGrabber中如何混合多个视频源(1)

    其实一个或是几个作为普通的视频源使用的TVideoGrabber组件,可以进行混合来作为一个TVideoGrabber组件使用,这些普通的组件可以是视频捕捉设备或是视频剪辑等.同时这个混合的组件独立于 ...

  6. 视频处理控件TVideoGrabber部分技术问题解答

    TVideoGrabber是一个功能全面.易于使用的视频捕捉工具和多媒体播放器,本文搜集了一些TVideoGrabber的技术问答,并针对于有的朋友遇到的疑难给出了解答. 一.在TVideoGrabb ...

  7. 视频处理控件TVideoGrabber如何对屏幕进行录制/压缩

    TVideoGrabber可以对屏幕进行录制和压缩,本文来详细的说明在多种情况下TVideoGrabber是如何实现屏幕的录制和压缩. 屏幕录制 当VideoSource = vs_ScreenRec ...

  8. 视频处理控件TVideoGrabber视频捕捉设设备相关问题

    选择一个视频捕捉设备 首先设置 VideoSource = vs_VideoCaptureDevice来选择一个视频捕捉设备作为一个视频源. 通过指定VideoDevice属性来选择当前的视频捕捉设备 ...

  9. 怎样在不对控件类型进行硬编码的情况下在 C#vs 中动态添加控件

    文章ID: 815780 最近更新: 2004-1-12 这篇文章中的信息适用于: Microsoft Visual C# .NET 2003 标准版 Microsoft Visual C# .NET ...

随机推荐

  1. iOS UPYUN(又拍云)使用总结

    UPYUN,原来没用过,上个周用了一次,觉得蛮方便的,对于个人开发者,且没有服务器的,上传图片和文件,是个不二选择. 首先,先明白原理: 1.又拍云有一个上传空间,在这个空间里,有空间名称.密钥,其他 ...

  2. Selenium2学习-027-WebUI自动化实战实例-025-JavaScript 在 Selenium 自动化中的应用实例之三(页面滚屏,模拟鼠标拖动滚动条)

    日常的 Web UI 自动化测试过程中,get 或 navigate 到指定的页面后,若想截图的元素或者指定区域范围不在浏览器的显示区域内,则通过截屏则无法获取相应的信息,反而浪费了无畏的图片服务器资 ...

  3. synzhronized原理3

    1.java中的每个对象都可作为锁,有三种表现形式: 对于普通方法,锁的是当前this对象. 对于静态方法,锁的是class对象 对于方法块,锁的是synchronized指定的对象. 2.JVM基于 ...

  4. E: 软件包*需要重新安装,但是我无法找到相应的安装文件。(ubuntu14.04)

    ubuntu安装搜狗输入法官方下载的安装包时,电脑有点卡我给强制关闭了,然后重启打开软件管理中心,直接闪退! 之后不能安装任何软件(包括命令). 显示: E: 软件包Sougou Pinyin需要重新 ...

  5. 高性能Linux服务器 第10章 基于Linux服务器的性能分析与优化

    高性能Linux服务器 第10章    基于Linux服务器的性能分析与优化 作为一名Linux系统管理员,最主要的工作是优化系统配置,使应用在系统上以最优的状态运行.但硬件问题.软件问题.网络环境等 ...

  6. 安装和删除 Alcatraz 插件

    在终端下输入如下命令来安装Alcatraz: curl -fsSL https://raw.github.com/supermarin/Alcatraz/master/Scripts/install. ...

  7. 学习 Log4net

    遇到问题: 开发机器:WINDOWS 8, 英文版, 64位 在实际使用中发现,写在文件中的中文全部变成乱码(变成问号). 解决方法: <appender name="FileAppe ...

  8. Linux C进程内存布局

    当程序文件运行为进程时,进程在内存中获得空间.这个空间是进程自己的内存空间.每个进程空间按照如下方式分为不同区域: 进程内存空间布局图 text:代码段.存放的是程序的全部代码(指令),来源于二进制可 ...

  9. Nginx简介

    序言Nginx 是 lgor Sysoev 为俄罗斯访问量第二的 rambler.ru 站点设计开发的.从 2004 年发布至今,凭借开源的力量,已经接近成熟与完善.Nginx 功能丰富,可作为 HT ...

  10. ACM之Java速成(4)

    ACM中Java.进制转换 Java进制转换: 由于Unicode兼容ASCII(0-255),因此,上面得到的Unicode就是ASCII. java中进行二进制,八进制,十六进制,十进制间进行相互 ...