#c #linux #gstreamer #multimedia
Вопрос:
вот как я создал конвейер, это полностью нормально работает без кодировщика
gst-запуск-1.0 souphttpsrc расположение=https://www.freedesktop.org/программное обеспечение/gstreamer-sdk/данные/медиа/sintel_trailer-480p.webm ! имя матроскадемукса=d ! очередь ! vp8dec ! масштабирование видео ! видео/x-raw,ширина=320,высота=320 ! видеоконверт ! автовидеосинк д. ! очередь ! форбисдек ! аудиоконверт ! аудиопроба ! автоаудиосинка
но когда я добавляю кодер (vp8enc и vorbisenc) после декодера, я получаю такую ошибку
gst-запуск-1.0 souphttpsrc расположение=https://www.freedesktop.org/программное обеспечение/gstreamer-sdk/данные/медиа/sintel_trailer-480p.webm ! имя матроскадемукса=d ! очередь ! vp8dec ! масштабирование видео ! видео/x-raw,ширина=320,высота=320 ! vp8enc d. ! очередь ! форбисдек ! аудиопроба ! форбисенк ! матроскамукс ! расположение ссылки на файл=тест.webm
ОШИБКА ЗАКЛЮЧАЕТСЯ В
Установка конвейера на ПАУЗУ … Трубопровод проходит ПРЕДВАРИТЕЛЬНУЮ СБОРКУ … Получен контекст из элемента ‘souphttpsrc0’: gst.soup.session=контекст, сеанс=(сеанс супа)NULL, сила=(логическое значение)ложь; Перераспределить задержку… Перераспределите задержку… Трубопровод ПРЕДВАРИТЕЛЬНО ЗАПОЛНЕН … Настройка конвейера для ВОСПРОИЗВЕДЕНИЯ … Новые часы: ОШИБКА GstSystemClock: из элемента /GstPipeline:конвейер0/GstQueue:очередь 0: Ошибка внутреннего потока данных. Дополнительная информация об отладке: gstqueue.c(988): gst_queue_handle_sink_event (): /GstPipeline:конвейер0/GstQueue:очередь 0: потоковая передача остановлена, причина не связана (-1) Выполнение завершено после 0:00:18.409808116 Установка конвейера на ПАУЗУ … Установка конвейера в состояние ГОТОВНОСТИ … Установка конвейера в значение NULL … Освобождающий трубопровод …
Это ошибка, которую я сейчас получаю
я хочу знать, как разделить разработку на две ветви: одну для кодирования, дампа и другую для отображения. например, где добавлять плагины для кодирования и какие плагины можно использовать