Установка ffmpeg из исходников
Для того чтобы не возникло ошибки
Unknown input format: 'video4linux'
Сборка ffmpeg с флагом v4l (--enable-libv4l2 или -use_libv4l2)
Установим зависимости
sudo apt-get update
sudo apt-get -y --force-yes install autoconf automake build-essential libass-dev libfreetype6-dev \
libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev \
libxcb-xfixes0-dev pkg-config texinfo zlib1g-dev yasm libx264-dev libmp3lame-dev libopus-dev libv4l-dev
Создадим директорию для исходников и перейдем в неё:
mkdir ~/ffmpeg_sources
cd ~/ffmpeg_sources
Установка ffmpeg с библиотекой video4linux
wget http://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" \
--bindir="$HOME/bin" \
--enable-gpl \
--enable-libass \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libtheora \
--enable-libvorbis \
--enable-libx264 \
--enable-libv4l2
PATH="$HOME/bin:$PATH" make
make install
make distclean
hash -r
Поиск камеры для подключения
На тестовом компьютере 2 камеры, поэтому листинг выглядит следующим образом:
ls /dev/v4l/by-id/
usb-_Webcam_C170-video-index0 usb-046d_081d_82040500-video-index0
Записываем и вещаем видео с Web камеры
Вещание с USB веб камеры в формате RTMP
ffmpeg -y -f v4l -i /dev/v4l/by-id/usb-_Webcam_C170-video-index0 -r 25 -f flv -an rtmp://localhost:1935/camera/stream
Сохранение видео в кодировке mpeg с web-камеры
ffmpeg -y -f video4linux2 -i /dev/v4l/by-id/usb-046d_081d_82040500-video-index0 -r 25 out_video.mp4
comments powered by Disqus