#gstreamer #capture #hdmi #gst-launch-1.0
Вопрос:
Я все это погуглил, но не смог найти решение своей проблемы. Я буду рад, если у кого-нибудь возникнет подобная потребность и она каким-то образом разрешится.
Я делаю потоковую передачу на RTMP-сервер, выполнив следующую команду. Он захватывает видео с HDMI-кодера, обрезает, поворачивает видео.
gst-launch-1.0 -e v4l2src device=/dev/v4l/by-path/platform-fe801000.csi-video-index0 ! video/x-raw,format=UYVY,framerate=20/1 ! videoconvert ! videoscale ! video/x-raw, width=1280,height=720 ! videocrop top=0 left=0 right=800 bottom=0 ! videoflip method=counterclockwise ! omxh264enc ! h264parse! flvmux name=mux streamable=true ! rtmpsink sync=true async=true location='rtmp://XXXXX live=true'
и я хочу добавить звук к существующему микрофону на Raspberry. Например, я могу записать микрофонный ввод в wav-файл по нижеприведенному конвейеру.
gst-launch-1.0 alsasrc num-buffers=1000 device="hw:1,0" ! audio/x-raw,format=S16LE ! wavenc ! filesink location = a.wav
Мой вопрос: как я могу добавить аудио в существующую командную строку, которая передается на RTMP-сервер? А также, когда я записываю аудио в файл, возникает много шума. Как я могу этого избежать?
Спасибо
Ответ №1:
Я объединил аудио и видео. Но у меня все еще есть шум на аудио.
gst-launch-1.0 -e v4l2src device=/dev/v4l/by-path/platform-fe801000.csi-video-index0 ! video/x-raw,format=UYVY,framerate=20/1 ! videoconvert ! videoscale ! video/x-raw, width=1280,height=720 ! videocrop top=0 left=0 right=800 bottom=0 ! videoflip method=counterclockwise ! omxh264enc ! h264parse! flvmux name=mux streamable=true ! rtmpsink sync=true async=true location='rtmp://XXXXXXXXXXXXXXXX' alsasrc device="hw:1,0" ! queue ! audioconvert ! audioresample ! audio/x-raw,rate=44100 ! queue ! voaacenc bitrate=128000 ! audio/mpeg ! aacparse ! audio/mpeg, mpegversion=4 ! mux.
Ответ №2:
Я как бы устранил шум, выполнив следующий код. но все равно не так хорошо.
«ffmpeg -ar 48000 -ac 1 -f alsa -i hw:1,0 -acodec aac -ab 128k -af ‘высокие частоты=f=200, низкие частоты=f=200’ -f flv rtmp://XXXXX.XXXXXXX.XXXXX/LiveApp/» str(идентификатор) «-» str(идентификатор устройства) «-Аудио»