FreeBSD + ffmpeg + multicast

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Olorin
рядовой
Сообщения: 26
Зарегистрирован: 2009-04-14 4:35:11
Контактная информация:

FreeBSD + ffmpeg + multicast

Непрочитанное сообщение Olorin » 2013-04-08 13:42:07

Доброго времени суток, форумчане!

Вопрос возник следующего характера..
FreeBSD 9.1, ffmpeg version 1.0.5, IPTV over multicast от провайдера. Задача простая - сменить аудио- видео-кодеки и отправить во флеш. Делаю как-то так:

Код: Выделить всё

/home/olorin # ffmpeg1 -i udp://@239.0.4.18:1234 -f flv -vcodec h264 -profile:v baseline -level 3.1 -acodec libfaac rtmp://mediaserver:1935/live/test.stream
ffmpeg version 1.0.5 Copyright (c) 2000-2012 the FFmpeg developers
  built on Apr  1 2013 08:09:54 with gcc 4.2.1 (GCC) 20070831 patched [FreeBSD]
  configuration: --prefix=/usr/local --mandir=/usr/local/man --incdir=/usr/local/include/ffmpeg1 --libdir=/usr/local/lib/ffmpeg1 --shlibdir=/usr/local/lib/ffmpeg1 --datadir=/usr/local/share/ffmpeg1 --build-suffix=1 --progs-suffix=1 --enable-shared --enable-gpl --enable-postproc --enable-avfilter --enable-pthreads --enable-memalign-hack --disable-libstagefright-h264 --disable-libutvideo --cc=cc --extra-cflags='-msse -I/usr/local/include/vorbis -I/usr/local/include' --extra-ldflags='-L/usr/local/lib ' --extra-libs=-pthread --disable-debug --enable-libaacplus --disable-indev=alsa --disable-outdev=alsa --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libass --disable-libcdio --disable-libcelt --enable-libfaac --enable-libfdk-aac --disable-ffserver --disable-fontconfig --disable-libfreetype --disable-frei0r --enable-gnutls --disable-libgsm --enable-libmp3lame --disable-libbluray --disable-libv4l2 --disable-libmodplug --disable-openal --enable-libopencv --enable-libopenjpeg --disable-libopus --dis  libavutil      51. 73.101 / 51. 73.101
  libavcodec     54. 59.100 / 54. 59.100
  libavformat    54. 29.104 / 54. 29.104
  libavdevice    54.  2.101 / 54.  2.101
  libavfilter     3. 17.100 /  3. 17.100
  libswscale      2.  1.101 /  2.  1.101
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
Собственно, на этом все и останавливается.. При этом, на Ubuntu ffmpeg version git-2013-02-05-103a2c2 built on Feb 5 2013 17:58:57 эта же команда отрабатывает спокойно, и лопатит мультикаст в h264.

Из того, что может быть полезным: у компа 2 интерфейса, фаерволл открыт, sysctl не накручен, tcpdump на одном из интерфейсов показывает много multicast-трафика, который относится к IPTV.

В связи с желанием использовать правильную ОС, вопрос к форумчанам: есть ли идеи, как завернуть multicast в ffmpeg штатными средствами, не используя костылей а-ля udpxy (пробовал, работает, но чем нативней - тем лучше)?
Последний раз редактировалось f_andrey 2013-04-08 14:42:04, всего редактировалось 1 раз.
Причина: Автору. пожалуйста, выбирайте соответствующий раздел форума.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35266
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: FreeBSD + ffmpeg + multicast

Непрочитанное сообщение Alex Keda » 2014-03-22 12:58:08

той же версии пробовали собрать?
Убей их всех! Бог потом рассортирует...

Olorin
рядовой
Сообщения: 26
Зарегистрирован: 2009-04-14 4:35:11
Контактная информация:

Re: FreeBSD + ffmpeg + multicast

Непрочитанное сообщение Olorin » 2014-03-28 11:34:21

Почти год спустя хочу извиниться, что не описал решение проблемы, и исправляюсь.)

Я указывал, что используется 2 интерфейса. На одном - мультикаст, на другом - все остальное (в том числе, и маршрут по умолчанию). Все решилось указанием маршрута для мультикаста через шлюз второго интерфейса. Как-то так в /etc/rc.conf:

Код: Выделить всё

## Networking
ifconfig_em1="inet X.X.X.54 netmask 255.255.255.192"
ifconfig_em0="inet Y.Y.Y.217 netmask 255.255.255.240"
defaultrouter="X.X.X.1"
hostname=example.com

static_routes="multicast_igmp"
route_multicast_igmp="-net 224.0.0.0/4 Y.Y.Y.222"