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.

[参考译文] Linux/AM5728:H.264解码/编码后文件大小会增加

Guru**** 2609955 points
Other Parts Discussed in Thread: AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/652265/linux-am5728-file-size-increases-after-h-264-decode-encode

器件型号:AM5728

工具/软件:Linux

您好、香榭丽舍

我在处理器 Linux SDK 中使用了一个 h.264示例文件、并在 am572x EVM 上执行了 GStreamer PIPLELINE、如下所示。 管道仅对样本文件进行解码、然后进行编码。
生成的文件大小为41.7MB。 它比原来的大1.8MB。
管道中是否有任何错误?

gst-launch-1.0 --gst-debug=1 -v 文件 rc location=/usr/share/ti/video/TearOfSteel-Short-720x420.264 num-buffers=600
!! 队列\
!! h264parse \
!! ducatih264dec \
!! VPE \
!! 'video/x-raw、format=(string) NV12、width=720、height=420、framerate=(fraction) 30/1'\
!! 队列\
!! ducatih264enc intra-interval=30 inter-interval=1 bitrate =1024 QPI =10 QP-max-i=40 QP-min-i=10 level=level-51 \
 rate-preset =用户定义的 rate-control-params-preset = rate-control-params-preset-用户定义的 rate-control-algo = 0 \
!! h264parse \
!! 文件链接位置=TearOfSteel-short-720x420_qpmaxi40.264


此致、
J-Breeze

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您能否共享这两个流? 如果它们太大、您可以将其剪短。 足够少的帧。

    您使用的是哪个版本的编码器和解码器?

    您是否使用 TI 的编码器来生成1.8Mb 的原始文件?

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

    您好!

    我在 SD 卡中的处理器 Linux SDK 中使用了一个 h.264示例文件、该 SD 卡附带 am5728 gp EVM。
    首先、对样本文件进行解码、然后进行编码以在流水线中再次生成.264文件。 我在从 SD 卡引导的 EVM 上导出流水线。

    原始 h.264文件(TearOfSteel-short-720x420.264)的大小为1.8Mb、重新生成的 h.264文件(TearOfSteel-short-720x420_qpmax40.264)的大小为41.7Mb。
    有道理吗?

    此致、
    J-Breeze

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

    您好!
    好的、我有原始文件。 原始和重新编码的文件的属性可能不同。 这可能是您进行观察的原因。  

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

    您好!

    我不确定原始 H.264文件使用了什么参数集。 我使用的参数集位于 GStreamer 流水线中。
    如果您有关于原始参数集的任何信息、请告诉我。

    此致、
    J-Breeze

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

    您好!
    原始文件编码为:
    高截面、3.0级、
    其中包含 I、P、B 帧。
    重新编码的参数与原始文件中的参数不同。 如果您可以共享重新编码的流(30帧应该足够了)、我可以进行更多分析。

    您可以从分析器的线性流眼中获取这些属性。

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

    您好!

    感谢您的信息。
    我将尝试获取属性。 但是、您能否给我一些时间来完成它、因为我不熟悉分析仪。

    此致、
    J-Breeze

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    好的。 如果您可以转储和共享重新编码的流、我可以在此处检查相同的内容。 如果您想在结束时检查此项、请比较两个流的属性、然后您将了解大小的原因。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    [引用 user="j-cree">我不确定原始 H.264文件使用的参数集是什么。 我使用的参数集位于 GStreamer 流水线中。
    如果您有关于原始参数集的任何信息、请告诉我。

    gstreamer 编码器元素中使用的默认 h264enc 参数 可在 gstducatih264enc.c 文件中找到。

    您可以查看有关编码的参数的 h264enc 用户指南以了解更多信息。

    BR
    玛格丽塔

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

    我要关闭此主题。 请重新打开。

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

    您好!

    我能够看到原始文件与重新编码文件的属性之间的差异。
    我想分享分析器 Elecard StreamEye 输出供您参考。

    似乎我不能在 Gstreamer PIPLELINE 中使用 ducatih264enc 的所有参数。 对吗?

    此致、
    J-brreeze

    e2e.ti.com/.../StreamEye_5F00_TearOfSteel_2D00_Short_2D00_720x420.264.txte2e.ti.com/.../StreamEye_5F00_TearOfSteel_2D00_Short_2D00_720x420_5F00_qpmaxi40.264.txt

    e2e.ti.com/.../0336.StreamEye_5F00_TearOfSteel_2D00_Short_2D00_720x420.264.txt

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

    您好!

    [引用 user="j-cile">我似乎无法在 Gstreamer PIPLELINE 中使用 ducatih264enc 的所有参数。 对吗? [/报价]

    可以、但可以在 gstreamer 中扩展编码的属性。

    我们还有一个不 使用 gstreamer 的编码演示。 您可以在此处找到它:

    http://git.ti.com/glsdk/omapdrmtest/blobs/master/videnc2test.c

    BR
    玛格丽塔

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

    您好、Margarita、

    感谢您的快速回复和信息。

    如果我对在 gstreamer 和 enc 演示中扩展编码的属性有疑问、我将打开一个新的线程。

    此致、
    J-Breeze