Конвейер Gstreamer для отображения канала камеры во время записи вывода в mp4 EOS проблемы - PullRequest
0 голосов
/ 25 сентября 2019

Я передаю видеопоток с камеры PSEye с Jetson Nano, используя этот конвейер:

gst-launch-1.0 -e v4l2src device=/dev/video0 ! "video/x-raw, width=640, height=480, framerate=30/1" ! nvvidconv ! "video/x-raw(memory:NVMM)" ! nvv4l2vp8enc bitrate=1000000 ! queue ! rtpvp8pay ! udpsink host=10.50.26.5 port=5801

В настоящее время я получаю видеофайл на другом компьютере (Windows 10) по сети, используя этот конвейер:

gst-launch-1.0 udpsrc port=5801 ! "application/x-rtp, clock-rate=(int)90000, media=(string)video, encoding-name=VP8" ! rtpvp8depay ! decodebin ! autovideosink

Я успешно записал видео в mp4 вместо того, чтобы отображать его с этим конвейером:

gst-launch-1.0 -e udpsrc port=5801 ! "application/x-rtp, clock-rate=(int)90000, media=(string)video, encoding-name=VP8" ! rtpvp8depay ! decodebin ! x264enc bitrate=1024 ! mp4mux ! filesink location=test.mp4

Однако, когда я добавляю тройник, который также отображает видео, когда я нажимаю Ctrl +C в командной строке, чтобы остановить конвейер, отображается следующее сообщение и будет зависать до тех пор, пока я снова не нажму Ctrl + C:

Interrupt: Stopping pipeline ...
EOS on shutdown enabled -- Forcing EOS on the pipeline

Если после I Ctrl + C файл MP4 не получит последний кадри становится испорченным.Я использую этот конвейер для отображения видео во время записи MP4, который всегда искажается:

gst-launch-1.0 udpsrc port=5801 ! "application/x-rtp, clock-rate=(int)90000, media=(string)video, encoding-name=VP8" ! rtpvp8depay ! decodebin ! tee name = t ! queue ! x264enc bitrate=1024 ! mp4mux ! filesink location=test.mp4 t. ! queue ! autovideosink -e

Я также попытался выполнить переход по файлообменнику после autovideosink, перемещая ключ -e сразу после gst-launch-1.0, а также многие другие перестановки указанного выше конвейера.У меня все еще есть проблемы с корректным завершением работы MP4, чтобы не повредить файл, но я успешно показал видео.

Заранее спасибо за ответы.

...