Мы пытаемся заставить Gstreamer работать с DM368 Leopardboard *, мы успешно убедили его создать тестовое видео (videotestsrc), закодировать его и выгрузить в файл.
Работающая труба:
gst-launch -v videotestsrc num-buffers=100 ! queue ! ffenc_mpeg4 bitrate=800000 ! ffmux_mp4 ! filesink location=video_test.mp4
Следующим шагом будет изменение канала для потоковой передачи тестовой карты по сети, которая будет просматриваться на ПК с VLC, используя что-то вроде rtsp://ip_addr: port/streamname, но документация по как это сделать, кажется довольно тонким на земле (и часто устаревшим), и примеры, похоже, размывают исходный код и способы командной строки.
Я соглашусь с тем, что > 50% проблемы заключается в том, что мы не знакомы с Gstreamer и его различными частями, я всегда обнаружил, что если у меня есть рабочий пример, чтобы начать, я могу совать его палками и работать остальное оттуда.
У меня так далеко:
gst-launch -v videotestsrc ! queue ! ffenc_mpeg4 bitrate=800000 ! rtpmp4vpay ! tcpserversink host=<PC_ip> port=5000
Кажется, что что-то происходит в VLC (используя tcp://board_ip: port) - кажется, что там что-то происходит (не вызывает ошибку), но не играет/показать что-нибудь. Когда я прерываю (^ C) процесс gst, VLC замечает.
Итак, в основном - любое руководство/обратная связь будет замечательным, рабочий однострочный сканер будет фантастическим.
Отредактировано для добавления: Да, я вижу пример test_video.c, но для компиляции специальной программы для выполнения чего-то, что похоже, должно быть возможно просто вызвать из командной строки для доказательства концепции.
* = Linux version 2.6.32-17-ridgerun /CPU: ARM926EJ-S