Я новичок в gstreamer, и я хочу транслировать видео в формате mp4, которое имеет аудио и видео как с моего хоста (ПК с Ubuntu), так и на целевую плату. Я успешно транслировал только видео. Но потоковой передачи (аудио и видео) не происходит.
Конвейер для потоковой передачи только видео, как показано ниже
Отправитель:
gst-launch-1.0 -v filesrc location = video.mp4! decodebin! x264enc! rtph264pay! udpsink host = 192.168.2.136 port = 5000
получатель:
gst-launch-1.0 -v udpsrc port = 5000 caps = "application / x-rtp, media = video, clock-rate = 90000, encoding-name = H264, payload = 96, ssrc = 3394826012, timestamp-offset. = 2215812541, seqnum-offset = 46353 "! rtph264depay! avdec_h264! видеоконвертировать! ximagesink sync = false
Следовательно, можно увидеть видео по цели.
Сделал стриминг только аудио из mp4 файла.
Конвейер для потоковой передачи только видео, как показано ниже
Отправитель:
gst-launch-1.0 -v filesrc location = video.mp4! qtdemux name = демультиплексор демультиплексора. ! очередь ! rtpmp4apay pt = 97! udpsink host = 192.168.2.69 port = 5000
Получатель:
gst-launch-1.0 -v udpsrc port = 5000 caps = "application / x-rtp, media = audio, clock-rate = 44100, encoding-name = MP4A-LATM, cpresent = 0, config = 40002420, payload = 97, ssrc = 3386264266, timestamp-offset = 2822202855, seqnum-offset = 17719 "! rtpmp4adepay! decodebin! alsasink &
Это тоже работает успешно.
Но когда я попытался под конвейером синхронизировать потоковую передачу аудио / видео:
Отправитель:
gst-launch-1.0 -v filesrc location = sample.mp4! qtdemux name = demux demux. ! очередь ! rtph264pay pt = 96! udpsink host = 192.168.3.101 port = 5000 demux. ! очередь ! rtpmp4apay pt = 97! udpsink host = 192.168.3.101 port = 5001
Получатель:
gst-launch-1.0 -v udpsrc port = 5000 caps = "application / x-rtp, media = video, clock-rate = 90000, encoding-name = H264, payload = 96, ssrc = 2226494377, timestamp-offset. = 3242004369, seqnum-offset = 17021 "! rtph264depay! decodebin! ximagesink udpsrc port = 5001 caps = "application / x-rtp, media = audio, clock-rate = 44100, encoding-name = MP4A-LATM, cpresent = 0, config = 40002420, payload = 97, ssrc = 1499706502, timestamp- offset = 190741668, seqnum-offset = 24774 "! rtpmp4adepay! decodebin! alsasink
Но: получите вывод, как показано ниже:
ОШИБКА: из элемента / GstPipeline: pipeline0 / GstDecodeBin: decodebin1 / GstFaad: faad0: не удалось декодировать поток.
терпит неудачу. Кто-нибудь может предложить мне конвейер, который может синхронно передавать аудио / видео на целевое устройство.
Заранее спасибо.