我正在尋找一種方法來分割或剪切用h264編碼的mp4視頻文件,而無需重新編碼。到目前爲止編輯mp4 h264編碼的文件我使用了Microsoft Expression Encoder 4 Pro。問題是,我總是必須重新編碼文件,這需要時間,如果我只想剪切或拆分視頻文件,則會花費不必要的時間。任何幫助或指向正確的方向表示讚賞。切割mp4 h264視頻文件無需重新編碼
2
A
回答
0
libmp4v2爲您提供了構建自己做某些事情的原語。我沒有意識到現成的解決方案可以做到這一點,但只要您切割I幀邊界,實現起來相對容易。
3
我不知道如何分割而無需重新編碼(轉碼)視頻,但在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;
}
}
}
How to trim a video file (Windows Store apps using C#/VB/C++ and XAML)
也可以到Splicer(使用DirectShow.Net)用於Windows的早期。
希望它可以幫助別人。
+0
嗨,感謝您的提示。該項目發生了變化,但只要我不得不再次處理這個問題,我就會看看你的解決方案/示例。 – Kevkong 2014-01-24 17:03:04
相關問題
- 1. 如何用H264編解碼器編寫mp4視頻文件?
- 2. 將RTP視頻流(H264編解碼器)寫入mp4文件
- 3. 蟒蛇/視頻 - 無需重新編碼
- 4. ffmpeg重新編碼h264 mp4修剪多餘的音頻
- 5. 無需重新編碼保存H264編碼流
- 6. FFMPEG和H264編碼的MP4
- 7. FFmpeg/X264:分割視頻中GOP,無需重新編碼整個流
- 8. 使用Java編碼H264視頻
- 9. 解碼h264視頻
- 10. 使用bufferedimages將視頻編碼成h264?
- 11. H264編碼視頻流的ffmpeg C++
- 12. 如何將視頻編碼爲h264?
- 13. FFmpeg解碼.mp4視頻文件
- 14. Android軟件解碼器(OMX.google.h264.decoder)無法解碼H264視頻
- 15. DirectShow視頻切割
- 16. 視頻切割iOS
- 17. FFMPEG從MKV轉換到MP4無需重新編碼
- 18. MP4視頻文件播放視頻
- 19. 如何從android上的h264編碼幀創建mp4文件?
- 20. 將視頻流MPEGTS(H264)分割爲unix下的文件塊
- 21. Java將BufferedImages編碼爲視頻文件(mp4)
- 22. 強制VLC播放h264視頻文件
- 23. 批量重命名/重新命名爲視頻編碼
- 24. 無法播放mp4視頻
- 25. 無法使用FFMPEG重新流MP4到HTML5視頻
- 26. h264在C++中的MP4文件容器
- 27. 如何剪切視頻長度(Mp4)?
- 28. 如何解碼從yuv444p幀編碼的h264視頻?
- 29. ffmpeg API h264編碼視頻無法在所有平臺上播放
- 30. 分割mp4文件與mp4-dash
取決於視頻的編碼方式。除非您在關鍵幀邊界上進行分割,否則通常需要對其至少一部分進行重新編碼。 – 2013-03-22 21:51:52
分裂在關鍵幀的邊界對我來說會很好,但我沒有找到任何庫,我可以用這個「簡單」的任務在c# – Kevkong 2013-03-23 02:38:41