【问题标题】:What is the right way of decoding of MPEG-4 video stream sent by multicast?对多播发送的 MPEG-4 视频流进行解码的正确方法是什么?
【发布时间】:2011-06-23 08:41:51
【问题描述】:

我正在尝试查看来自 IP 摄像机的 MPEG-4 视频流,该视频流是使用 gstreamer-java 由 UDP 多播发送的。 摄像机发送的每一帧都被分成几个 UDP 数据包。 从 UDP 数据包组装完整的帧后,我得到了表示为字节数组的 I 帧和 P 帧序列。我将这些帧中的每一个推入“AppSrc”,该“AppSrc”连接到“capsfilter”,该“capsfilter”连接到“decodebin”。问题是:gstffmpegdec.c:2259:gst_ffmpegdec_frame:ffdec_mpeg4: 解码错误(len: -1, have_data: 0)。 我还尝试了以下链:apprc => capsfilter => mpeg4videoparse => decodebin => videosink。 结果是一样的。 我必须做些什么来解决这个问题?

【问题讨论】:

    标签: multicast gstreamer mpeg-4


    【解决方案1】:

    似乎我找到了一种方法,现在我正在测试它的稳定性。我是从 git 编译的 (git clone git://anongit.freedesktop.org/gstreamer/gst-plugins-good) gstreamer 核心、“基础”、“好”和“坏”包。 然后我应用了“xviddec”插件,它现在能够处理带有大写“video/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”。

    【讨论】:

      猜你喜欢
      • 2016-01-15
      • 1970-01-01
      • 2023-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多