Если вы используете Linux, вы можете просто использовать v4l2loopback с mplayer.
- Загрузить,
- скомпилируйте его (
make и su -c 'make install'),
- загрузить модуль с помощью команды
su -c 'modprobe v4l2loopback' ,
затем измените одну строку в файле 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;
и make в этой папке.
Затем запустите его из каталога 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