У меня есть скрипт, который запускает контейнер с селеном / автономным хромом, начинает запись с помощью 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
Есть идеи?