2

Мне нужно для потоковой передачи видео из плагина Netstreamer DVBViewer, и захват его на экране видео вывод слишком медленным.

Существует ли какое-либо программное обеспечение для виртуальной веб-камеры, которое принимает потоковые HTTP-трансляции в качестве источника видео?

1 ответ1

0

Если вы используете Linux, вы можете просто использовать v4l2loopback с mplayer.

  1. Загрузить,
  2. скомпилируйте его (make и su -c 'make install'),
  3. загрузить модуль с помощью команды su -c 'modprobe v4l2loopback' ,
  4. затем измените одну строку в файле examples/yuv4mpeg_to_v4l2.c yuv4mpeg_to_v4l2.c исходной папки v4l2loopback из

    v.fmt.pix.pixelformat = V4L2_PIX_FMT_YUV420;
    

    в

    v.fmt.pix.pixelformat = V4L2_PIX_FMT_YVU420;
    
  5. и make в этой папке.

  6. Затем запустите его из каталога examples следующим образом:

    mkfifo /tmp/pipe  # only needed once, as long as you do not delete the file /tmp/pipe
    ./yuv4mpeg_to_v4l2 < /tmp/pipe &
    mplayer movie.mp4 -vf scale=480:360 -vo yuv4mpeg:file=/tmp/pipe
    

    где вы заменяете movie.mp4 именем вашего видеофайла. И замените /dev/video0 на ваше петлевое устройство.

MPlayer может воспроизводить любые веб-потоки, все виды видеофайлов и так далее. Я только что проверил это с файлом из http://www.tagesschau.de, который является немецким новостным сайтом.

TS=$(wget "http://www.tagesschau.de/multimedia/video/" -q -O - | grep --regexp='http.*\.webm"' | sed -e 's%.*href="%%' -e 's%\.webm".*%\.webm%')
./yuv4mpeg_to_v4l2 < /tmp/pipe &
mplayer $TS -vf scale=480:360 -vo yuv4mpeg:file=/tmp/pipe

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .