我正在尝试查看来自IP-camera的MPEG-4视频流,该视频流是使用gstreamer-java通过UDP多播发送的。摄像机发送的每个帧都被拆分成几个UDP数据包。从UDP数据包中组装完整的帧后,我得到了表示为字节数组的I帧和P帧序列。我将这些帧中的每一个都推入"AppSrc“,它连接到"capsfilter”,它连接到"decodebin“。问题是: gstffmpegdec.c:2259:gst_ffmpegdec_frame: ffdec_mpeg4:解码错误(len:-1,have_data: 0)。我还尝试了下面的链接: apprc、=>、capsfilter、=>、mpeg4videoparse、=>、=>、videosink。结果是一样的。要解决此问题,我必须做些什么?
发布于 2011-07-07 22:16:20
似乎我找到了一种方法,现在我正在测试它的稳定性。我已经从git (git clone git://anongit.freedesktop.org/gstreamer/gst-plugins-good) )编译了gstreamer核心,“基础”,“好”和“坏”包。然后我应用了"xviddec“插件,它现在能够处理带有”视频/mpeg,mpegversion=4“大写的缓冲区。
所以管道描述是:"mpeg4videoparse name=parser!xviddec!ffmpegcolorspace!capsfilter name=outfilter“,它连接到"gstreamer-java”包装器的AppSrc对象和VideoComponent对象。
为了指定我编译的gstreamer二进制文件的路径,我传递了以下JVM参数:"-Djna.library.path="path_to_my_home/bin/gstreamer/lib".
需要注意的是,编译xviddec需要安装libxvidcore-dev包。
https://stackoverflow.com/questions/6451420
复制相似问题