Bug 30989 - Пакет obs-studio для трансляции видео
Summary: Пакет obs-studio для трансляции видео
Status: CLOSED FIXED
Alias: None
Product: New/proposed packages
Classification: Development
Component: Обычный репозиторий (show other bugs)
Version: не указана
Hardware: all Linux
: P3 normal
Assignee: Andrey Cherepanov
QA Contact: Andrey Cherepanov
URL: https://obsproject.com/download#linux
Keywords:
: 33508 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-05-05 16:23 MSK by Koi
Modified: 2018-06-26 15:12 MSK (History)
9 users (show)

See Also:


Attachments
Патч заменяет зависимость libswresampler на libavresampler (4.02 KB, patch)
2015-08-31 13:40 MSK, Антон Мидюков
no flags Details | Diff
Спек (3.16 KB, text/x-rpm-spec)
2015-08-31 13:44 MSK, Антон Мидюков
no flags Details
opengl error log (2.32 KB, text/plain)
2016-12-09 16:49 MSK, Konstantin Yablochkin
no flags Details
obs-studio build log extract (1.32 KB, text/plain)
2016-12-10 01:27 MSK, Konstantin Yablochkin
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Koi 2015-05-05 16:23:02 MSK
Хочу попросить собрать программу obs-studio для стрим вещания. Это единственная программа приличная программа для linux такого типа. Я пробовал ее собрать сам, но ей нужна библиотека libswresample-devel которая есть в FFMpeg. Собрал  FFMpeg, но его библиотеки не хотят ставится если аналогичные libav. Одним словом моего опыта для сборки этой программы не хватит, а программа нужная.

На форуме есть мои попытки собрать:
http://forum.altlinux.org/index.php/topic,33840.msg253337.html#msg253337

Она собирается на сизифе, для сборки под р7 много устаревшего ПО.
Comment 1 Антон Мидюков 2015-08-31 13:40:37 MSK
Created attachment 6361 [details]
Патч заменяет зависимость libswresampler на libavresampler

Патч заменяет зависимость libswresampler на libavresampler, cmake проходит успешно, а сборка обрывается на 2 %
[  2%] Building C object deps/libff/CMakeFiles/libff.dir/libff/ff-clock.c.o
/usr/src/RPM/BUILD/obs-studio-0.11.4/deps/libff/libff/ff-clock.c: In function 'ff_clock_start':
/usr/src/RPM/BUILD/obs-studio-0.11.4/deps/libff/libff/ff-clock.c:78:5: warning: implicit declaration of function 'av_log' [-Wimplicit-function-declaration]
     av_log(NULL, AV_LOG_ERROR, "could not start "
     ^
/usr/src/RPM/BUILD/obs-studio-0.11.4/deps/libff/libff/ff-clock.c:78:18: error: 'AV_LOG_ERROR' undeclared (first use in this function)
     av_log(NULL, AV_LOG_ERROR, "could not start "
                  ^
/usr/src/RPM/BUILD/obs-studio-0.11.4/deps/libff/libff/ff-clock.c:78:18: note: each undeclared identifier is reported only once for each function it appears in
/usr/src/RPM/BUILD/obs-studio-0.11.4/deps/libff/libff/ff-clock.c: In function 'ff_clock_init':
/usr/src/RPM/BUILD/obs-studio-0.11.4/deps/libff/libff/ff-clock.c:95:27: warning: implicit declaration of function 'av_mallocz' [-Wimplicit-function-declaration]
  struct ff_clock *clock = av_mallocz(sizeof(struct ff_clock));
                           ^
/usr/src/RPM/BUILD/obs-studio-0.11.4/deps/libff/libff/ff-clock.c:95:27: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
/usr/src/RPM/BUILD/obs-studio-0.11.4/deps/libff/libff/ff-clock.c:111:2: warning: implicit declaration of function 'av_free' [-Wimplicit-function-declaration]
  av_free(clock);
  ^
make[2]: *** [deps/libff/CMakeFiles/libff.dir/libff/ff-clock.c.o] Error 1
make[2]: Leaving directory `/usr/src/RPM/BUILD/obs-studio-0.11.4'
make[1]: *** [deps/libff/CMakeFiles/libff.dir/all] Error 2
make[1]: Leaving directory `/usr/src/RPM/BUILD/obs-studio-0.11.4'
make: *** [all] Error 2
make: Leaving directory `/usr/src/RPM/BUILD/obs-studio-0.11.4'
error: Bad exit status from /usr/src/tmp/rpm-tmp.52599 (%build)

Похоже жёстко привязан к ffmpeg и с libav не собрать его так просто.
Comment 2 Антон Мидюков 2015-08-31 13:44:38 MSK
Created attachment 6362 [details]
Спек
Comment 3 Koi 2015-11-27 17:28:07 MSK
Я позже попробую собрать ffmpeg, как альтернативу libav. Пусть будет.
Comment 4 Konstantin Yablochkin 2016-12-08 19:21:56 MSK
Собралось, не закускается. Вот здесь:
https://obsproject.com/forum/threads/build-obs-studio-from-sources-error-x-error-glxbadfbconfig.39915/
пишут, что надо иметь OpenGL 3.2

Вот здесь нужные SRPM и x86_64 RPM:
https://yadi.sk/d/d2-vHc7n32bT26

Я собрал библиотеки из FFmpeg, переименовав их в libffavutil, libffavcodec, ...
Собирал в 6 этапов. Пробовал сразу все, оно при линковке пишет, что не найдено -lffavutil и др. Когда libffavutil заранее установен, линкуется. Так в 6 этапов

Через sed во всех файлах меняются входжения avutil на ffavutil, AVUTIL на FFAVUTIL, avcodec на ffavcodec и т.д.
Файлы переименовываются по этой же схеме: s/^(avutil.*)/ff\1/g (но без вариантов рерхнего регистра). Это в исходниках FFmpeg перед сборкой

В исходниках obs-studio тоже так делается
Comment 5 Konstantin Yablochkin 2016-12-08 19:23:02 MSK
> В исходниках obs-studio тоже так делается

точнее, там не переименовываются файлы
Comment 6 Konstantin Yablochkin 2016-12-08 19:43:24 MSK
Кому интересно, попробуйте запустить. Если у вас OpenGL 3.2+, мб будет работать
Comment 7 Антон Мидюков 2016-12-09 06:24:03 MSK
(In reply to comment #4)
> Собралось, не закускается. Вот здесь:
> https://obsproject.com/forum/threads/build-obs-studio-from-sources-error-x-error-glxbadfbconfig.39915/
> пишут, что надо иметь OpenGL 3.2
> 
> Вот здесь нужные SRPM и x86_64 RPM:
> https://yadi.sk/d/d2-vHc7n32bT26

Вы под Сизиф собирали? У меня не запускается пишет:
Attempted path: share/obs/obs-studio/locale/en-US.ini
Attempted path: /usr/share/obs/obs-studio/locale/en-US.ini
Attempted path: share/obs/obs-studio/locale.ini
Attempted path: /usr/share/obs/obs-studio/locale.ini
Attempted path: share/obs/obs-studio/locale/ru-RU.ini
Attempted path: /usr/share/obs/obs-studio/locale/ru-RU.ini
info: Using preferred locale 'ru-RU'
Attempted path: share/obs/obs-studio/themes/Default.qss
Attempted path: /usr/share/obs/obs-studio/themes/Default.qss
Attempted path: share/obs/obs-studio/license/gplv2.txt
Attempted path: /usr/share/obs/obs-studio/license/gplv2.txt
info: Processor: 2 logical cores
info: Processor: AMD E2-1800 APU with Radeon(tm) HD Graphics
info: Physical Memory: 7579MB Total
info: Kernel Version: Linux 4.8.11-un-def-alt1
info: Distribution: "Sisyphus" 20161130
info: Portable mode: false
QObject::connect: invalid null parameter
info: OBS 0.0.1 (linux)
info: ---------------------------------
info: ---------------------------------
info: audio settings reset:
	samples per sec: 44100
	speakers:        2
info: OpenGL version: 3.3 (Core Profile) Mesa 13.0.2

obs: symbol lookup error: /usr/lib64/libffavformat.so.57: undefined symbol: ffavcodec_register_all
Comment 8 Konstantin Yablochkin 2016-12-09 16:35:12 MSK
Да, собирал под sisyphus, с опцией LDFLAGS=-Wl,--warn-unresolved-symbols, чтобы при линковке отстуствующие функции не вызывали ошибку и с RPM_VERIFY_ELF_METHOD="unresolved=relaxed" в секции %install, чтобы проверки пропустили получившиеся .so и исполняемые файлы. Собранная таким образом программа ffmpeg сразу пишет undefined symbol. obs у меня запускался и писал, что не получилось инициализировать X, я решил, что там нет undefined symbol. Оказалось, есть. Сейчас пробую пересобрать ffmpeg-библиотеки, использую встроенное переименование (опции --progs-suffix= --build-suffix= скрипта configure), без sed
Comment 9 Konstantin Yablochkin 2016-12-09 16:49:14 MSK
Created attachment 6895 [details]
opengl error log

Вот этот вывод (вложение), появляется окно Error с текстом Failed to initialize vide: Unspecified error

Здесь пишут про OpenGL:
https://obsproject.com/forum/threads/build-obs-studio-from-sources-error-x-error-glxbadfbconfig.39915/
Comment 10 Konstantin Yablochkin 2016-12-10 01:27:34 MSK
Created attachment 6896 [details]
obs-studio build log extract

вложение = часть log'а сборки obs-studio

Пересобрал ffmpeg, собралось всё сразу, без unresolved reference. В obs-studio (см. лог) были unres. ref. для некоторых библиотек (что-то про xcb, XOpenDisplay)

У меня так же, как раньше - не работает из-за OpenGL, попробуйте кому интересно

https://yadi.sk/d/d2-vHc7n32bT26
Comment 11 Антон Мидюков 2016-12-10 03:39:36 MSK
(In reply to comment #10)
> Created an attachment (id=6896) [details]
> obs-studio build log extract
> 
> вложение = часть log'а сборки obs-studio
> 
> Пересобрал ffmpeg, собралось всё сразу, без unresolved reference. В obs-studio
> (см. лог) были unres. ref. для некоторых библиотек (что-то про xcb,
> XOpenDisplay)
> 
> У меня так же, как раньше - не работает из-за OpenGL, попробуйте кому интересно
> 
> https://yadi.sk/d/d2-vHc7n32bT26

А вот теперь запустилось. Попадут ли пакеты в Сизиф?
Comment 12 Konstantin Yablochkin 2016-12-10 03:43:17 MSK
> А вот теперь запустилось. Попадут ли пакеты в Сизиф?

Должны попасть. Я сейчас не являюсь майнтейнером, учусь собирать. Кто-то ещё, либо я через время, скорее всего, выложит в sisyphus
Comment 13 Антон Мидюков 2016-12-10 04:28:01 MSK
(In reply to comment #12)
> > А вот теперь запустилось. Попадут ли пакеты в Сизиф?
> 
> Должны попасть. Я сейчас не являюсь майнтейнером, учусь собирать. Кто-то ещё,
> либо я через время, скорее всего, выложит в sisyphus

Да вы уже, по-моему научились! Вы уже начали процесс вступления? Спрашиваю потому как, если бы начали, то логичнее было бы видеть тестовое задание, а не пакеты на яндекс-диске.
Comment 14 Konstantin Yablochkin 2016-12-10 04:47:57 MSK
> Да вы уже, по-моему научились! Вы уже начали процесс вступления? Спрашиваю
> потому как, если бы начали, то логичнее было бы видеть тестовое задание, а не
> пакеты на яндекс-диске.

http://git.altlinux.org/people/yakonstb/packages/?p=ffmpeg.git;a=summary
http://git.altlinux.org/people/yakonstb/packages/?p=obs-studio.git;a=summary

Вот, я залил на git.alt эти сборки. Далее надо команду build запускать, но к ней доступ отдельно выдаётся (на другой хост подключаться надо). Пока неизвестно, когда у mike@ будет время посмотреть мои сборки

https://bugzilla.altlinux.org/show_bug.cgi?id=32739
Comment 15 Konstantin Yablochkin 2016-12-12 12:43:25 MSK
Посмотрите кто может из менторов мои сборки, mike@ не успевает
Comment 16 Konstantin Yablochkin 2016-12-13 23:54:48 MSK
Пока obs-studio не будет. Если меня сделают мантенером, я ге буду выкладывать. просяь ffmpeg не собирать
Comment 17 Konstantin Yablochkin 2016-12-13 23:56:25 MSK
реопенед
Comment 18 Антон Мидюков 2016-12-14 09:45:55 MSK
Константин, а не попробуете собрать ещё и под p7? И загляните в тему https://forum.altlinux.org/index.php?topic=34559.0 Если получится, напишите и туда. Спасибо!
Comment 19 Konstantin Yablochkin 2016-12-17 22:20:14 MSK
added myself to CC

собирал под p7, замучался, недособрал новый cmake, который нужен для obs
Comment 20 Антон Мидюков 2016-12-18 05:18:29 MSK
(В ответ на комментарий №19)
> added myself to CC
> 
> собирал под p7, замучался, недособрал новый cmake, который нужен для obs

Да, если там такие сложности, надо было сразу бросать. Или как вариант, пробовать собирать одну из предыдущих версий obs, которой не нужен новый cmake.
Comment 21 Konstantin Yablochkin 2017-01-23 23:36:23 MSK
выкладывайте без меня

как я собрал, можно посмотреть вот здесь (использовал ffmpeg, переименованный, лежит там же, импользует новую сборку x265, но можно отключить)
https://github.com/konstyab?tab=repositories
Comment 22 Антон Мидюков 2017-05-27 10:48:41 MSK
*** Bug 33508 has been marked as a duplicate of this bug. ***
Comment 23 Repository Robot 2017-07-12 09:40:58 MSK
obs-studio-19.0.3-alt1 -> sisyphus:

* Wed Jul 12 2017 Anton Midyukov <antohami@altlinux> 19.0.3-alt1
- Initial build for ALT Linux Sisyphus (Closes: 30989).