Я пишу экспериментальные приложения Gstreamer в C ++ на Linux. Пытаясь создать AppSRC для излучения алгоритмически сгенерированных кадров, я нашел в Интернете несколько способов установить колпачки исходных площадок AppSRC. Я предполагаю, что некоторые устарели. Некоторые могут быть для старого GST 0,1 и не использоваться. Я нахожу пример кода, который не помечен для версии GSTREAMER. Это беспорядок. Большинство способов, которые я нашел, можно обобщить в этом GOB кода: < /p>
source = gst_element_factory_make("appsrc", "MyAwesomeSource");
#if (1)
#if (1)
auto caps = gst_caps_new_simple("video/x-raw",
// auto caps = gst_video_format_new_caps("video/x-raw",
"format", G_TYPE_STRING, "RGB",
"width", G_TYPE_INT, FrameWidth,
"height", G_TYPE_INT, FrameHeight,
"framerate", GST_TYPE_FRACTION, framerate, 1,
"interlace-mode", G_TYPE_STRING, "progressive",
nullptr);
#else
auto caps = gst_caps_new_simple ("video/x-raw-rgb",
"bpp",G_TYPE_INT,24,
"depth",G_TYPE_INT,24,
"width", G_TYPE_INT, 640,
"height", G_TYPE_INT, 480,
NULL);
#endif
#else
GstVideoInfo vi;
gst_video_info_set_format(&vi, GST_VIDEO_FORMAT_RGBx, FrameWidth, FrameHeight);
auto caps = gst_video_info_to_caps(&vi);
#endif
g_object_set(source, "caps", caps,
...
< /code>
Я ищу четкое объяснение того, что такое правильный, правильный способ сделать это в Gstreamer-1.0, а также понимание того, почему другие способы не так хороши. Некоторые детали, которые я хотел бы рассмотреть: в чем разница между видео/x-raw и видео/x-raw-rgb, когда уже есть свойство «формат», установленное в «RGB». И является ли «x» в «RGBX» буквальным, держателем места для дополнительного «A» для альфа -канала или заполнителя для «8», «16» или какого -то такого количества битов на канал или что -то еще? /п>
Подробнее здесь: https://stackoverflow.com/questions/484 ... -these-day
Какой из нескольких способов установить крышки для AppSRC хорош и правильный в наши дни? ⇐ C++
Программы на C++. Форум разработчиков
1738120812
Anonymous
Я пишу экспериментальные приложения Gstreamer в C ++ на Linux. Пытаясь создать AppSRC для излучения алгоритмически сгенерированных кадров, я нашел в Интернете несколько способов установить колпачки исходных площадок AppSRC. Я предполагаю, что некоторые устарели. Некоторые могут быть для старого GST 0,1 и не использоваться. Я нахожу пример кода, который не помечен для версии GSTREAMER. Это беспорядок. Большинство способов, которые я нашел, можно обобщить в этом GOB кода: < /p>
source = gst_element_factory_make("appsrc", "MyAwesomeSource");
#if (1)
#if (1)
auto caps = gst_caps_new_simple("video/x-raw",
// auto caps = gst_video_format_new_caps("video/x-raw",
"format", G_TYPE_STRING, "RGB",
"width", G_TYPE_INT, FrameWidth,
"height", G_TYPE_INT, FrameHeight,
"framerate", GST_TYPE_FRACTION, framerate, 1,
"interlace-mode", G_TYPE_STRING, "progressive",
nullptr);
#else
auto caps = gst_caps_new_simple ("video/x-raw-rgb",
"bpp",G_TYPE_INT,24,
"depth",G_TYPE_INT,24,
"width", G_TYPE_INT, 640,
"height", G_TYPE_INT, 480,
NULL);
#endif
#else
GstVideoInfo vi;
gst_video_info_set_format(&vi, GST_VIDEO_FORMAT_RGBx, FrameWidth, FrameHeight);
auto caps = gst_video_info_to_caps(&vi);
#endif
g_object_set(source, "caps", caps,
...
< /code>
Я ищу четкое объяснение того, что такое правильный, правильный способ сделать это в Gstreamer-1.0, а также понимание того, почему другие способы не так хороши. Некоторые детали, которые я хотел бы рассмотреть: в чем разница между видео/x-raw и видео/x-raw-rgb, когда уже есть свойство «формат», установленное в «RGB». И является ли «x» в «RGBX» буквальным, держателем места для дополнительного «A» для альфа -канала или заполнителя для «8», «16» или какого -то такого количества битов на канал или что -то еще? /п>
Подробнее здесь: [url]https://stackoverflow.com/questions/48412427/which-of-several-ways-to-set-the-caps-for-an-appsrc-is-good-and-proper-these-day[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия