我试图在Raspberry Pi 2 B中使用QtMediaPlayer播放video。源代码如下: QMediaPlayer *media; QVideoWidget *video; … … media = new QMediaPlayer(parent); video = new QVideoWidget(parent); media->setVideoOutput(video); media->setMedia(QUrl::fromLocalFile("/home/pi/Desktop/test3.mp4")); media->play(); 但结果是一个空白的video屏幕,并出现以下错误: ** (Bus:2148): WARNING **: ffmpegcolorspace-vo: size 1105920 is not a multiple of unit size 829440 Error: "GStreamer encountered a general stream error." 系统信息 运行最新的raspbian Jessie OS,安装Qt5.3,安装gstreamer0.10-plugins-good / bad / ugly / ffmpeg和Installed Mpeg-2 […]
我对C很舒服,但需要学习GObject和Glib for gstreamer 。 我在网上发现的所有东西都是Gobject参考手册。 它的好,但寻找Gobject / Glib作为主要焦点的教程是在gstreamer。 所以请分享任何其他资源来学习glib和gobject。
我一直在尝试使用H264编码来处理Android平板电脑上使用新的低级别MediaCodec的摄像头捕获的input。 我经历了一些困难,因为MediaCodecAPI的文档logging很差,但是我终于有了一些工作。 我正在设置相机,如下所示: Camera.Parameters parameters = mCamera.getParameters(); parameters.setPreviewFormat(ImageFormat.YV12); // <1> parameters.setPreviewFpsRange(4000,60000); parameters.setPreviewSize(640, 480); mCamera.setParameters(parameters); 对于编码部分,我正在实例化MediaCodec对象,如下所示: mediaCodec = MediaCodec.createEncoderByType("video/avc"); MediaFormat mediaFormat = MediaFormat.createVideoFormat("video/avc", 640, 480); mediaFormat.setInteger(MediaFormat.KEY_BIT_RATE, 500000); mediaFormat.setInteger(MediaFormat.KEY_FRAME_RATE, 15); mediaFormat.setInteger(MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420Planar); // <2> mediaFormat.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 5); mediaCodec.configure(mediaFormat, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE); mediaCodec.start(); 最后的目标是创build一个RTPstream(和Skype相对应),但到目前为止,我只是将原始的H264直接传输到我的桌面。 在那里我使用以下GStreamerpipe道来显示结果: gst-launch udpsrc port=5555 ! video/x-h264,width=640,height=480,framerate=15/1 ! ffdec_h264 ! autovideosink 一切运作良好,除了颜色。 我需要在计算机中设置2种颜色格式:一种用于摄像机预览(标有<1> ),另一种用于MediaCodec对象(标有<2> ) 要确定行<1>的可接受值,我使用了parameters.getSupportedPreviewFormats() […]