Gunakan v4l2loopback dengan mplayer .
- Unduh,
- kompilasi (
makedan su -c 'make install'),
- muat modul dengan
su -c 'modprobe v4l2loopback',
kemudian ubah satu baris dalam file examples/yuv4mpeg_to_v4l2.cdari folder sumber v4l2loopback dari
v.fmt.pix.pixelformat = V4L2_PIX_FMT_YUV420;
untuk
v.fmt.pix.pixelformat = V4L2_PIX_FMT_YVU420;
dan lakukan makedi folder ini.
Kemudian jalankan dari examplesdirektori 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.mp4dengan nama file video Anda. Dan ganti /dev/video0dengan 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.