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 下载