Jump to content
Калькуляторы

GStreamer - помогите чайнику

Приветствую.

Прошу помощи.

 

Сверх-задача - замультикастить RTSP камеру в MPEG-TS UDP поток.

Задачи попроще - замультикастить хотябы videotestsrc, или там MP4 файл.

 

Пытаюсь например так:

gst-launch videotestsrc ! video/x-raw-yuv, framerate=25/1, width=640, height=360 ! x264enc ! mpegtsmux ! udpsink host=239.185.46.253 port=1234 auto-multicast=true

 

_вроде как_ че-то мультикастится, снимаю tcpdump и на интерфейсе самого источника и SPAN сессией на коммутаторе вижу поток этот-же:

 

11:33:38.157301 74:26:ac:c9:bc:7d > 01:00:5e:39:2e:fd, ethertype IPv4 (0x0800), length 230: 10.1.1.18.39879 > 239.185.46.253.1234: UDP, length 188
11:33:38.157435 74:26:ac:c9:bc:7d > 01:00:5e:39:2e:fd, ethertype IPv4 (0x0800), length 230: 10.1.1.18.39879 > 239.185.46.253.1234: UDP, length 188
11:33:38.157674 74:26:ac:c9:bc:7d > 01:00:5e:39:2e:fd, ethertype IPv4 (0x0800), length 230: 10.1.1.18.39879 > 239.185.46.253.1234: UDP, length 188
11:33:38.157696 74:26:ac:c9:bc:7d > 01:00:5e:39:2e:fd, ethertype IPv4 (0x0800), length 230: 10.1.1.18.39879 > 239.185.46.253.1234: UDP, length 188
11:33:38.157828 74:26:ac:c9:bc:7d > 01:00:5e:39:2e:fd, ethertype IPv4 (0x0800), length 230: 10.1.1.18.39879 > 239.185.46.253.1234: UDP, length 188

 

Только на машине-приемника мультикаст этот не прилетает, подписку делаю

astra --analyze 'udp://ens160.400@239.185.46.253:1234

параллельно смотрю tcpdump - ничего кроме IGMP подписки.

 

Казалось-бы, наверное что-то не так с сетевыми настройками на приемние, но если по этому адресу на источнике запустить поток астрой, а не gstreamer, то на приемнике сразу идет траффик.

Share this post


Link to post
Share on other sites

Вижу что пакеты гстример маленькие даёт, нужно аггрегировать по 8-9 мпег2-тс пакетов в один юдп.

Как?? какой-то еще промежуточный плагин?

 

И еще я чисто формально не понимаю, почему в сеть пусть и маленькие, пакеты уходят, а до подписчика не доходят.

Опять-же, если бы с сетью чего-то не так было, тогда бы и астры мультик не доходил, а он доходит!

Адреса источника и назначения абсолютно одинаковые.

Edited by ShyLion

Share this post


Link to post
Share on other sites

Вижу что пакеты гстример маленькие даёт, нужно аггрегировать по 8-9 мпег2-тс пакетов в один юдп.

Как?? какой-то еще промежуточный плагин?

 

rtpmp2tpay перед udpsink.

Share this post


Link to post
Share on other sites

ААААААААААА

 

TTL!

 

блин, в параметрах udpsink указываю ttl=3, а пкеты один хрен уходят с ttl 1

что я делаю н так?

 

 

gst-launch videotestsrc ! video/x-raw-yuv, framerate=25/1, width=640, height=360 ! x264enc ! mpegtsmux ! rtpmp2tpay ! udpsink host=239.185.46.253 port=1234 auto-multicast=true ttl=3

 

Share this post


Link to post
Share on other sites

 

gst-launch videotestsrc ! video/x-raw-yuv, framerate=25/1, width=640, height=360 ! x264enc ! mpegtsmux ! rtpmp2tpay ! udpsink host=239.185.46.253 port=1234 auto-multicast=true ttl=3

 

 

 

я олень.

параметр ttl-mc

 

 

gst-launch videotestsrc ! video/x-raw-yuv, framerate=25/1, width=640, height=360 ! x264enc ! mpegtsmux ! rtpmp2tpay ! udpsink host=239.185.46.253 port=1234 auto-multicast=true ttl-mc=3

 

Share this post


Link to post
Share on other sites

Тестовой картинки добился, теперь например есть такой MP4 файл:

 

# mediainfo sw.mp4
General
Complete name                            : sw.mp4
Format                                   : MPEG-4
Format profile                           : Base Media
Codec ID                                 : isom (isom/avc1)
File size                                : 123 MiB
Duration                                 : 1mn 51s
Overall bit rate mode                    : Variable
Overall bit rate                         : 9 316 Kbps
Movie name                               : Star Wars: Episode VII - The Force Awakens - Teaser Trailer #2
Performer                                : Lucasfilm
Genre                                    : Trailer
Recorded date                            : 2015
Encoded date                             : UTC 2015-04-19 05:45:52
Tagged date                              : UTC 2015-04-19 05:45:52
Cover                                    : Yes

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L4
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 4 frames
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 1mn 50s
Bit rate                                 : 9 217 Kbps
Maximum bit rate                         : 36.0 Mbps
Width                                    : 1 920 pixels
Height                                   : 800 pixels
Display aspect ratio                     : 2.40:1
Frame rate mode                          : Constant
Frame rate                               : 23.976 (24000/1001) fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.250
Stream size                              : 122 MiB (99%)
Writing library                          : x264 core 146 r2538 121396c
Encoding settings                        : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=3 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=240 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=14.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Encoded date                             : UTC 2015-04-19 05:45:52
Tagged date                              : UTC 2015-04-19 05:45:53

Audio
ID                                       : 2
Format                                   : AAC
Format/Info                              : Advanced Audio Codec
Format profile                           : LC
Codec ID                                 : 40
Duration                                 : 1mn 51s
Bit rate mode                            : Variable
Bit rate                                 : 91.5 Kbps
Maximum bit rate                         : 125 Kbps
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Sampling rate                            : 44.1 KHz
Frame rate                               : 43.066 fps (1024 spf)
Compression mode                         : Lossy
Stream size                              : 1.21 MiB (1%)
Encoded date                             : UTC 2015-04-19 05:40:50
Tagged date                              : UTC 2015-04-19 05:45:53

 

Как его запулить в мультик?

Пробую так:

 

gst-launch filesrc location=sw.mp4 !  qtdemux ! mpegtsmux ! rtpmp2tpay ! udpsink host=239.185.46.253 port=1234 auto-multicast=true ttl-mc=3

Трафик идет, но приставка кажет черный экран.

Share this post


Link to post
Share on other sites

Ребята, помогите сделать снапшот с потока, пожалста.

Есть мультикаст, нужно по расписанию делать снимок кадра и выкладывать его в файл.

вот вывод ffprobe:

 

Input #0, mpegts, from 'udp://ens160.400@239.185.46.84:1234':
 Duration: N/A, start: 67486.738022, bitrate: N/A
 Program 1701
   Stream #0:0[0x65]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709), 1920x1080 [sAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
   Stream #0:1[0x66](rus): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 160 kb/s

 

или так:

Input #0, mpegts, from 'udp://239.185.46.1:1234':
 Duration: N/A, start: 45213.101444, bitrate: 3432 kb/s
 Program 33
   Metadata:
     service_name    : 1TV
     service_provider: Provider
   Stream #0:0[0x221]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv), 720x576 [sAR 16:15 DAR 4:3], 3304 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
   Stream #0:1[0x321](deu): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, mono, s16p, 128 kb/s (clean effects)
   Stream #0:2[0x421](deu): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.