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:编码和解码可以同时执行吗?

Guru**** 2578945 points
Other Parts Discussed in Thread: AM62A7

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1550503/am62a7-can-encoding-and-decoding-be-performed-simultaneously

器件型号:AM62A7


工具/软件:

尊敬的 TI 专家:

我们使用 AM62A7 SoC、 编码和解码是否可以同时执行? 此外、我们想了解如何将解码数据传输到 GStreamer、因为我们的目标是开发视频播放功能。

感谢您的帮助!

此致、
Kangbai Li

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

    嗨、Kangbai、

    是的、编码器和解码器同时工作。 下面是示例流水线

    gst-launch-1.0 -v udpsrc port=6001 ! 'application/x-rtp, media=(string)video, clock-
    rate=(int)90000, encoding-name=(string)H264, payload=(int)96' ! \
    rtph264depay ! h264parse ! v4l2h264dec capture-io-mode=4 ! tiovxmultiscaler name=msc \
    msc. ! queue ! video/x-raw, width=640, height=480, format=NV12 ! kmssink driver-name=tidss \
    msc. ! queue ! video/x-raw, format=NV12, width=1920, height=1080 ! v4l2h264enc output-
    io-mode=5 extra-controls="controls,h264_i_frame_period=60,video_gop_size=60" ! rtph264pay !
    udpsink host=128.247.75.190 port=6001 &
    gst-launch-1.0 -v udpsrc port=6002 ! 'application/x-rtp, media=(string)video, clock-
    rate=(int)90000, encoding-name=(string)H264, payload=(int)96' ! \
    rtph264depay ! h264parse ! v4l2h264dec capture-io-mode=4 ! queue ! v4l2h264enc output-
    io-mode=dmabuf-import extra-controls="controls,h264_i_frame_period=60,video_gop_size=60" !
    rtph264pay ! udpsink host=128.247.75.190 port=6002 &
    gst-launch-1.0 -v udpsrc port=6003 ! 'application/x-rtp, media=(string)video, clock-
    rate=(int)90000, encoding-name=(string)H264, payload=(int)96' ! \
    rtph264depay ! h264parse ! v4l2h264dec capture-io-mode=4 ! queue ! v4l2h264enc output-
    io-mode=dmabuf-import extra-controls="controls,h264_i_frame_period=60,video_gop_size=60" !
    rtph264pay ! udpsink host=128.247.75.190 port=6003 &
    gst-launch-1.0 -v udpsrc port=6004 ! 'application/x-rtp, media=(string)video, clock-
    rate=(int)90000, encoding-name=(string)H264, payload=(int)96' ! \
    rtph264depay ! h264parse ! v4l2h264dec capture-io-mode=4 ! queue ! v4l2h264enc output-
    io-mode=dmabuf-import extra-controls="controls,h264_i_frame_period=60,video_gop_size=60" !
    rtph264pay ! udpsink host=128.247.75.190 port=6004 &

    有关更多详细信息、请参阅以下链接:-

    www.ti.com/lit/an/sprade7/sprade7.pdf?ts = 1754540341041&ref_url=https%253A%252F%252Fwww.google.com%252F

    此致、

    Dilna K

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

    尊敬的  Dilna K:

    感谢您的答复,我有以下问题:

    1、我有一个 AVI 格式的视频文件,我想将其发送到解码器进行解码,然后将解码后的数据发送到显示器进行显示。 如何构建流水线。

    2、我们要断开最初发送到显示器的数据流,然后将解码的 AVI 视频文件数据发送到显示器。 我们使用函数 GST_CD_UNLINK (SRC_PAD、SINK_PAD) 要断开最初发送到监护仪的数据流、、具体代码如下

        auto tiovxmultiscaler2 = std::make_shared<tiovxmultiscalerModule>("tiovxmultiscaler2");
        tiovxmultiscaler2->set_property("target", 1);
        src_element = tiovxmultiscaler2->element();
        dest_element = capsFilterMsc2_disp->element();
        gst_cd_unlink(src_element, dest_element);
    

    但我发现的值 src_element dest_element 为 NULL。 为什么会发生这种情况? 或者、是否有更好的方法来实现此功能?

    最初构建的流水线如下所示

     


    感谢您的帮助! 

    此致、
    Kangbai Li


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

    嗨、Kangbai、

    请您再次重新发送管道映像、以便我们了解您的管道流程。 我们无法在下载后缩放它。  

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

    尊敬的  Dilna K:

    流水线映像如下所示

    为了补充先前的上下文:我们希望开发视频播放功能。 目前、我们可以正确地对 AVI 文件进行多路信号分离、并将多路信号分离的 H.264 流发送到 GStreamer。 我们应该如何构建管道?

    此致、

    Kangbai Li

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

    嗨、Kangbai、

    抱歉、我们无法在此图像中查看每个 gstreamer 插件的详细信息。 当我们缩放它的图像得到像素化,无法查看。 您能否将其作为文件发送?

    此致、

    Dilna

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

    尊敬的 Dilna:

    我刚刚通过 Webex 向您发送了图像。 请您看一下。 谢谢

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

    嗨、Kangbai、

    现在、我可以查看您的渠道。  

    1.您可以按照下面的方法构建管道 ,将解码的数据发送到显示器进行显示。

    gst-launch-1.0 filesrc location=/<path_to_file> ! qtdemux ! h264parse ! v4l2h264dec ! video/x-raw,format=NV12 ! kmssink
    

      2.您可以使用 gstreamer 输入选择器 用于动态切换选择器的在 videosrc 和 filesrc 之间切换的元素是实现此功能的另一个更好的方法