我得到一个帧流,一个初始SPS和PPS h264数据包,然后是I帧和P帧的数据包。
使用c#.NET我想转换成一系列JPEG?有没有人这样做过? 我试过AForge.NET FFMpeg包装器,但只能从MP4文件转到JPEGs? 还看了DirectShow。
我似乎无法找到一个甚至接近这样做的例子?
由于
答案 0 :(得分:0)
在Directshow中,您需要在过滤器图形中引入SampleGrabber过滤器。在H264解码器之后插入它。
这是一个传递过滤器,可以接收包含每个视频帧的回调。然后你可以明显选择你对框架做什么,将其作为jpeg等保存到磁盘。
有一个很好的页面解释它的用法,而不是反刍MSDN:
https://msdn.microsoft.com/en-us/library/windows/desktop/dd407288(v=vs.85).aspx
更新考虑到罗马的评论:
SampleGrabber已被弃用,作为Directshow编辑服务的一部分。但是,它是完全独立的。如果它从更高版本的Windows中删除,则可以直接替换为替代过滤器。我仍然在我的一个消费者应用程序中使用它。罗马是正确的 - 它有一个陡峭的学习曲线。