![](/img/trans.png)
[英]How to play this video : BigBuckBunny as H264 Adaptive Bitrate MP4 Set 720p
[英]Cutting mp4 h264 video file without reencoding
我正在寻找一种方法来拆分或剪切用h264编码的mp4视频文件,而无需重新编码。 到目前为止,为了编辑mp4 h264编码的文件,我使用了Microsoft Expression Encoder 4 Pro。 问题是,我总是必须重新编码文件,如果我只想剪切或分割视频文件,这将花费一些时间和不必要的时间。 任何帮助或指向正确的方向表示赞赏。
我不知道如何在不进行重新编码(转码)的情况下分割视频,但是在Windows 8上已对视频进行了转码:
要修剪文件,请调用aysnc方法PrepareFileTranscodeAsync,然后在PrepareTranscodeResult对象上调用TranscodeAsync方法。
例如:
async void TrimFile(StorageFile srcFile, StorageFile destFile)
{
MediaEncodingProfile profile =
MediaEncodingProfile.CreateMp4(VideoEncodingQuality.HD720p);
MediaTranscoder transcoder = new MediaTranscoder();
// Set the start of the trim.
transcoder.TrimStartTime = new TimeSpan(0, 0, 1);
// Set the end of the trim.
transcoder.TrimStopTime = new TimeSpan(0, 0, 9);
PrepareTranscodeResult prepareOp = await
transcoder.PrepareFileTranscodeAsync(srcFile, destFile, profile);
if (prepareOp.CanTranscode)
{
var transcodeOp = prepareOp.TranscodeAsync();
transcodeOp.Progress +=
new AsyncActionProgressHandler<double>(TranscodeProgress);
transcodeOp.Completed +=
new AsyncActionWithProgressCompletedHandler<double>(TranscodeComplete);
}
else
{
switch (prepareOp.FailureReason)
{
case TranscodeFailureReason.CodecNotFound:
OutputText("Codec not found.");
break;
case TranscodeFailureReason.InvalidProfile:
OutputText("Invalid profile.");
break;
default:
OutputText("Unknown failure.");
break;
}
}
}
如何修剪视频文件(使用C#/ VB / C ++和XAML的Windows Store应用程序)
对于较旧的Windows,也可以使用Splicer (使用DirectShow.Net )。
希望它可以帮助某人。
libmp4v2为您提供了一些原语来构建一些自己执行的操作。 我不知道一个可以做到这一点的免费现成的解决方案,尽管只要您突破I帧的边界,实现起来就相对容易。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.