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即可在重新编码进程之前结束进程。

 下载
04-14 07:00