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.

[参考译文] AM68A:麦克风支持视频

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1517702/am68a-microphone-work-with-video

部件号:AM68A

工具/软件:

 

我正在 AM68A 板上的 Gstreamer 流水线、用于同时从摄像头捕获视频和从麦克风捕获音频、对其进行编码、然后保存到文件(例如 MKV)。

流水线正常工作并正确记录、但当我按 Ctrl+C 停止时、应用程序会重复打印:

Interrupt received, sending EOS...

绝不会正确退出。 似乎流水线卡住了等待 EOS (流结束)、无法完全关闭。

以下是我正在运行的 GStreamer 命令:

gst-launch-1.0 -e \
  v4l2src device=/dev/video2 ! videoconvert ! queue ! v4l2h264enc ! h264parse ! queue ! mux. \
  alsasrc do-timestamp=true ! queue ! audioconvert ! audioresample ! avenc_aac ! aacparse ! queue ! mux. \
  matroskamux name=mux ! filesink location=test.mkv sync=false

请提供以下建议:

  1. 在 AM68A 上同时进行视频/音频捕获的最佳实践或建议的流水线结构?

  2. 如何正确处理 EOS 和 Ctrl+C、以便在不挂起的情况下干净地退出流水线?

  3. 是否有任何用于在 TI GStreamer 上处理 EOS 消息和正常关断的示例代码或文档?


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

    您好:

    感谢您的问题。 我们将对此进行深入研究。 这似乎需要与我们的音频专家进行一些协作、因此我会将他们加入进来。

    此致、
    Sarabesh S.

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

    尊敬的 Mohammed:

    从管道中删除-e。

    使用-e:

    $ gst-launch-1.0 -e \
      videotestsrc ! videoconvert ! queue ! v4l2h264enc ! h264parse ! queue ! mux. \
      audiotestsrc ! queue ! audioconvert ! queue ! mux. \
      matroskamux name=mux ! filesink location=test.mkv sync=false
    Setting pipeline to PAUSED ...
    Pipeline is PREROLLING ...
    Redistribute latency...
    Redistribute latency...
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    Redistribute latency...
    New clock: GstSystemClock
    ^Chandling interrupt.
    Interrupt: Stopping pipeline ...
    EOS on shutdown enabled -- Forcing EOS on the pipeline
    Waiting for EOS...
    ^C04:14.8 / 99:99:99.

    不带-e:

    $ gst-launch-1.0 \
      videotestsrc ! videoconvert ! queue ! v4l2h264enc ! h264parse ! queue ! mux. \
      audiotestsrc ! queue ! audioconvert ! queue ! mux. \
      matroskamux name=mux ! filesink location=test.mkv sync=false
    
    Setting pipeline to PAUSED ...
    Pipeline is PREROLLING ...
    Redistribute latency...
    Redistribute latency...
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    Redistribute latency...
    New clock: GstSystemClock
    ^Chandling interrupt.
    Interrupt: Stopping pipeline ...
    Execution ended after 0:00:01.397491955
    Setting pipeline to NULL ...
    Freeing pipeline ...

    此致、
    Jared