This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM62A7-Q1:AM62A/AM69A 上的 IPCAM 流解码问题

Guru**** 2390755 points
Other Parts Discussed in Thread: AM69A, TDA4VM

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1486674/am62a7-q1-issue-with-ipcam-stream-decoding-on-am62a-am69a

器件型号:AM62A7-Q1
Thread 中讨论的其他器件:AM69ATDA4VM

工具/软件:

不同应用 AM62A/AM69A 另一个缺点 从 IPCAM 接收流 以进行视频分析。

但是、某些 IPCAM 流是 正确解码 使用时 Wave5编解码器 IP 简化 SoC。

为了帮助诊断该问题、我们附上了以下附件:

  • MP4文件 其中包含重现问题的流
  • 测试日志

     下载链接:  https://drive.google.com/drive/folders/13cp-Anfz50H_xYZvt-gyKHS_iuw_HA3p?usp=sharing

  • 测试命令 用于验证

root@ai-master4ch:/common# GST_DEBUG_COLOR_MODE=off GST_DEBUG_FILE=log.txt GST_DEBUG=4 gst-launch-1.0 -v filesrc location="./ch1.mp4" ! qtdemux ! h264parse ! queue ! v4l2h264dec ! fakesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)5, profile=(string)high, codec_data=(buffer)01640032ffe1001167640032ac2c6a80a203d7e59b8100810101000468ee3cb0fdf8f800, width=(int)2592, height=(int)1944, pixel-aspect-ratio=(fraction)1/1
Redistribute latency...
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)5, profile=(string)high-10, width=(int)2592, height=(int)1944, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)0/1, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, colorimetry=(string)1:0:5:0, parsed=(boolean)true
ERROR: from element /GstPipeline:pipeline0/GstQTDemux:qtdemux0: Internal data stream error.
Additional debug info:
../gst-plugins-good-1.20.6/gst/isomp4/qtdemux.c(6761): gst_qtdemux_loop (): /GstPipeline:pipeline0/GstQTDemux:qtdemux0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...

我们还确认、中的问题仍然存在 最新版本 SDK 10.1

请查看提供的材料、如果需要更多信息、请告知我们。

此致、
城南市。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、城南

    我来尝试使用 AM62A 电路板重现我最后的问题。 会让您随时发布我的测试结果和分析。

    我将在下周初为您解答。   

    此致、

    Suren

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、城南

    h264parse 显示不受支持的配置文件(字符串) high-10。  

    但我们仍在研究这个问题、因为带有软件解码器的 h264parse 显示配置文件很高、并且能够毫无问题地解码。

    我们会在下周初公布您的分析结果。

    此致、

    Suren

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    亲爱的 Suren

    感谢您的答复。

    经过进一步调查,我们还在日志中发现了以下消息。
    对所附 log.txt 的详细审查使我们怀疑 A 未协商(-4) 可能会出现与编解码器配置文件和色度测定相关的错误。

    似乎有必要验证问题是否不仅受影响 个人资料 还可以通过 比色法

    # log.txt  

    0:00:00.139543200 23035 0x5ed0000 info v4l2 gstv4l2object.c:4708:gst_v4l2_object_probe_cap: 探测的大写字母:video/x-h264、stream-format=(string) byte-stream、alignment =(string) au、width=(int)[ 32,8192 ]、 height=(int)[32, 4320], 比色度=(字符串){bt601、smpte240m、bt709、1:3:5:1、2:4:5:2、 2:4:5:3、1:4:7:1、2:4:7:1、2:4:12:8、bt2020、 2:0:0:0}已解析=(布尔值) true

    0:00:00.155746734 23035 0x6145240 WARN GST_CAPS gstpad.c:5757:pre_eventfunc_check: caps video/x-h264、stream-format=(string) byte-stream、align=(string) au、level=(string) 5、profile=(string) high-10、 width=(int) 2592、height=(int) 1944、pixel-Aspect-RATIO =(factional) 1/1、framerate=(faction) 0/1、chroma-format=(string) 4:2:0、 bit-depth-luma=(uint) 8、bit-depth-chroma=(uint) 8、colorimetry=(string) 1:0:5:0、已解析=(boolean) true 未被接受
    0:00:00.156030273 23035 0x6145240警告 qtdemux qtdemux.c:6761:gst_qtdemux_loop: 错误:内部数据流错误。
    0:00:00.156082650 23035 0x6145240警告 qtdemux qtdemux.c:6761:gst_qtdemux_loop: 错误:流已停止、原因未协商(-4)

    您可以参考、在 TDA4VM 上、 硬件解码运行良好、不会出现任何问题

    我们期待您的反馈。

    城南市。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    亲爱的 Suren

    如果有、请告知我们 实现方案

    谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Suren:

    我们收到另一个客户的类似解码错误问题报告、解决此问题的压力很大。


    /GstPipeline:pipaine0/GstH264Parse:h264parse0.GstPad:CAPS src = video/x-h264、stream-format=(string) byte-stream、alignment =(string) au、width=(int) 1920、height=(int) 1080、 帧速率=(分数) 25/1、chroma-format=(string) 4:2:0、bit-depth-luma=(uint) 8、bit-depth-chroma=(uint) 8、 比色法=(字符串) 1:4:5:3 、已解析=(blean)true、profile=(string)main、Level=(string)4.2
    错误:来自元素/GstPipeline:pipaine0/GstRTSPSrc:rtspsrc0:内部数据流错误。



    如果您能向我们介绍最新进展、我们将不胜感激。

    谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、城南

    是否可以生成比色法设置为 bt709的编码流、或强制比色法设置为 bt709、就像下面的流水线一样、查看它是否有用。

    gst-launch-1.0 -v filesrc location="./ch1.mp4"! qtdemux! h264parse! 排队! v4l2h264dec! 视频/x-raw、比色法=bt709! fakesink

    此致、

    Suren

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    亲爱的 Suren

    感谢您的答复。

    我们已经尝试应用 CAPS 滤波器 、但遇到错误。

    此外、当我们尝试您建议的方法时 流水线协商 未按预期工作、如下所示。

    谢谢你。

    # gst-launch-1.0 -v filesrc location="./ch1.mp4"! qtdemux! h264parse! 排队! v4l2h264dec! 视频/x-raw、比色法=bt709! fakesink


    正在将管道设置为已暂停...
    流水线是 PREROLLING ...
    /GstPipeline:pipaine0/GstH264Parse:h264parse0.GstPad:sink: caps=video/x-h264, stream-format=(string) avc, align=(string) au, level=(string) 5, profile=(string) high、 codec_data=(buffer) 01640032ffe1001167640032ac2c6a80a203d7e59b8100810101000468ee3cb0fdf8f800、width=(int) 2592、height=(int) 1944、pixel-aspect-ratio =(分数) 1/1
    重新分配延迟...
    /GstPipeline:pipaine0/GstH264Parse:h264parse0.GstPad:CAPS src = video/x-h264、stream-format=(字符串) byte-stream、alignment =(字符串) au、Level=(字符串) 5、profile=(字符串) high-10、 width=(int) 2592、height=(int) 1944、pixel-Aspect-RATIO =(factional) 1/1、framerate=(faction) 0/1、chroma-format=(string) 4:2:0、 bit-depth-luma=(uint) 8、bit-depth-chroma=(uint) 8、 比色法=(字符串) 1:0:5:0已解析=(布尔值) true
    错误:来自元素/GstPipeline:pipLine0/GstQTDecu:qtdemux0:内部数据流错误。
    其他调试信息:
    ../gst-plugins-good-1.20.6/gst/isomp4/qtdemux.c (6761):gst_qtdemux_loop ():/GstPipeline0/GstQTDEMUX:qtdemux0:
    流已停止、原因未协商(-4)
    错误:流水线不想预卷。
    正在将管道设置为空...
    正在释放管道...

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、城南

    您能尝试应用下面的补丁并尝试一下吗? 更改发生在处理着色法的 v4l2对象中。

    diff --git a/subprojects/gst-plugins-good/sys/v4l2/gstv4l2object.c b/subprojects/gst-plugins-good/sys/v4l2/gstv4l2object.c
    index f3e0e99829..03628fa559 100644
    --- a/subprojects/gst-plugins-good/sys/v4l2/gstv4l2object.c
    +++ b/subprojects/gst-plugins-good/sys/v4l2/gstv4l2object.c
    @@ -2614,13 +2614,13 @@ return_data:
           "height", G_TYPE_INT, (gint) height, NULL);   gst_v4l2_object_add_aspect_ratio (v4l2object, s);
    -
    +#if 0
       if (!v4l2object->skip_try_fmt_probes) {
         gst_v4l2_object_add_interlace_mode (v4l2object, s, width, height,
             pixelformat);
         gst_v4l2_object_add_colorspace (v4l2object, s, width, height, pixelformat);
       }
    -
    +#endif
       if (G_IS_VALUE (&rates)) {
         gst_v4l2src_value_simplify (&rates);

    此致、

    Suren