https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1490052/am68a-am68a
器件型号:AM68A工具与软件:
您好!
我正在尝试将我的视频录制分成三个单独的文件,每个文件包含10秒的镜头,使用相机作为视频源。
根据 GStreamer 的官方文档、splitmuxsink通常与一起使用x264enc。 但是、在 TI AM68A 平台上、有三个硬件视频编码器可用、为了节省开支、我认为v4l2h264enc和v4l2h265enc应该是合适的。
我尝试了以下流水线:
gst-launch-1.0 v4l2src device=/dev/video2 num-buffers=100 ! \
video/x-raw, width=1280, height=720 ! videoconvert ! queue ! \
tee name=t \
t. ! queue ! v4l2h264enc extra-controls="encode,key_int_max=10" ! h264parse ! queue ! \
splitmuxsink location=video%02d.mkv max-size-time=10000000000 max-files=3 muxer-factory=matroskamux \
muxer-properties="properties,streamable=true" \
t. ! queue ! autovideosink
虽然此流水线成功记录了视频、但不会按预期持续保存。 I 初始设置num-buffers=100,这导致了一个10秒的记录。 然而,当我增加num-buffers到500,视频持续时间延长到50秒。还尝试删除数字缓冲区,然后视频正在流式传输,但创建一个文件 video00.mkv 和视频是空的0KB 文件。
我假定max-size-time应该控制每个文件的持续时间(10秒)、而max-files应该限制文件的总数。 然而、管道似乎没有按预期运作。