ximagesink является элементом приемника и поэтому не имеет вывода (исходной площадки). Эта команда расскажет вам о деталях элемента:
gst-inspect-1.0 ximagesink
Обратите внимание, что у ximagesink есть только приемная панель и нет исходных, поэтому он не генерирует никаких выходных данных.
Вы можете сбросить видео прямо в файл, используя:
gst-launch-1.0 videotestsrc ! filesink location=~/cupcake.raw
К сожалению, это все еще не то, что вам нужно, поскольку videotestsrc будет генерировать необработанное видео, а не закодированное или мультиплексированное в mp4. Если вы хотите mp4, вам нужно поместить его в mp4mux, который организует данные, которые он получает, в контейнер mp4. Также рекомендуется кодировать видео, чтобы уменьшить его размер. Предположим, вы хотите использовать H.264 в качестве кодека. Вы можете использовать элемент x264enc для кодирования в H.264.
gst-launch-1.0 -e videotestsrc ! x264enc ! mp4mux ! filesink location=~/cupcake.mp4
Обратите внимание, что я также добавил параметр «-e», который заставит gst-launch-1.0 отправлять событие EOS и ждать сообщения EOS, указывающего на завершение работы элементов. Без флага конвейер просто прерывается и прерывается.
В любом случае я бы рекомендовал вернуться к руководствам по разработке приложений: http://gstreamer.freedesktop.org/documentation/ Также полезна справочная страница для gst-launch-1.0.
Отказ от ответственности: вы используете gstreamer 0.10, который уже 3 года не поддерживается и устарел, обновите его до 1.0 (этот ответ предназначен для 1.0, но его можно легко применить к 0.10, изменив команды на версию 0.10)
12.05.2015