Как сдампить мультикаст
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- мл. сержант
- Сообщения: 129
- Зарегистрирован: 2009-03-04 10:24:44
Как сдампить мультикаст
Привет тебе, All!
Есть такая утилита multicat. Она позволяет легко и непринуждённо сдампить прямо в консоли мультимедийный контент, идущий мультикастом.
Но, похоже, спроектирована она только для Linux. Попытки установить её на FreeBSD фейлятся. Попытки установить bitstream, от которого она зависит, - тоже.
В портах этих утилит нет.
Может быть, для FreeBSD существует аналог?
Есть такая утилита multicat. Она позволяет легко и непринуждённо сдампить прямо в консоли мультимедийный контент, идущий мультикастом.
Но, похоже, спроектирована она только для Linux. Попытки установить её на FreeBSD фейлятся. Попытки установить bitstream, от которого она зависит, - тоже.
В портах этих утилит нет.
Может быть, для FreeBSD существует аналог?
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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/
- dekloper
- ст. лейтенант
- Сообщения: 1331
- Зарегистрирован: 2008-02-24 15:43:19
- Откуда: давно здесь сидим..
- Контактная информация:
Как сдампить мультикаст
просто вы не умеете ее готовить..
написано же - все пашет...The multicat suite of applications is very lightweight and designed to operate in tight environments. Memory and CPU usages are kept to a minimum, and they feature only one thread of execution. It is designed to run on Linux, FreeBSD and Mac OS X.
ТОВАгИЩИ! БгАТЬЯ И СЕСТгЫ! ДОЛОЙ гАВНОДУШИЕ!
-
- мл. сержант
- Сообщения: 129
- Зарегистрирован: 2009-03-04 10:24:44
Как сдампить мультикаст
Буду признателен, если подскажете, что делать. Вроде бы ругань на отсутствие bitstream, но когда пытаюсь его установить, то требуются какие-то аргументы. Мне не приходилось ещё настолько плотно знакомиться с утилитой install, чтобы разобраться в этом.
Код: Выделить всё
[user@home /tmp/multicat-2.1]$ sudo make
Password:
cc -O2 -pipe -Wall -Wformat-security -O3 -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -D_ISOC99_SOURCE -D_BSD_SOURCE -g -c multicat.c
multicat.c:55:32: error: bitstream/ietf/rtp.h: No such file or directory
multicat.c:56:31: error: bitstream/mpeg/ts.h: No such file or directory
multicat.c:57:32: error: bitstream/mpeg/pes.h: No such file or directory
In file included from multicat.c:59:
util.h:59: error: field 'iph' has incomplete type
multicat.c: In function 'raw_Write':
multicat.c:282: error: 'struct udphdr' has no member named 'len'
multicat.c:292: warning: implicit declaration of function 'writev'
multicat.c: In function 'GetPCR':
multicat.c:753: warning: implicit declaration of function 'ts_get_pid'
multicat.c:755: warning: implicit declaration of function 'ts_validate'
multicat.c:760: warning: implicit declaration of function 'ts_has_adaptation'
multicat.c:760: warning: implicit declaration of function 'ts_get_adaptation'
multicat.c:761: warning: implicit declaration of function 'tsaf_has_pcr'
multicat.c:763: warning: implicit declaration of function 'tsaf_get_pcr'
multicat.c:763: warning: implicit declaration of function 'tsaf_get_pcrext'
...
Код: Выделить всё
[user@home /tmp/bitstream]$ sudo make install
INSTALL
usage: install [-bCcMpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
[-o owner] file1 file2
install [-bCcMpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
[-o owner] file1 ... fileN directory
install -d [-v] [-g group] [-m mode] [-o owner] directory ...
*** [install] Error code 64
Stop in /tmp/bitstream.
- Alex Keda
- стреляли...
- Сообщения: 35456
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Как сдампить мультикаст
сдаётся мне, инсталл у вас не той системы.
недостататочно ГНУтый ....
недостататочно ГНУтый ....
Убей их всех! Бог потом рассортирует...
-
- мл. сержант
- Сообщения: 129
- Зарегистрирован: 2009-03-04 10:24:44
Как сдампить мультикаст
Уж какой есть... Где другой-то взять?
Система, если что, вот такая:
FreeBSD 9.1-RELEASE
Система, если что, вот такая:
FreeBSD 9.1-RELEASE
-
- прапорщик
- Сообщения: 483
- Зарегистрирован: 2007-10-09 11:31:03
Как сдампить мультикаст
а если порпоробовать gmake
-
- мл. сержант
- Сообщения: 129
- Зарегистрирован: 2009-03-04 10:24:44
Как сдампить мультикаст
Сделал. Похоже, что-то получилось:
И действительно:
Далее, скопировал содержимое /usr/local/include/bitstream в каталог, где пытаюсь собрать multicat. Получаю всё ту же ошибку:
Хотя файлы-то есть!
Где он их смотрит? Непонятно.
С gmake то же самое.
Код: Выделить всё
[user@home /tmp/bitstream]$ sudo gmake install
INSTALL /usr/local/include/bitstream
Код: Выделить всё
[user@home /]$ ll /usr/local/include/bitstream
total 44
drwxr-xr-x 9 root wheel 512B 13 апр 09:36 ./
drwxr-xr-x 90 root wheel 5,0k 13 апр 09:36 ../
drwxr-xr-x 2 root wheel 512B 13 апр 09:36 atsc/
-rw-r--r-- 1 root wheel 2,0k 13 апр 09:36 common.h
drwxr-xr-x 3 root wheel 512B 13 апр 09:36 dvb/
drwxr-xr-x 2 root wheel 512B 13 апр 09:36 ieee/
drwxr-xr-x 2 root wheel 512B 13 апр 09:36 ietf/
drwxr-xr-x 3 root wheel 512B 13 апр 09:36 mpeg/
drwxr-xr-x 2 root wheel 512B 13 апр 09:36 scte/
drwxr-xr-x 2 root wheel 512B 13 апр 09:36 smpte/
Код: Выделить всё
[user@home /tmp/multicat-2.1]$ sudo make
cc -O2 -pipe -Wall -Wformat-security -O3 -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -D_ISOC99_SOURCE -D_BSD_SOURCE -g -c multicat.c
multicat.c:55:32: error: bitstream/ietf/rtp.h: No such file or directory
multicat.c:56:31: error: bitstream/mpeg/ts.h: No such file or directory
multicat.c:57:32: error: bitstream/mpeg/pes.h: No such file or directory
In file included from multicat.c:59:
util.h:59: error: field 'iph' has incomplete type
multicat.c: In function 'raw_Write':
multicat.c:282: error: 'struct udphdr' has no member named 'len'
multicat.c:292: warning: implicit declaration of function 'writev'
...
Код: Выделить всё
[user@home /tmp/multicat-2.1]$ ll bitstream/ietf/rtp.h
-rw-r--r-- 1 user wheel 5,5k 13 апр 09:36 bitstream/ietf/rtp.h
С gmake то же самое.
-
- мл. сержант
- Сообщения: 129
- Зарегистрирован: 2009-03-04 10:24:44
Как сдампить мультикаст
Проверил на FreeBSD 10.3: те же уши
Правда, когда я скопировал содержимое +/usr/local/include/bitstream/+ в подкаталог каталога с исходниками multicat, картина изменилась:
То есть, файлы в итоге как будто нашлись, но всё равно всё пошло кувырком.
Как же всё-таки "приготовить" multicat под FreeBSD? Похоже, разработчики соврали, для красного словца написали о поддержке Фри, а на самом деле и не тестировали даже
Код: Выделить всё
% sudo make
cc -O2 -pipe -Wall -Wformat-security -O3 -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -D_ISOC99_SOURCE -D_BSD_SOURCE -g -c multicat.c -o multicat.o
multicat.c:55:10: fatal error: 'bitstream/ietf/rtp.h' file not found
#include <bitstream/ietf/rtp.h>
^
1 error generated.
*** Error code 1
Stop.
make: stopped in /tmp/multicat-2.1
Код: Выделить всё
% sudo make
cc -O2 -pipe -Wall -Wformat-security -O3 -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -D_ISOC99_SOURCE -D_BSD_SOURCE -g -c multicat.c -o multicat.o
multicat.c:55:10: error: 'bitstream/ietf/rtp.h' file not found with <angled> include; use "quotes" instead
#include <bitstream/ietf/rtp.h>
^~~~~~~~~~~~~~~~~~~~~~
"bitstream/ietf/rtp.h"
multicat.c:56:10: error: 'bitstream/mpeg/ts.h' file not found with <angled> include; use "quotes" instead
#include <bitstream/mpeg/ts.h>
^~~~~~~~~~~~~~~~~~~~~
"bitstream/mpeg/ts.h"
multicat.c:57:10: error: 'bitstream/mpeg/pes.h' file not found with <angled> include; use "quotes" instead
#include <bitstream/mpeg/pes.h>
^~~~~~~~~~~~~~~~~~~~~~
"bitstream/mpeg/pes.h"
In file included from multicat.c:59:
./util.h:59:19: error: field has incomplete type 'struct iphdr'
struct iphdr iph;
^
./util.h:59:13: note: forward declaration of 'struct iphdr'
struct iphdr iph;
^
multicat.c:282:20: error: no member named 'len' in 'struct udphdr'
pktheader.udph.len
~~~~~~~~~~~~~~ ^
multicat.c:292:19: warning: implicit declaration of function 'writev' is invalid in C99 [-Wimplicit-function-declaration]
if ( (i_ret = writev( i_output_fd, iov, 2 )) < 0 )
^
1 warning and 5 errors generated.
*** Error code 1
Stop.
make: stopped in /tmp/multicat-2.1
Как же всё-таки "приготовить" multicat под FreeBSD? Похоже, разработчики соврали, для красного словца написали о поддержке Фри, а на самом деле и не тестировали даже
-
- проходил мимо
Как сдампить мультикаст
надо поставить сперва http://www.videolan.org/developers/bitstream.html
-
- мл. сержант
- Сообщения: 129
- Зарегистрирован: 2009-03-04 10:24:44
Как сдампить мультикаст
Поставлено, я написал об этом несколькими сообщениями выше.
-
- мл. сержант
- Сообщения: 129
- Зарегистрирован: 2009-03-04 10:24:44
Как сдампить мультикаст
Неужто никому не приходилось решать подобную задачу?
-
- проходил мимо
Как сдампить мультикаст
далее, нужно правильно заменить __APPLE__ дефайны на __FreeBSD__, добавить опцию -D__FreeBSD__Abyrvalg писал(а):Неужто никому не приходилось решать подобную задачу?
и -lpthread, сборка разумеется gmake'ом, можно установить gcc и собирать им.
Если что-то не ясно, ну есть же список рассылки multicat-devel - спросите, подскажут, заодно, может
внесут соответствующие правки.
-
- мл. сержант
- Сообщения: 129
- Зарегистрирован: 2009-03-04 10:24:44
Как сдампить мультикаст
Не подскажете ли, где и как правильно прописывать эти опции?далее, нужно правильно заменить __APPLE__ дефайны на __FreeBSD__, добавить опцию -D__FreeBSD__
и -lpthread, сборка разумеется gmake'ом, можно установить gcc и собирать им.
Пока я остановился на следующем:
Код: Выделить всё
$ sudo env CFLAGS=-I/usr/local/include gmake multicat
cc -I/usr/local/include -Wall -Wformat-security -O3 -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -D_ISOC99_SOURCE -D_BSD_SOURCE -g -c -o multicat.o multicat.c
cc -I/usr/local/include -Wall -Wformat-security -O3 -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -D_ISOC99_SOURCE -D_BSD_SOURCE -g -c -o util.o util.c
cc -o multicat multicat.o util.o -lrt
/usr/bin/ld: undefined reference to symbol `pthread_setschedparam@@FBSD_1.0' (try adding -lthr)
//lib/libthr.so.3: could not read symbols: Bad value
cc: error: linker command failed with exit code 1 (use -v to see invocation)
Makefile:32: ошибка выполнения рецепта для цели «multicat»
gmake: *** [multicat] Ошибка 1
Вывернулся, как и посоветовали:
Код: Выделить всё
sudo cc -o multicat multicat.o util.o -lthr
Вроде прокатило. Буду проверять работоспособность завтра.
-
- мл. сержант
- Сообщения: 129
- Зарегистрирован: 2009-03-04 10:24:44
Как сдампить мультикаст
Всё работает как надо. Всем большое спасибо!