Я работал над приложением, где я использую rtspsrc для сбора аудио и видео с одной сетевой камеры на другую. Однако я не могу смотреть поток с камеры и, следовательно, не могу проверить, работает ли поток по назначению. Чтобы проверить правильность потока, я хочу записать его на SD-карту, а затем воспроизвести файл на компьютере. Проблема в том, что я хочу, чтобы камера выполняла как можно большую часть синтаксического анализа, декодирования, дефайлинга, поскольку это является целью приложения.Как демонтировать аудио и видео из rtspsrc, а затем сохранить в файл с помощью matroska mux?
Таким образом, мне приходится отделять аудио- и видеопотоки от демультиплексора, выполнять разбор, декодирование и т. Д., А затем возвращать их обратно в файл matroska.
Видеодекодер был опущен, так как он еще не сделан для этой камеры.
демультиплексирования жить мойку воспроизведения (работы)
gst-launch-0.10 -v rtspsrc location="rtsp://host:[email protected]/XXX/XXXX?resolution=1280x720&audio=1&audiocodec=g711&audiosamplerate=8000&audiobitrate=64000" latency=0 name=d d. ! rtppcmudepay ! mulawdec ! audioresample ! audioconvert ! autoaudiosink d. ! rtph264depay ! ffdec_h264 ! queue ! ffmpegcolorspace ! autovideosink
Multiple rtspsrc для Matroska (работ)
gst-launch-1.0 -v rtspsrc location="rtsp://host:[email protected]/XXX/XXXX?audio=1&audiocodec=g711&audiosamplerate=8000&audiobitrate=64000" latency=0 ! rtppcmudepay ! mulawdec ! audioresample ! audioconvert ! queue ! matroskamux name=mux ! filesink location=/var/spool/storage/SD_DISK/testmovie.mkv rtspsrc location="rtsp://root:[email protected]/axis-media/media.amp?resolution=1280x720" latency=0 ! rtph264depay ! h264parse ! mux.
Single rtspsrc в Matroska (сбой)
gst-launch-1.0 -v rtspsrc location="rtsp://host:[email protected]/XXX/XXXX?resolution=1280x720&audio=1&audiocodec=g711&audiosamplerate=8000&audiobitrate=64000" latency=0 name=d d. ! queue ! rtppcmudepay ! mulawdec ! audioresample ! audioconvert ! queue ! matroskamux name=mux d. ! queue ! rtph264depay ! h264parse ! queue ! mux. ! filesink location=/var/spool/storage/SD_DISK/testmoviesinglertsp.mkv
Последний пример с сообщением об ошибке
WARNING: erroneous pipeline: link without source element
Неужели я пропустил использование использования matroska mux и почему работают два вышеприведенных примера, но не последнее?