首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#使用NReco FFMpegConverter拍摄实况视频截图

C#使用NReco FFMpegConverter拍摄实况视频截图
EN

Stack Overflow用户
提问于 2014-11-17 14:58:45
回答 1查看 3.1K关注 0票数 0

我有一个作为Azure Web角色运行的应用程序,我想在Wowza服务器上截取实时RTSP视频流的屏幕截图。我使用的是NReco FFMpegConverter包装器。我有一致性方面的问题。有时代码根本不会执行,有时会立即执行,有时需要2-3分钟才能创建截图。我已经在静态(不是现场) mp4视频上测试了这一点,一切都可以完美地执行(在1-2秒内)。

代码语言:javascript
复制
Stream thumb1 = new System.IO.MemoryStream();

var ffMpeg = new NReco.VideoConverter.FFMpegConverter();                
ffMpeg.GetVideoThumbnail("rtsp://99.99.99.99:1935/streamurl", thumb1);

//Code to upload file to blob storage
blob = testContainer.GetBlockBlobReference("test.jpg");

thumb1.Seek(0, SeekOrigin.Begin);
blob.Properties.ContentType = "image/jpg";
blob.UploadFromStream(s);

我在失败的执行过程中得到的错误是“输出文件#0不包含任何流”。我真的很好奇为什么有时需要2-3分钟才能得到输出截图,而其他时候只需要几秒钟。寻找任何关于如何改进此方法并仍然使用C# NReco包装器的建议。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-11-21 15:41:45

你似乎正在尝试从直播流中获取缩略图,而GetVideoThumbnail方法等待输入以提取视频流的第一帧。也许你的实时流很难从Azure WebRole实例中访问(甚至根本不可用)。VideoConverter在内部使用ffmpeg,你可以通过远程桌面连接到WebRole实例来检查它的执行情况,并从命令行执行ffmpeg:

代码语言:javascript
复制
ffmpeg -i rtsp://99.99.99.99:1935/streamurl -vframes 1 -r 1 -t 1 -f mjpeg thumb.jpg
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26967184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档