Пожалуйста, обратите внимание, что пользователь заблокирован
В общем заказчик не забрал материал, решил выложить тут. В виде небольшой статейки.
Наша задача сделать подмену изображения камеры с максимальным качеством для android studio emulator да впринципе и других эмуляторах.
В кратце, для чего это надо?
Да все очень просто, чтобы проходить проверку в приложениях на заведомо известные данные. Будь то чужие доки или другие.
Долго копошась над решением проблемы, мне пришлашла идея не потрошить эмулятор вообще и оставить его впокое. И я решил просто сделать виртуальную камеру, которую можно указать с любыми приложениями а так же ее можно как донора указать в эмуляторе. То есть любой вызов камеры, нам покажет заранее заготовленный эскиз, а может даже и видео. Ну что поехали?
Что нам надо?
1. Debian/Ubuntu подобная система. Хотя будет работать везде)
2. Прямые руки и чуток терпения.
Устанавливаем виртуальную камеру
1. ставим кодек
2. клонируем репозиторий драйвера
3. устанавливаем его
4. запускаем
И вуаля, у нас появляется устройство /dev/video0 или цифра выше если у вас уже стояло что-то.
Запускаем трансляцию изобразения в видео поток драйвера
Указываем обязательно -loop 1 чтобы зациклить данное действие. Но если вы были внимательны, сюда же можно и впихнуть видео поток)))
То есть мы можем проигрывать видео, и если откроем потом любым приложением наше устройство, то увидим видео.
Ну теперь финальная стадия, это эмуляция.
Открываем android studio, открываем окно где редактируется виртуальная машина и в настройках камеры, выбираем наше виртуальное устройство. Запускаем и разуемся жизни
У меня все, спасибо за внимание!) а ну и подделывать данные не хорошо ^_^
P.S. Есть вопросы, пишите, с радостью отвечу.
Наша задача сделать подмену изображения камеры с максимальным качеством для android studio emulator да впринципе и других эмуляторах.
В кратце, для чего это надо?
Да все очень просто, чтобы проходить проверку в приложениях на заведомо известные данные. Будь то чужие доки или другие.
Долго копошась над решением проблемы, мне пришлашла идея не потрошить эмулятор вообще и оставить его впокое. И я решил просто сделать виртуальную камеру, которую можно указать с любыми приложениями а так же ее можно как донора указать в эмуляторе. То есть любой вызов камеры, нам покажет заранее заготовленный эскиз, а может даже и видео. Ну что поехали?
Что нам надо?
1. Debian/Ubuntu подобная система. Хотя будет работать везде)
2. Прямые руки и чуток терпения.
Устанавливаем виртуальную камеру
1. ставим кодек
apt-get install git make ffmpeg
2. клонируем репозиторий драйвера
3. устанавливаем его
make && sudo make install
sudo depmod -a
4. запускаем
sudo modprobe v4l2loopback
И вуаля, у нас появляется устройство /dev/video0 или цифра выше если у вас уже стояло что-то.
Запускаем трансляцию изобразения в видео поток драйвера
ffmpeg -loop 1 -r 1/5 -i "path_to_image" -c:v libx264 -vf fps=25 -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video0
Указываем обязательно -loop 1 чтобы зациклить данное действие. Но если вы были внимательны, сюда же можно и впихнуть видео поток)))
То есть мы можем проигрывать видео, и если откроем потом любым приложением наше устройство, то увидим видео.
Ну теперь финальная стадия, это эмуляция.
Открываем android studio, открываем окно где редактируется виртуальная машина и в настройках камеры, выбираем наше виртуальное устройство. Запускаем и разуемся жизни
У меня все, спасибо за внимание!) а ну и подделывать данные не хорошо ^_^
P.S. Есть вопросы, пишите, с радостью отвечу.