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/AM5726:在运行时更改 Ducati H.264编码器位速率

Guru**** 2581905 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/632640/linux-am5726-changing-ducati-h-264-encoder-bitrate-at-runtime

器件型号:AM5726

工具/软件:Linux

您好!

我有 make gstreamer 应用程序,它从 v4l2src 获取输入,通过 videocrop 元素进行裁剪,通过 ducatih264enc 对其进行编码,并通过 RTSP 显示它。

我可以在运行时通过"g_object_set (g_object (element -> video_crop)、"left"、CROP_HEIGHT、"Rright"、CROP_width、 空);"。

当我要使用"g_object_set (g_object (element->ducatih264enc)、"bitrate_4096、NULL)"更改比特率时、它不会对 rtsp 产生影响。

任何解决方案。

此致、

前置稳压器

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

    "改变比特率"是什么意思? 您是否意味着要在流水线处于运行状态时更改比特率?


    此 g_object_set (g_object (元素->ducatih264enc)、"bitrate (位速率)"、4096、NULL);看起来是正确的。

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

    请记住、不支持编码器属性的动态配置。

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

    是的、当管道处于正在播放状态时、我想更改比特率。

    正如您所说的,“不支持编码器属性的动态配置”任何更改比特率的解决方案。
    我不介意是否要重新启动滑索。 但我无法重新启动流水线的一些方法。

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

    您可以尝试动态取消编码器元素及其后元素的链接(设置新属性)并重新链接它们。 但在这种情况下、很少有帧丢失。

    如何尝试重新启动流水线。 您是否意味着您要停止它并使用新配置重新启动它?

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

    我将管道设置为空状态,更改元素属性,然后使用新配置重新开始。

    此致、
    前置稳压器
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉、在第一种情况下、编码器元件不仅应取消链接、还应销毁并重新创建。

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

    您好!

    [引用 user="Prerak Patel"]我将流水线设置为空状态,更改元素属性并使用新配置重新开始。

    将管道移动到 NULL 状态后,您是否会关闭管道?

     GST_OBJECT_UNREF (管道);

    BR
    玛格丽塔

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

    您好!

    是的、我执行 GST_OBJECT_UNREF (流水线);。 我想、应用程序接收器元件的问题应该存在。
    我已经应用了以下流水线。

    v4l2src --tee --队列-- videocrop-- ducatih264enc -- rtspserver -- fakesink
                           --队列----附属设备
    我在 appsink 回调函数中执行流水线空操作。 它可能会导致错误。

    此致、
    前置稳压器

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

    如果您在该回调之外移动到空状态、会怎么样?

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

    它对我来说工作正常。

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

    那么、问题得到了解决吗?

    BR
    玛格丽塔