не могу записать докер селен с помощью ffmpeg и ubuntu 18 - PullRequest
0 голосов
/ 01 января 2019

У меня есть скрипт, который запускает контейнер с селеном / автономным хромом, начинает запись с помощью ffmpeg и запускает тесты на селен.Однако он не работает с Ubuntu 18, возможно, из-за версии ffmpeg (3.4.4 вместо 2.8.15).

Я разбил проблему на пару команд, которые прекрасно работают в Ubuntu 16, ноnot ubuntu 18:

запустить контейнер селена в терминале # 1

docker run --network=host --shm-size=2g -e SCREEN_WIDTH=1920 -e SCREEN_HEIGHT=1080 selenium/standalone-chrome:3.141.59-antimony

начать запись в терминале # 2

rm -f test.mp4
# :99 seems to be the default for the selenium container
ffmpeg -f x11grab -video_size 1920x1080 -i :99 -codec:v libx264 -r 4 test.mp4

, и я получаю что-то похожее на это

frame=    2 fps=0.1 q=-1.0 Lsize=       2kB time=00:00:00.25 bitrate=  75.9kbits/s dup=0 drop=413 speed=0.0165

время остается на 0, а затем останавливается до 25 мсек, когда я его останавливаю.

С другой стороны, если я просто запускаю обычный экранный буфер в терминале # 1

Xvfb :99 -screen 0 1920x1080x24

и запустить то же самое, что и выше, в терминале # 2, все работает

Кроме того, я почти уверен, что указанная выше команда ffmpeg работала в Ubuntu 16 с ffmpeg-3.

Итак, подведем итог, когда вышеприведенная команда ffmpeg работает:

                   | ubuntu 16 (ffmpeg 3) | ubuntu 18 (ffmpeg 4)
just start Xvfb    | works                | works
selenium container | works                | DOES NOT WORK

Есть идеи?

...