Вопрос возник следующего характера..
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
Из того, что может быть полезным: у компа 2 интерфейса, фаерволл открыт, sysctl не накручен, tcpdump на одном из интерфейсов показывает много multicast-трафика, который относится к IPTV.
В связи с желанием использовать правильную ОС, вопрос к форумчанам: есть ли идеи, как завернуть multicast в ffmpeg штатными средствами, не используя костылей а-ля udpxy (пробовал, работает, но чем нативней - тем лучше)?