last day (18 days later) » 

7:10 PM
кто-нибудь знает, как собрать ffmpeg под виндой? @αλεχολυτ @Igor @avp
makefile:2: ffbuild/config.mak: No such file or directory
makefile:40: /tools/Makefile: No such file or directory
makefile:41: /ffbuild/common.mak: No such file or directory
makefile:94: /libavutil/Makefile: No such file or directory
makefile:94: /ffbuild/library.mak: No such file or directory
makefile:96: /fftools/Makefile: No such file or directory
makefile:97: /doc/Makefile: No such file or directory
makefile:98: /doc/examples/Makefile: No such file or directory
makefile:163: /tests/Makefile: No such file or directory
 
avp
@Qwertiy сто лет к программированию в ней не прикасался, даже идей нет, где там / должен быть и почему все прямо в него прописано.
 
@Qwertiy тут ничего полезного не пишут? trac.ffmpeg.org/wiki/CompilationGuide/MinGW
 
@Qwertiy по этой инструкции?
Вообще, я вроде бы не собирал, а юзал готовый.
 
7:32 PM
@Qwertiy мазохист вы, батенька
 
7:55 PM
@αλεχολυτ готовый я тоже юзал...
@Suvitruf мне надо к нему вот это присобачить: nervous.io/ffmpeg/opengl/2017/01/31/ffmpeg-opengl
а я даже как есть собрать не могу ((
 
@Qwertiy нервозная система. Вы её ещё не собрали, а уже нервный.
 
@Suvitruf )))
@Suvitruf есть хорошие идеи, как собрать?
можно и под linux subsystem, скорее всего
но там тоже не получается ((
d:\Quser\Downloads\ffmpeg-snapshot\ffmpeg>./configure --toolchain=msvc
"." не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

d:\Quser\Downloads\ffmpeg-snapshot\ffmpeg>configure --toolchain=msvc
"configure" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

d:\Quser\Downloads\ffmpeg-snapshot\ffmpeg>
эта штука для винды вообще не исполняемая
 
@Qwertiy я больше ничего такого не собираю. К счастью.
:D
 
@Suvitruf , о значит есть опыт)
расскажи)
 
Ну, я собирал С++ код движка, когда портировал игры с ios на Android
Приходилось весь makefile ручками писать.
Проклинаю это время.
ejabberd ещё из сорсов собирал.
 
8:08 PM
но makefile же написан
 
@vp_arth это было бы слишком очевидно
 
@Qwertiy у вас да)
 
8:23 PM
@Suvitruf ну и чего мне с ним делать?)
 
@Qwertiy собирайте под LInux
 
@mymedia под настоящим?
lunix subsystem не годится?
 
@Qwertiy ну не знаю, никогда не пользовался этой штукой
но говорят - оно работает
 
$ make
Makefile:2: ffbuild/config.mak: No such file or directory
Makefile:40: /tools/Makefile: No such file or directory
Makefile:41: /ffbuild/common.mak: No such file or directory
Makefile:94: /libavutil/Makefile: No such file or directory
Makefile:94: /ffbuild/library.mak: No such file or directory
Makefile:96: /fftools/Makefile: No such file or directory
Makefile:97: /doc/Makefile: No such file or directory
Makefile:98: /doc/examples/Makefile: No such file or directory
Makefile:163: /tests/Makefile: No such file or directory
@mymedia оно работает, но в данном случае не получается
можешь сказать, чего ему не хватает?
 
вначале обычно надо делать ./configure, и только если эта команда успешно завершилась, можно начинать сборку с помощью make
мне кажется, в вашем случае ./configure говорит, что компилятор не установлен
 
8:36 PM
@mymedia установил перед этим, но он уже был, вроде
 
gcc --version
работает это?
 
стоп.. ты прав
но как???
 
avp
@Qwertiy PATH наверное надо прописать
 
а, блин
 
должен быть доступен из переменной PATH
 
8:37 PM
надо было вывод читать, а не только на цвет смотреть
Get:26 archive.ubuntu.com/ubuntu bionic/main amd64 libc6-dev amd64 2.27-3ubuntu1 [2587 kB]
Err:25 security.ubuntu.com/ubuntu bionic-updates/main amd64 linux-libc-dev amd64 4.15.0-29.31
  404  Not Found [IP: 2001:67c:1560:8001::14 80]
Get:27 archive.ubuntu.com/ubuntu bionic/main amd64 manpages-dev all 4.15-1 [2217 kB]
Fetched 25.9 MB in 58s (446 kB/s)
E: Failed to fetch security.ubuntu.com/ubuntu/pool/main/l/linux/…  404  Not Found [IP: 2001:67c:1560:8001::14 80]
он его скачать не смог
$ sudo apt install gcc
[sudo] password for quser:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
  libfreetype6
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
  binutils binutils-common binutils-x86-64-linux-gnu cpp cpp-7 gcc-7 gcc-7-base libasan4 libatomic1 libbinutils
  libc-dev-bin libc6-dev libcc1-0 libcilkrts5 libgcc-7-dev libgomp1 libisl19 libitm1 liblsan0 libmpc3 libmpx2
@mymedia, что делать?
 
apt update
затем (попробовать) повторить установку
 
$ apt update
Reading package lists... Done
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
W: Problem unlinking the file /var/cache/apt/pkgcache.bin - RemoveCaches (13: Permission denied)
W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permission denied)
что-то подозрительно
 
ах! с правами суперпользователя нужно запускать
sudo apt update
 
ёлки
а чего он сам не сказал? (
обновляется
 
¯\_(ツ)_/¯
 
8:41 PM
готов, ставлю gcc
 
можно все зависимости разом поставить:
sudo apt build-dep ffmpeg
 
@mymedia это что за команда?
у меня же скачанные исходники его
 
@Qwertiy у вас есть исходники для ffmpeg, но наверняка нет ещё библиотек, требуемых для сборки
 
@mymedia а они нужны?
я думал, он сам подтянет при сборке?
 
@Qwertiy да, нужны
 
8:44 PM
@mymedia nervous.io/ffmpeg/opengl/2017/01/31/ffmpeg-opengl - а тут тоже надо что-то ставить?
./configure --enable-filter=genericshader --enable-opengl \
    --extra-libs='-lGLEW -lglfw'
gcc установился
$ gcc --version
gcc (Ubuntu 7.4.0-1ubuntu1~18.04) 7.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ sudo apt build-dep ffmpeg
Reading package lists... Done
E: You must put some 'source' URIs in your sources.list
 
@Qwertiy бегло глянул на ту запись в блоге. Полагаю, чтобы воспользоваться той инструкцией, собирать ffmpeg не обязательно.
 
@mymedia ^^ ?
@mymedia эм.. он там в исходниках что-то меняет - собирать обязательно)
 
@Qwertiy эх... ну если так
это, конечно, не так удобно
 
$ ./configure
nasm/yasm not found or too old. Use --disable-x86asm for a crippled build.

If you think configure made a mistake, make sure you are using the latest
version from Git.  If the latest version fails, report the problem to the
ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "ffbuild/config.log" produced by configure as this will help
solve the problem.
что-то не то передаю?
 
это зависимостей установленных не хватает
 
8:48 PM
как поставить?
 
они у вас не ставятся, потому что репозиторий в /etc/apt/sources.list не прописаны
 
@mymedia как прописать?
 
там должна быть строчка вида
deb-src ru.archive.ubuntu.com/ubuntu bionic main restricted universe
deb-src ru.archive.ubuntu.com/ubuntu bionic-updates main restricted universe
 
$ cat /etc/apt/sources.list
# See help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb archive.ubuntu.com/ubuntu bionic main restricted
# deb-src archive.ubuntu.com/ubuntu bionic main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb archive.ubuntu.com/ubuntu bionic-updates main restricted
# deb-src archive.ubuntu.com/ubuntu bionic-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
 
@mymedia вот они там в самом верху - надо раскомментировать
 
8:51 PM
@mymedia какие конкретно? в точности таких не вижу, а похожи они все
или дописать?
 
№4 и №9
но можно и дописать - без разницы
 
@mymedia так?
 
оказывается, ещё нужно ниже - те, что с universe
№15 и №17
 
так?
 
@Qwertiy хотя минуточку, давайте всё таки вернёмся чуть назад. Не могу понять, зачем пересобирать ffmpeg. Кажется, по этому руководству - это не обязательно.
 
8:56 PM
@mymedia разве?
и ответь да про настройки, я их сохраню тогда)
 
@Qwertiy в принципе сойдёт
но чтобы они применились, придётся сделать sudo apt update
 
а, ok
как раз хотел сказать, что не помогло)
запустил
так что там про сборку?
почему ты считаешь, что она не нужна?
уже в ffmpeg добавили?
 
@Qwertiy там же вроде код самого ffmpeg не менялся
 
$ sudo apt update
Hit:1 archive.ubuntu.com/ubuntu bionic InRelease
Hit:2 security.ubuntu.com/ubuntu bionic-security InRelease
Hit:3 archive.ubuntu.com/ubuntu bionic-updates InRelease
Hit:4 archive.ubuntu.com/ubuntu bionic-backports InRelease
Get:5 archive.ubuntu.com/ubuntu bionic/restricted Sources [5324 B]
Get:6 archive.ubuntu.com/ubuntu bionic/main Sources [829 kB]
Get:7 archive.ubuntu.com/ubuntu bionic/universe Sources [9051 kB]
Get:8 archive.ubuntu.com/ubuntu bionic-updates/restricted Sources [2068 B]
неа ((
 
а только пишется какая-то программа с использованием этой библиотеки
 
9:01 PM
@mymedia в репозиторий глянь его
 
@Qwertiy так репозитории правили ради build-dep
 
@mymedia а, ok))
 
@Qwertiy, может нам в отдельный чатик пока перейти?
 
763 метра дискового пространства - нехилые у него зависимости
 
чтобы тут не захламлять всё
 
9:03 PM
@mymedia да я могу перенести потом
ну или погоди, сейчас создам, перенесу и продолжим там
 
@Qwertiy ну так всё по полной, может что и лишнее - но в принципе не помешает
 
127 messages moved from Stack Overflow на русском
@mymedia, вроде перенеслось, продолжаем?
оно пока ставится - только 19%
 
даа... не быстро :(
 
насколько я понимаю инструкцию, надо поменять в соответствии с diff-файлом https://github.com/nervous-systems/ffmpeg-opengl/blob/master/FFmpeg.diff
а ещё добавить файл с шейдерами: https://github.com/nervous-systems/ffmpeg-opengl/blob/master/vf_genericshader.c
ну и потом скомпилить и воспользоваться получившимся
@mymedia ускорился, 40%
@mymedia, поставились
 
отлично
теперь надо пробовать сконфигурировать
 
9:18 PM
запустил, оно думает
или его с параметрами надо было?
 
ага
но вначале изменения те из репозитория применить бы
 
я хотел сначала так попробовать, чтобы понимать, это я что-то поломал или оно в принципе ещё не научилось собираться)
сконфигурировалось
хм.. там предупреждения
но вроде собирается
 
раз оно уже сконфигурировалось, то по идее дальше процесс уже должен пойти без эксцессов
разве что сборку можно было бы распараллелить, если для make передать параметр -j
типа так для четырёхядерного процессора: make -j4
 
что-то не похоже ((
@mymedia, что ему не так?
 
сложно сказать - но тут, кажется, чего-то ему не хватает
а какие там самые первые ошибки?
 
9:25 PM
до этого только предупреждения, вроде
сейчас попробую полный скрин сделать
 
avp
@Qwertiy может configure в чем-то ошибся
 
@mymedia, @avp, вот их вывод ^^
блин.. опять imgur размер сам уменьшил :(
но в принципе видно
запустил вот это: ./configure --enable-opengl --extra-libs='-lGLEW -lglfw'
так вообще не хочет
$ ./configure --enable-opengl --extra-libs='-lGLEW -lglfw'
gcc is unable to create an executable file.
If gcc is a cross-compiler, use the --enable-cross-compile option.
Only do this if you know what cross compiling means.
C compiler test failed.

If you think configure made a mistake, make sure you are using the latest
version from Git.  If the latest version fails, report the problem to the
ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "ffbuild/config.log" produced by configure as this will help
 
@Qwertiy странно - пока нет идей из-за чего такие ошибки
может быть, какая-то несовместимость версий
 
sudo apt install opengl - не помогло
 
@Qwertiy подозреваю, тут опции для компилятора не подходящие
 
9:36 PM
test_cc
BEGIN /tmp/ffconf.BNPUeIqA/test.c
    1   int main(void){ return 0; }
END /tmp/ffconf.BNPUeIqA/test.c
gcc -c -o /tmp/ffconf.BNPUeIqA/test.o /tmp/ffconf.BNPUeIqA/test.c
gcc -o /tmp/ffconf.BNPUeIqA/test /tmp/ffconf.BNPUeIqA/test.o -lGLEW -lglfw
/usr/bin/ld: cannot find -lGLEW
/usr/bin/ld: cannot find -lglfw
collect2: error: ld returned 1 exit status
C compiler test failed.
конец файла ffbuild/config.log
блин.. ну почему он просто не сделал считывание шейдеров из файла и пулл-реквест им? ((
 
чтобы обойти "cannot find *", надо поставить эти библиотеки
sudo apt install libglew-dev libglfw-dev
 
$ sudo apt install libglew-dev libglfw-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libglfw-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libglfw-dev' has no installation candidate
@mymedia что ещё раскомментировать?
@mymedia кстати, откуда ты эти названия взял?
 
@Qwertiy поиск по содержимом пакетов умеет сайт packages.ubuntu.com
у меня ещё локально утсановлена утилита apt-file
 
> E: Package 'libglfw-dev' has no installation candidate
с этим-то что делать?
@mymedia мне тоже поставить?
 
@Qwertiy не обязательно - сайта достаточно
 
9:46 PM
@mymedia не понимаю
 
просто мне иногда бывает удобно делать поиск без доступа к Интернет
 
ладно, что делать-то?
 
@Qwertiy хм... этот пакет есть только в Ubuntu 16.04
надо понять, насколько он обязателен (этот пакет)
 
@mymedia устарел?
ладно, у меня пока и без него ничего не собралось)
пожалуй, надо в инструкцию заглянуть, на этот раз линуксовую)
 
@Qwertiy странно, и зачем его удалили
 
9:50 PM
cd ~/ffmpeg_sources && \
wget -O ffmpeg-snapshot.tar.bz2 ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 && \
tar xjvf ffmpeg-snapshot.tar.bz2 && \
cd ffmpeg && \
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
  --prefix="$HOME/ffmpeg_build" \
  --pkg-config-flags="--static" \
  --extra-cflags="-I$HOME/ffmpeg_build/include" \
  --extra-ldflags="-L$HOME/ffmpeg_build/lib" \
  --extra-libs="-lpthread -lm" \
  --bindir="$HOME/bin" \
  --enable-gpl \
  --enable-libaom \
gjljphtdf.? xnj gthdst akfub nen yt ghjcnj nfr&
./configure --pkg-config-flags="--static" --extra-libs="-lpthread -lm"
запустил такое
make
 
@Qwertiy оказывется, так и есть. Вместо него надо было ставить libglfw3-dev
 
@mymedia ща, я пока make делаю
 
кстати, принципиально самую последнюю версию ffmpeg компилировать?
 
@mymedia не думаю, там статья в январе 17 года написана
 
может, взять исходники той же версии, что и в вашей Ubuntu 18.04
из репозитория скачать исходный код можно так: apt source ffmpeg
 
9:55 PM
@mymedia а что поменяется?
 
@Qwertiy возможно, исчезнет ошибка при компиляции
которая, скорее всего, вызвана несовместимостью версий (зависимостей)
 
хм.. ok
@mymedia выполняется
кстати, h264 на видеокарте он уметь будет?
@mymedia скачался
конфигурируется
 
@Qwertiy должен по идее (хотя кто его знает - этот вопрос я особо не изучал)
 
у меня в винде он говорит built with gcc 8.3.1 (GCC) 20190414
почему мы сейчас его на gcc 7 собирали?
 
потому что в Ubuntu 18.04 такой компилятор используется в качестве основного
 
10:04 PM
<s>даже предупреждений пока не видно</s> появились
хотя это вроде про deprecated что-то
@mymedia подозреваю, что надо будет ему какие-то флаги скормить
 
@Qwertiy видимо так, но тут уж не смогу проконсультировать - во всяких премудростях ffmpeg не разбираюсь
 
как-то он медленно компилится
прошлый быстрее падал
 
в один поток, небось
 
ага, я не указал
но и тот в один падал
кстати, а почему они по умолчанию потоки не делают?
 
¯\_(ツ)_/¯
 
10:14 PM
дооооооооооолго
 
может, приостановить сборку и запустить уже в несколько потоков
 
приостановить? о_О
не прервать, а приостановить? т. е. он не заново начнёт?
 
после прерывания он должен продолжать
make смотрит, какие цели уже были собраны, и не компилирует их повторно
 
@mymedia что надо сделать?
 
Ctrl-C
затем make -j$(nproc)
 
10:19 PM
а теперь make -j4 ?
 
ну да
 
о, вроде ускорился
и выжрал весь порцессор
блин
/usr/bin/ld: final link failed: No space left on device
collect2: error: ld returned 1 exit status
Makefile:108: recipe for target 'ffplay_g' failed
make: *** [ffplay_g] Error 1
make: *** Waiting for unfinished jobs....
/usr/bin/ld: final link failed: No space left on device
collect2: error: ld returned 1 exit status
Makefile:108: recipe for target 'ffprobe_g' failed
make: *** [ffprobe_g] Error 1
не везёт мне ((
ща освобожу и продолжу)
2 гига ему хватит?
 
уже к завершающей стадии подбираемся
 
о!
похоже готов
 
avp
@Qwertiy кино будете смотреть?
 
10:26 PM
$ make -j4
STRIP ffmpeg
LD ffplay_g
LD ffprobe_g
STRIP ffserver
STRIP ffprobe
STRIP ffplay
да, собрался
@avp ща ему пару фалов поменяю и буду ещё раз собирать)
 
@Qwertiy а это вместе с изменениями от moea?
 
@mymedia без
@mymedia так, а что там надо было поставить?
 
@Qwertiy оно не работало без доустановок?
было: sudo apt install libglew-dev libglfw3-dev
 
@mymedia ну я же не внёс ещё его изменения - либы вроде только для них нужны
 
@avp так я понимаю, это продолжение истории с рыбьим глазом
3
Q: Убрать эффект рыбьего глаза

QwertiyЕсть видео с action-камеры, которая при записи применяет эффект типа рыбьего глаза. Область, которая должна быть прямоугольной, имеет несколько скруглённую форму - в сниппете она отмечена красным. Хотелось бы растянуть её обратно до синего прямоугольника. Я могу нарисовать 2 вертикальные или даже...

 
10:31 PM
@mymedia ага, мне там шеёдер предложили)
@mymedia поставил, скопипастил, переконфигугирую
 
avp
@mymedia а он даже такое умеет?
 
@avp nervous.io/ffmpeg/opengl/2017/01/31/ffmpeg-opengl - вот статья как сделать, чтобы умел
 
@Qwertiy кстати, если параметры для конфигуратора совпадают - можно не запускать его повторно
 
@avp а то бы я готовый использовал, а не компилировал))
@mymedia тогда печалька
я попытался сначала сделать make и получил ошибку
после чего переконфигурацию запустил с его командой
 
avp
@Qwertiy понятно (что статья есть -))
 
10:36 PM
@mymedia не, погодь, не может быть
у него ж там в диффе вложенный makefile меняется
и либы добавляются в вызов
 
@Qwertiy так вызова make должно быть достаточно
 
@mymedia они ж в параметры configure добавляются
 
он определяет, что изменилось - и пересобирает только такие файлы
@Qwertiy там - не-а
 
я делал без параметров, а у него вот так:
./configure --enable-filter=genericshader --enable-opengl \
    --extra-libs='-lGLEW -lglfw'
тут сразу и шейдер новый, и либы
 
аа... новый фильтр указан
 
10:39 PM
и opengl ещё
 
ну да, раз параметры для ./configure менялись - то запускать заново его придётся
никуда не деться
 
боюсь, что я ещё должен был флаг для кодеков найти...
кстати, тот ffmpeg получился всего на 19 метров, а обычно он под 70 весит
какой-то сильно покусанный)
виндовый о себе вот так говорит:
  built with gcc 8.3.1 (GCC) 20190414
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --e
nable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-lib
о! скомпилился
шустро он на этот раз
 
@Qwertiy наверное, в линуксовом зависимости динамические - в отдельных .so файлах
 
quser@DESKTOP-R547TGO:/mnt/w/Temp/Supertemp/ff/ffmpeg-3.4.6$ ./ffmpeg -h
ffmpeg version 3.4.6 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04)
  configuration: --enable-filter=genericshader --enable-opengl --extra-libs='-lGLEW -lglfw'
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libswscale      4.  8.100 /  4.  8.100
@mymedia просто когда готовый скачиваешь, то он полный, скорее всего
 
avp
@Qwertiy в статье же автор пишет, что урезал как мог, чтобы ничто не мешало играться с шейдерами
 
10:43 PM
а я самый урезанный собрал
@avp ну да)
 
@Qwertiy ну как, что-нибудь преобразовывается?
 
ща попробую
 
avp
@Qwertiy только я так и не увидел в статье, что именно говорить, чтобы убрать "рыбий глаз"
 
@avp это не в статью, это сюда:
@avp и вот вроде убирается: codepen.io/strangerintheq/pen/byzpNJ?editors=0010, хотя и неиделаьно
 
avp
@Qwertiy Ok
 
10:49 PM
@mymedia да, запускается, выходной файл делает
теперь надо шейдер правильный)
 
ну что ж! полдела сделано
откланяюсь, пожалуй
и пойду спать))
 
@mymedia спасибо!!!
@mymedia спокойной ночи!
 
avp
@Qwertiy, поздравляю, спокойной ночи!
 
@avp ^_^
блин.. забыл его вызвать
[AVFilterGraph @ 0x7ffff85d5a20] Error initializing filter 'genericshader'
Segmentation fault (core dumped)
не работает :(((
 

  last day (18 days later) »