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:adv7180中的 GStreamer 捕获问题

Guru**** 2543990 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/600534/linux-am5728-gstreamer-capture-issue-from-adv7180

器件型号:AM5728

工具/软件:Linux

我正在尝试从模拟摄像机捕获视频流、该摄像机连接到定制板上的 adv7180、基于 Sitara am578处理器。

Linux 启动后、/dev/video1捕获器件成功创建。 我已通过 yavta -C100 -fYUV -Fvout_test.yUV -s720x576 /dev/video1.进行了检查
 输出文件通过 ffplay -f rawvideo -pix_fmt yuv422 -video_size 720x576 -framerate 25 -i Vout_test.yuv.yUV (Ubuntu)正确播放。

但是、当我尝试通过 GS-launch-1.0 v4l2src 获取它时、device=/dev/video1! 视频转换! 救世主! filesink location=new.avi、流水线会将其状态 сonsistently 更改为正在播放、但当我按 Ctrl+c 时、它会将状态更改为就绪且不会停止。 如果我再次按 Ctrl+c、它将终止、结果文件变为空。
如何解决此问题?  

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

    请查看此 wiki 页面以获取示例:
    processors.wiki.ti.com/.../Processor_Training:_Multimedia
    什么是用例?
    是否在文件中捕获->编码->多路复用->保存?

    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢、但我已经看到了 GST 管道指南、它对我的捕获设备不起作用。
    在以下用例中、我需要:
    1. capts->反交错->编码->多路复用->保存到文件中
    2. CAPTURE-->输出到 kmssink (我的输出设备是模拟监视器,连接到 adv7391视频编码器)。

    捕获的数据是隔行视频流、按时间顺序传递到单独的 v4l2缓冲区:v4L2_field_alternate
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您是否可以查看指南中的示例,并尝试其中的一些示例,如 capt->encode->save in file 或 capt->display,如下所示:

    gst-launch-1.0 v4l2src device=/dev/video1 num-buffers=1000 io-mode=4! '视频/x-raw、\
    format=(string) YUY2、width=(int) 1280、height=(int) 720'! VPE num-input-buffers=8! 排队! kmsink



    gst-launch-1.0 -e v4l2src device=/dev/video1 num-buffers=1000 io-mode=4! '视频/x-raw、\
    format=(string) YUY2、width=(int) 1280、height=(int) 720、帧速率=(fraction) 30/1'! VPE num-input-buffers=8! \
    排队! ducatimpeg4enc bitrate = 4000! 排队! 太棒了! 真棒! 文件链接位置= x.mp4

    在这种情况下、您可以根据您的用例更改电容滤波器中的格式、分辨率等。


    GST VPE 元素可用于反交错。 此外,还可以为连接器设置 kmssink 属性(kmssink scale=false connector=30)。

    希望这对您有所帮助。

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

    感谢您的回复。
    我已经尝试过此流水线、它会导致所有相同的结果:流水线不会从就绪状态更改为 NULL。

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

    请尝试:
    gst-launch-1.0 v4l2src device=/dev/video1 num-buffers=300! fakesink 无声=false

    您是否也可以发布 GST 调试日志?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    附加上述流水线的调试日志、使用-d 标志和 debug-level=2执行

    e2e.ti.com/.../2287.gst_2D00_log.txt