Если вы используете 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