我已经编写了一个使用NReco库剪切视频的功能。
public void SplitVideo(string SourceFile,string DestinationFile,int StartTime,int EndTime)
{
var ffMpegConverter = new FFMpegConverter();
ffMpegConverter.ConvertMedia(SourceFile, null, DestinationFile, null,
new ConvertSettings()
{
Seek = StartTime,
MaxDuration = (EndTime-StartTime), // chunk duration
VideoCodec = "copy",
AudioCodec = "copy"
});
}
这是有效的,并且从视频开头到我指定的最长持续时间给我一个视频。它不是从搜索值位置开始到最大持续时间。有人可以帮我解决这个问题。
答案 0 :(得分:2)
我找到了这个问题的答案。愿这对某人有所帮助。
我使用的是worong编解码器。您必须根据要转换的文件类型使用正确的编解码器类型。这里我使用的是mp4文件。所以我不得不使用 libx264和mp3。 Beelow是示例代码
public void SplitVideo(string SourceFile,string DestinationFile,int StartTime,int EndTime)
{
var ffMpegConverter = new FFMpegConverter();
ffMpegConverter.ConvertMedia(SourceFile, null, DestinationFile, null,
new ConvertSettings()
{
Seek = StartTime,
MaxDuration = (EndTime-StartTime), // chunk duration
VideoCodec = "libx264",
AudioCodec = "mp3"
});
}