Я работаю над gstreamer в первый раз и пытаюсь с потоком передать видеофайл MP4 с сервера на клиент, используя Gstreamer (RTP и UDP). Командная строка, которую я пытаюсь использовать:Streaming MP4 Video File на Gstreamer
На стороне сервера:
gst-launch-1.0 -v filesrc location = file_name.mp4 ! decodebin ! x264enc ! rtph264pay ! udpsink host=192.1XX.XX.XX port=9001
На стороне клиента:
gst-launch-1.0 -v udpsrc port=9001 caps = "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" ! rtpstreamdepay ! decodebin ! videoconvert ! autovideosink
Я могу поток видео успешно. Но я не хочу, чтобы операции decodebin
и x264enc
выполнялись на стороне сервера. Итак, я удалил эти операции и использовать эту командную строку на стороне сервера
gst-launch-1.0 -v filesrc location =file_name.MP4 ! rtpstreampay ! udpsink host=192.1XX.XX.XX port=9001
На которой я был не в состоянии потока видео.
Может ли кто-нибудь помочь мне, почему нам нужно выполнять операции декодирования и кодирования в этом сценарии при отправке данных. Есть ли способ, по которому мы можем отправлять данные без использования этих операций.
Спасибо.