ShyLion Posted December 25, 2015 Приветствую. Прошу помощи. Сверх-задача - замультикастить 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, то на приемнике сразу идет траффик. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted December 25, 2015 Вижу что пакеты гстример маленькие даёт, нужно аггрегировать по 8-9 мпег2-тс пакетов в один юдп. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ShyLion Posted December 25, 2015 (edited) Вижу что пакеты гстример маленькие даёт, нужно аггрегировать по 8-9 мпег2-тс пакетов в один юдп. Как?? какой-то еще промежуточный плагин? И еще я чисто формально не понимаю, почему в сеть пусть и маленькие, пакеты уходят, а до подписчика не доходят. Опять-же, если бы с сетью чего-то не так было, тогда бы и астры мультик не доходил, а он доходит! Адреса источника и назначения абсолютно одинаковые. Edited December 25, 2015 by ShyLion Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
^rage^ Posted December 27, 2015 Вижу что пакеты гстример маленькие даёт, нужно аггрегировать по 8-9 мпег2-тс пакетов в один юдп. Как?? какой-то еще промежуточный плагин? rtpmp2tpay перед udpsink. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ShyLion Posted December 28, 2015 ААААААААААА 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 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ShyLion Posted December 28, 2015 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 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ShyLion Posted December 28, 2015 Тестовой картинки добился, теперь например есть такой 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 Трафик идет, но приставка кажет черный экран. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ShyLion Posted February 15, 2016 Ребята, помогите сделать снапшот с потока, пожалста. Есть мультикаст, нужно по расписанию делать снимок кадра и выкладывать его в файл. вот вывод 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) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ShyLion Posted February 15, 2016 Короче сам допер. ffmpeg -y -loglevel quiet -i udp://238.185.46.253:1234?timeout=100000 -an -sn -vframes 1 /var/www/html/snapshots/snapshot.428.png Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...