Mplayer के साथ v4l2loopback का उपयोग करें ।
- डाउनलोड करो,
- इसे संकलित करें (
make
और su -c 'make install'
),
- मॉड्यूल को लोड करें
su -c 'modprobe v4l2loopback'
,
तब examples/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
$ TS के बजाय आप एक -
(जो स्टड के लिए खड़ा है) रख सकते हैं । और mplayer के सामने आपका ffmpeg कमांड अपने आउटपुट को stdout पर पुनर्निर्देशित करता है। तो कुछ इस तरह:
./yuv4mpeg_to_v4l2 < /tmp/pipe &
fmpeg -someOptions ... -o - | mplayer - -vf scale=480:360 -vo yuv4mpeg:file=/tmp/pipe
अंतिम एक का परीक्षण नहीं किया, क्योंकि आपने यह नहीं बताया कि आपका ffmpeg कमांड कैसा दिखता है।