我需要削减ffmpeg可能的视频剪辑的一部分,但不想使用ffmpeg并希望严格使用asp.net中的Media Foundation方法。任何人都可以建议我怎么可能。 要求是希望将直播流从结束位置剪切为4分钟,然后保存在视频文件中。我们必须从实时流中剪切视频,而不是已经保存的视频。使用媒体基础c剪切视频剪辑#
回答
我可以推荐你使用ffmpeg或其他视频编辑器。 Media Foundation是用于播放或编码视频的低级框架。它不包括任何剪辑视频剪辑的功能。当然,可以使用Media Foundation编写视频剪辑代码,但它需要从头开始编写所有代码。我对媒体基金会有丰富的经验,我可以将它与'乐高'积木进行比较 - 收集非常“微小”的元素。我认为实施你的想法可能需要半年或更长的时间。
顺便说一句 - 您可以通过Media Foundation Capturing Live-video from Web-camera on Windows 7 and Windows 8找到我的相机源代码,您可以查看代码的复杂性。它支持在两个流上分割视频 - 查看和其他(例如录制)。可以通过其他流将视频录制到文件中,然后在完成视频录制后创建Media Foundation Media Session,打开临时视频文件,将位置视频阅读器设置为开启数分钟,然后重新写入目标文件。但是,您必须非常了解媒体基础。有一本关于媒体基金会的书。它包括媒体基础媒体会话的代码。
从MP4文件创建子剪辑的一种方法是使用Media Foundation API的Source Reader和Sink Writer,以便您可以分别从特定位置的所有感兴趣的流开始“读取”。数据将被传递给Sink Writer实例以生成子剪辑文件。
这可以在有或没有视频重新压缩的情况下完成。请注意,Media Foundation是本机代码API,您可能需要一个包装库,它提供了各自的ASP.NET接口。
另一种方法是带有TrimStartTime/TrimStopTime属性的UWP MediaTranscoder API。 Transcoding media sample应该给你一个见解。
- 1. Qt/C++多媒体播放器视频剪辑,多个视频小部件
- 2. NReco视频剪辑
- 3. 用ffmpeg剪切视频。
- 4. parleys.com视频流媒体基础设施
- 5. 视频流媒体基础设施
- 6. 使用Uri通过媒体播放器播放音频剪辑
- 7. FFmpeg的视频剪辑
- 8. 在Directshow中剪辑视频
- 9. 使用Microsoft媒体基础从图像创建视频
- 10. 剪切板监视的C#
- 11. 剪切视频并合并它们使用Objective-c
- 12. 从iPod库文件中剪切剪辑
- 13. 如何剪切视频长度(Mp4)?
- 14. 加入和剪切MPEG2视频文件
- 15. 视频“剪切”Android - 可能吗?
- 16. 流式Flash视频问题 - 剪切
- 17. 在android中修剪/剪切视频文件
- 18. C++,OpenGL剪辑
- 19. 添加一个Youtube视频剪辑
- 20. AVCaptureMovieFileOutput - 录制顺序视频剪辑
- 21. 使用c#编写表达式编码器SDK,如何剪切视频,音频
- 22. 使用DirectX C流媒体视频#
- 23. 剪切音频文件
- 24. Virtualbox视窗剪辑
- 25. 在windows C++应用程序中播放视频剪辑
- 26. 使用ffmpeg剪切视频,绝对位置
- 27. Silverlight视频播放虚拟视频剪辑
- 28. 在HTML5视频中,如何从长视频播放小剪辑?
- 29. Flash视频 - 创建虚拟视频剪辑
- 30. 使用DirectX视频加速(DXVA)实现媒体基础变换(MFT)
完全同意...你只需要调用一个简单的命令...并且你不需要打扰视频内容的胡斯尔 –
当使用媒体捕获使用媒体class.I保存mediaCapture到文件。我从总字节流中挑选从最后位置开始的字节到固定大小。但我无法播放视频。您能否为此建议解决方案,如何将元数据附加到已损坏的字节以便播放视频。 - @Evgeny pergeguda –
您可以使用[MSDN]中的MediaClip.CreateFromFileAsync'(https://msdn.microsoft.com/en-us/library/windows/apps/windows.media.editing.mediaclip.createfromfileasync.aspx) ,但它可以在Windows 10上使用 - 它使用公共接口IStorageFile:IStorageItem, IRandomAccessStreamReference,IInputStreamReference'Windows.Media - 是Media Foundation的高级包装器。 –