Gunakan v4l2loopback dengan mplayer .
- Unduh,
- kompilasi (
make
dan su -c 'make install'
),
- muat modul dengan
su -c 'modprobe v4l2loopback'
,
kemudian ubah satu baris dalam file examples/yuv4mpeg_to_v4l2.c
dari folder sumber v4l2loopback dari
v.fmt.pix.pixelformat = V4L2_PIX_FMT_YUV420;
untuk
v.fmt.pix.pixelformat = V4L2_PIX_FMT_YVU420;
dan lakukan make
di folder ini.
Kemudian jalankan dari examples
direktori seperti ini:
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
tempat Anda mengganti movie.mp4
dengan nama file video Anda. Dan ganti /dev/video0
dengan perangkat loopback Anda.
MPlayer dapat memainkan streaming web apa pun, semua jenis file video, bahkan dari stdin! Saya baru saja mengujinya dengan file dari http://www.tagesschau.de yang merupakan situs berita Jerman.
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
Alih-alih $ TS Anda bisa meletakkan -
(yang merupakan singkatan dari stdin). Dan di depan mplayer, perintah ffmpeg Anda mengarahkan ulang outputnya ke stdout. Jadi sesuatu seperti:
./yuv4mpeg_to_v4l2 < /tmp/pipe &
fmpeg -someOptions ... -o - | mplayer - -vf scale=480:360 -vo yuv4mpeg:file=/tmp/pipe
Tidak menguji yang terakhir, karena Anda tidak tahu seperti apa perintah ffmpeg Anda.