GStreamer Plugin: Embedded video playback halted; module decodebin20 reported: Your GStreamer installation is missing a plug-in.

摘要:
标题是在Linux下使用yu_install系统的opencv库获取视频帧时抛出的错误消息。Opencv调用Gstream API来处理视频。抛出的错误代码如下图所示:http://ubuntuforums.org/archive/index.php/t-1730395.htmlhttp://stackoverflow.com/questions/4929721/opencv-视频文件中的python抓取帧已经读取了上述两个链接的答案,但仍然没有解决问题。它表示缺少GStream插件。我可以重新安装GStream插件。软件包管理器提示已安装最新版本。1对于RealAudio,Gstreamer输出单位为Packet,而Ffmpeg输出单位为frame。2.对于OGG,Gstreamer输出vorbis包,包括前三个报头包;Ffmpeg只输出音频包,并通过extradata传输头包。3对于FLAC,Gstreamer首先输出元数据块,然后输出数据块;Ffmpeg仅输出数据块。

标题是在Linux下使用系统yum install 的opencv库来获取视频帧的时候抛出来的错误消息。opencv调用了Gstream的API来处理了视频。错误抛出的代码如下图:

GStreamer Plugin: Embedded video playback halted; module decodebin20 reported: Your GStreamer installation is missing a plug-in.第1张

http://ubuntuforums.org/archive/index.php/t-1730395.html

http://stackoverflow.com/questions/4929721/opencv-python-grab-frames-from-a-video-file

把上面两个链接的回答都看了,还是没有解决,说是缺少GStream的一个插件,可以我又重新yun install 了gstream-plug-in这些插件,包管理器提示已经安装了最新版了。但是运行项目还是会报出这个错误,但是有的人安装了插件就解决了。

阅读以上链接的时候,有个问题没有搞清楚就是:FFMPEG 和GSTREAM是不是功能上平行的关系?(类似于GTK和Qt的关系)。

搜索了一下发现:http://1.guotie.sinaapp.com/?p=31

上面的文章说了,两者的关系区别不是很大,差不多平行。文章的内容如下:

gstreamer,vlc,ffmpeg都是开源处理流媒体的软件,这里的比较不涉及功能,仅仅比较源代码。

大约看了一个星期,对这三个 软件都略有了解,简单的谈谈。

0、开发语言

都是使用c语言开发,ffmpeg最为简洁;gstreamer使用了gobject,晦涩;

1、注释

vlc的代码完全没有注释,官网也没有任何文档;

gstreamer的官网上有开发者指引,看完后大概了解gstreamer的设计框架,如element,pad,filter等概念,感觉设计的相当不错;

ffmpeg官网上文档不多,不过注释真是太详细了,超级赞;

2、代码量

vlc代码量算比较少的;

gstreamer分为core,plugin,等等,代码量巨大;而且,gstreamer使用glib2,感觉很不好,可读性差;

ffmpeg文件很多,但组织的很棒,一下子都能找到要领;

代码量没有精确统计,仅仅是个人感觉;

3、代码质量

我个人非常欣赏ffmpeg,代码太棒了;

整个框架结构分为两个主要部分,一个是codec,一个是format,在两个大的目录中,顾名思义,一个是处理编解码,一个是获取原始数据;

format中,只需要看几个文件就可以了解整个系统的运作过程了:

avformat.h,avio.h,avio.c等

4、图形界面

vlc有图形界面,在windows下很好用;

gstreamer不是很清楚;

ffmpeg没有图形界面,仅仅提供了三个命令行工具,这三个工具的选项狂多。三个命令分别是ffmpeg,ffplay,ffprobe

ffmpeg是我非常推崇的代码。

在使用测试的过程中,发现ffmpeg不能播放helix server的rtsp源,应该是ffmpeg解析rtp与helix不兼容造成的,有空的时候查找一下原因,fix一下。

两者的区别还有一些细节的差别:

http://my.oschina.net/tangcong/blog/92876

对同样的audio format,Gstreamer和Ffmpeg demux出来的audio frame组织形式不一样,最近就碰到了这个问题。

1 对Real Audio,Gstreamer输出单位为Packet(包含多个frame),而Ffmpeg输出单位frame。

2 对OGG,Gstreamer输出vorbis的packet,包括前三个header packets;而Ffmpeg只输出audio packets,通过extradata的方式来传输header packets。

3 对FLAC,Gstreamer先输出metadata block,再输出data block;而Ffmpeg只输出data block。

#################################update###########################

其实要解决标题以上的问题,只需要安装gstreamer,gstreamer-ffmpeg,ffmpeg还有gstreamer-plug-in这些包就行了。官方源没有,那么就用rpmfusion和EPEL源来安装上述红色标记的包。

安装 EPEL源请运行以下命令(EPEL源安装的更多信息请参考这里https://fedoraproject.org/wiki/EPEL/FAQ):

rpm -Uvh http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm

rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm




安装rpmfusion源请参考以下给出的配置:
http://rpmfusion.org/Configuration


 

免责声明:文章转载自《GStreamer Plugin: Embedded video playback halted; module decodebin20 reported: Your GStreamer installation is missing a plug-in.》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇敏捷企业宣言docker 安装 nacos/nacos-server 镜像并配置本地数据库下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MQTT

MQTT简介 mqtt基于订阅者模型架构,客户端如果互相通信,必须在同一订阅主题下,即都订阅了同一个topic,客户端之间是没办法直接通讯的。订阅模型显而易见的好处是群发消息的话只需要发布到topic,所有订阅了这个topic的客户端就可以接收到消息了。 发送消息必须发送到某个topic,重点说明的是不管客户端是否订阅了该topic都可以向topic发送了...

ffmpeg命令汇总

1. 查看ffmpeg信息: ldd `which ffmpeg` ffmpeg -filters ffmpeg -h filter=drawtext man ffmpeg ffmpeg --help 开启ffmpeg log ffmpeg -loglevel trace -i a.mkv out.yuv 相关log level等级如下: { "quie...

基于PySpark的网络服务异常检测系统 (四) Mysql与SparkSQL对接同步数据 kmeans算法计算预测异常

基于Django Restframework和Spark的异常检测系统,数据库为MySQL、Redis, 消息队列为Celery,分析服务为Spark SQL和Spark Mllib,使用kmeans和随机森林算法对网络服务数据进行分析;数据分为全量数据和正常数据,每天通过自动跑定时job从全量数据中导入正常数据供算法做模型训练。 使用celery批量导入...

从为知笔记收费说起

很早写的一片 日志,分享下: 今天得知为知笔记收费的消息,我便随即补上了一年的vip,一年只需要50元,折算到每一天的价格只有1毛3,从这样的价格上看,为知笔记团队的处境有多艰难以及作这个决定的无奈与坚定。 是的,中国互联网的免费时代 已经一去不复返了,从各大“云”的关闭到音乐、影视剧版权的风生水起,最后是神器快播的被告——是的,快播并不是因为传播A片倒...

FFmpeg封装格式处理

本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10506636.html FFmpeg封装格式处理相关内容分为如下几篇文章:[1]. FFmpeg封装格式处理-简介[2]. FFmpeg封装格式处理-解复用例程[3]. FFmpeg封装格式处理-复用例程[4]. FFmpeg封装格式处理-转封装...

安卓消息推送解决方案

一、推送工具使用 我们在做安卓开发的时候,通常需要一些消息推送功能,我个人平时用的是极光推送,极光推送(JPush)是一个端到端的推送服务,使得服务器端消息能够及时地推送到终端用户手机上,让开发者积极地保持与用户的连接,从而提高用户活跃度、提高应用的留存率。极光推送客户端支持 Android, iOS 两个平台。 使用的时候我们可以先去官网看开发文档,我是...