我正在尝试将 RTSP 流写入共享内存,然后将其写入 .mkv 文件。
我使用此命令直接在 .mkv 文件中写入流:
gst-launch-1.0 rtspsrc location=rtsp://admin:admin@192.168.88.248:554/h264 ! rtph264depay ! h264parse ! matroskamux ! filesink location= file.mkv
有用。
现在我添加共享内存:
gst-launch-1.0 rtspsrc location=rtsp://admin:admin@192.168.88.248:554/h264 ! shmsink socket-path=/tmp/foo shm-size=2000000
和
gst-launch-1.0 shmsrc socket-path=/tmp/foo ! rtph264depay ! h264parse ! matroskamux ! filesink location=file.mkv
我收到消息:
输入缓冲区需要设置 RTP 上限。
好的,我写
gst-launch-1.0 rtspsrc location=rtsp://admin:admin@192.168.88.248:554/h264 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264" ! shmsink socket-path=/tmp/foo shm-size=2000000
我再次收到此消息。
我究竟做错了什么?