Убунту и USB камера с микрофоном

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
gjghjc
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 659
Зарегистрирован: 13.10.2002 (Вс) 8:28
Откуда: БАЛАКЛАВА!!

Убунту и USB камера с микрофоном

Сообщение gjghjc » 06.03.2017 (Пн) 11:39

Всем доброго дня!
Решил я на старости лет поковырять линукс. Купил по случаю небольшой миникомп на Celeron 1.1 ГГц, 2 ГБ оперативы.
Воткнул туда Ubuntu 16.04
И захотелось мне сделать из юсб видеокамеры этакое всевидящее око (оно же видеоняня со звуком) для одной из комнат где постоянно "шалят" два моих малолетних бармалея.

Нашел в интернетах инструкции как при помощи ffmpeg и ffserver осуществлять видео трансляцию да со звуком. Вроде все просто. НО!

Код: Выделить всё
cat /proc/asound/cards
0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xf7e00000 irq 32
1 [U0x46d0x824    ]: USB-Audio - USB Device 0x46d:0x824
                      USB Device 0x46d:0x824 at usb-0000:00:1d.0-1.2, high speed
2 [H2300          ]: USB-Audio - HP Webcam HD 2300
                      Hewlett Packard HP Webcam HD 2300 at usb-0000:00:1d.0-1.4, high speed




На одной камере которая определяется как HP Webcam HD 2300 все работает без проблем. Трансляция идет с небольшой задержкой (около 2-3 секунд) и со звуком.
Со второй камеры я могу получить или только картинку (причем довольно удобоваримого качества несмотря на "бренд" камеры) или только запись звука в файл.

вот мой ffserver.config (Да, честно содрал с примеров в тырнете)
Код: Выделить всё

# Порт, на котором будет работать ffserver
    HTTPPort 4444

# Адрес, на котором будет работать ffserver.
# Если указать 0.0.0.0 то будут использованы все доступные адреса
    HTTPBindAddress 0.0.0.0


# Максимальное количество обслуживаемых соединений
    MaxHTTPConnections 10
# Максимальное количество клиентов
    MaxClients 10
# Максимальная используемая полоса (в килобитах)
    MaxBandwidth 5000
# Файл журнала. Формат подобен формату лога apache
    CustomLog /var/log/ffserver-access.log


# Описываем источник
    <Feed webcam.ffm>
# Временный файл для хранения промежуточных данных
    File /tmp/webcam.ffm
# Максимальный размер файла с промежуточными данными
    FileMaxSize 5M
# Команда запуска ffmpeg для захвата видео с камеры и отправки ffserver-у.
# Адрес для отправки данных (localhost) автоматически будет добавлен в конец этой строки.
# (подробнее см. ниже).
    Launch ffmpeg -s 1024x768  -f video4linux2 -i /dev/video1 -f alsa -i hw:2,0
#-i hw:1 -c 1
# -f alsa -i hw:1,0
# С каких адресов может обращаться источник. Если закоментировано - с любых.
# ACL allow 127.0.0.1
</Feed>

# Описываем поток. SWF-файл с FLV-потоком внутри.
    <Stream webcam.flv>
# Источник потока
    Feed webcam.ffm
# Используемый формат
    Format flv
   
# Используемый кодек
#   AudioCodec mp2
# Используемый кодек
    VideoCodec flv
   AudioBitRate 32
# 32
   AudioChannels 1
   AudioSampleRate 22050
# Частота кадров
    VideoFrameRate 30
# Размер буфера
VideoBufferSize 128000
# Битрейт
VideoBitRate 300
# Минимальное и максимальное качество (1-лучшее, 31-худшее)
    VideoQMin 1
    VideoQMax 5
# Размер видео. Дожно совпадать с размером видео на источнике
    VideoSize 1024x768
# Время ожидания перед началом отправки данных клиенту (в секундах)
    PreRoll 0
# Если не нужно транслировать звук
# NoAudio
</Stream>
# При обращении к индексной странице ffserver будем отображать текущий статус сервера
    <Stream index.html>
    Format status
    </Stream>


Если строку
Код: Выделить всё
Launch ffmpeg -s 1024x768  -f video4linux2 -i /dev/video1 -f alsa -i hw:2,0

где /dev/video1 и hw:2,0 соответствует вебке от HP изменить на
Код: Выделить всё
Launch ffmpeg -s 1024x768  -f video4linux2 -i /dev/video0 -f alsa -i hw:1,0

где /dev/video0 и hw:1,0 соответствует вебке от "бренда" то запуска трансляции не происходит.

Если конфиг переписать включив NoAudio и в строке с Launch убрать -f alsa -i hw:1,0 то видео стартует
Если просто попытаться записать звук с микрофона "брендовой" камеры в файл - то все нормально.
Если попробовать взять видео с камеры от НР а звук от бренда то в логе
Код: Выделить всё
Mon Mar  6 11:28:03 2017 FFserver started.
Mon Mar  6 11:28:03 2017 Launch command line: ffmpeg -s 1024x768 -f video4linux2 -i /dev/video1 -f alsa -i hw:1,0 http://127.0.0.1:4444/webcam.ffm

а ffserver, для проверки, запущенный от sudo из окна терминала крашится с таким сообщением
Код: Выделить всё
webcam.ffm: Pid 2198 exited with status 256 after 1 seconds

В syslog ничего по этому поводу нет, ну или я в силу малого опыта не увидел.

Вобщем буду признателен за любую помощь.

З.Ы. Можно было бы и НР камеру оставить, но почему-то у брендовой качество картинки чуть лучше и светочувствиветльность повыше.

З.З.Ы. Настройками камер игрался, все равно картинка с "брендовой" нравится боьше
Последний раз редактировалось Хакер 08.03.2017 (Ср) 6:54, всего редактировалось 1 раз.
Причина: Теги icode
Утро добрым не бывает!

gjghjc
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 659
Зарегистрирован: 13.10.2002 (Вс) 8:28
Откуда: БАЛАКЛАВА!!

Re: Убунту и USB камера с микрофоном

Сообщение gjghjc » 25.03.2017 (Сб) 20:43

Внезапно "брендовая" камера оказалась от logitech.
И что тоже не понятно, такая распространенная камера этого же производителя как С270 ведет себя абсолютно идентично.
Картинка хорошая, гораздо лучше чем HP2300, при попытке стримить изображение со звуком валится с той же ошибкой
Утро добрым не бывает!

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: Убунту и USB камера с микрофоном

Сообщение Proxy » 26.03.2017 (Вс) 19:16

logitech С270 у меня не работает на одном рабочем ПК и работает на другом. ИМХО самая капризная из всех, с которыми доводилось иметь дело. Переустановка ОС и перебор всех доступных драйверов никак не решили проблему. Заведомо исправный комп и заведомо исправная камера... не работают. Уже не помню в чем именно там дело, но кажется конфликт прерываний с чем-то.
Follow the white rabbit.

gjghjc
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 659
Зарегистрирован: 13.10.2002 (Вс) 8:28
Откуда: БАЛАКЛАВА!!

Re: Убунту и USB камера с микрофоном

Сообщение gjghjc » 06.03.2018 (Вт) 12:11

В связи с недавними событиями снова стала актуальна тема с видеоняней.
Пытался вместо logitech С270 прикрутить Microsoft Lifecam HD3000 ситуация повторилась.
Трансляция идет только без звука. При попытке задействовать микрофон камеры ffserver умирает.

Может таки кто подскажет по линуксу, может там дрова какие подсунуть нужно или еще что-то.
Утро добрым не бывает!

gjghjc
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 659
Зарегистрирован: 13.10.2002 (Вс) 8:28
Откуда: БАЛАКЛАВА!!

Re: Убунту и USB камера с микрофоном

Сообщение gjghjc » 30.03.2018 (Пт) 15:27

Задача решена, землекопа полтора.
вместо
Код: Выделить всё
Launch ffmpeg -s 1024x768  -f video4linux2 -i /dev/video0 -f alsa -i hw:1,0

нужно было
Код: Выделить всё
Launch ffmpeg -s 1024x768  -f video4linux2 -i /dev/video0 -f alsa -ac 1 -i hw:1,0

Нужно было всего лишь в параметрах запуска ffmpeg указать что кол-во каналов аудио = 1. По умолчанию -ас 2 и камера от НР это проглатывала.
И как оказалось есть разница, указать кол-во каналов, а потом устройство, или устройство, а потом кол-во каналов.
Ну тут сказывается мой "богатый жизненный опыт" в части пользования линукс системами.
Утро добрым не бывает!


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10

    TopList  
cron