Я использую следующую команду для потоковой передачи видео с rapsberry pi:
raspivid -t 0 -o - | gst-launch-1.0 fdsrc ! h264parse ! rtph264pay config-interval=1 pt=96 ! udpsink host=<host> port=<port>
И захват:
gst-launch-1.0 udpsrc port=<port> ! application/x-rtp, encoding-name=H264,payload=96 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! autovideosink sync=false
СейчасЯ хочу уменьшить частоту кадров потокового видео.Я обнаружил, что аргумент -fps
команды raspivid
работает не так, как я ожидал (запуск raspivid -t 0 -fps 15 -o -
не изменит частоту кадров выходного видео).Поэтому я решил изменить его, используя элемент videorate
gstreamer:
raspivid -t 0 -o - | gst-launch-1.0 fdsrc ! h264parse ! omxh264dec ! videorate ! video/x-raw,framerate=15/1 ! omxh264enc ! rtph264pay config-interval=1 pt=96 ! udpsink host=<host> port=<port>
Но захваченное видео имеет очень высокую задержку и частоту кадров.Тот же эффект, когда я пытаюсь воспроизвести видео на Raspberry без потоковой передачи:
raspivid -t 0 -o - | gst-launch-1.0 fdsrc ! h264parse ! omxh264dec ! videorate ! video/x-raw,framerate=15/1 ! videoconvert ! autovideosink
или событие без изменения частоты кадров:
raspivid -t 0 -o - | gst-launch-1.0 fdsrc ! h264parse ! omxh264dec ! autovideosink
Как я могу изменить частоту кадров видео в кодировке h264, используя gstreamer на raspbian?
Debian 8
gstreamer 1.4