[MPlayer-users] Hauppauge PVR 350 TV Watching

Christoph Christ CHCNET Consulting office at chcnet.net
Mon Feb 20 09:00:15 CET 2006


Unfortunately I received already the information from the ivtv driver 
mailinglist itself: 

"mplayer in tv mode does not work with ivtv because the buffering API 
mplayer wants to use is not implemented in ivtv. And is not likely to 
be implemented anytime soon."

Is there any possibility to use tv-streaming mode of mplayer WITHOUT that buffering API? We are talking about a native mpeg2 stream coming from /dev/video0, so there is no need for buffering of raw videodata as it needs not to be converted to a digital equivalent. Is it possible to slightly change the tv-stream functionality when running on a PVR150/250/350/500 to display directly the mpeg2 stream?

Unfortunately I do not understand enough of  v4l programming to do this 
change myself :-(

I need it to enable playing of tv via mplayerplug-in via a local html 
file...

office at chcnet.net schrieb:

>cool :-) didn't know that nice tool *what a shame*
>here we go...
>
>I called mplayer with:
>
>mplayer -tv driver=v4l2:device=/dev/video0:input=4 tv://E6
>
>Is there an obvious error I didn't find, one can fix with parameters...?
>
>------------ cut here ----------------
>nanosleep({0, 10000000}, NULL)          = 0
>nanosleep({0, 10000000}, NULL)          = 0
>nanosleep({0, 10000000}, NULL)          = 0
>nanosleep({0, 10000000}, NULL)          = 0
>write(1, "Selected driver: v4l2\n", 22Selected driver: v4l2
>) = 22
>write(1, " name: Video 4 Linux 2 input\n", 29 name: Video 4 Linux 2 input
>) = 29
>write(1, " author: Martin Olschewski <olsc"..., 57 author: Martin
>Olschewski <olschewski at zpr.uni-koeln.de>
>) = 57
>write(1, " comment: first try, more to com"..., 38 comment: first try,
>more to come ;-)
>) = 38
>open("/dev/video0", O_RDWR|O_LARGEFILE) = 3
>ioctl(3, VIDIOC_QUERYCAP or VT_OPENQRY, 0x8727e7c) = 0
>ioctl(3, VIDIOC_G_FMT or VT_SENDSIG, 0x8727f30) = 0
>ioctl(3, VIDIOC_G_STD, 0xbff1eaf0)      = 0
>ioctl(3, VIDIOC_ENUMSTD, 0x8727ffc)     = 0
>ioctl(3, VIDIOC_ENUMSTD, 0x8727ffc)     = 0
>ioctl(3, VIDIOC_G_TUNER, 0x872803c)     = 0
>write(1, "Selected device: WinTV PVR 350\n", 31Selected device: WinTV PVR 350
>) = 31
>write(1, " Tuner cap: STEREO LANG1 LANG2\n", 31 Tuner cap: STEREO LANG1 LANG2
>) = 31
>write(1, " Tuner rxs: STEREO\n", 19 Tuner rxs: STEREO
>)    = 19
>write(1, " Capabilites:  video capture  vi"..., 101 Capabilites:  video
>capture  video output  VBI capture device  VBI output  tuner  audio 
>read/write
>) = 101
>write(1, " supported norms:", 17 supported norms:)       = 17
>ioctl(3, VIDIOC_ENUMSTD, 0xbff1ebf0)    = 0
>ioctl(3, VIDIOC_ENUMSTD, 0xbff1ebf0)    = 0
>ioctl(3, VIDIOC_ENUMSTD, 0xbff1ebf0)    = 0
>ioctl(3, VIDIOC_ENUMSTD, 0xbff1ebf0)    = -1 EINVAL (Invalid argument)
>write(1, " 0 = NTSC; 1 = PAL; 2 = SECAM;\n "..., 39 0 = NTSC; 1 = PAL; 2 =
>SECAM;
> inputs:) = 39
>ioctl(3, VIDIOC_ENUMINPUT, 0xbff1eba0)  = 0
>write(1, " 0 = Composite 0;", 17 0 = Composite 0;)       = 17
>ioctl(3, VIDIOC_ENUMINPUT, 0xbff1eba0)  = 0
>write(1, " 1 = Composite 1;", 17 1 = Composite 1;)       = 17
>ioctl(3, VIDIOC_ENUMINPUT, 0xbff1eba0)  = 0
>write(1, " 2 = Composite 2;", 17 2 = Composite 2;)       = 17
>ioctl(3, VIDIOC_ENUMINPUT, 0xbff1eba0)  = 0
>write(1, " 3 = Composite 3;", 17 3 = Composite 3;)       = 17
>ioctl(3, VIDIOC_ENUMINPUT, 0xbff1eba0)  = 0
>write(1, " 4 = Tuner 0;", 13 4 = Tuner 0;)           = 13
>ioctl(3, VIDIOC_ENUMINPUT, 0xbff1eba0)  = 0
>write(1, " 5 = Composite 4;", 17 5 = Composite 4;)       = 17
>ioctl(3, VIDIOC_ENUMINPUT, 0xbff1eba0)  = 0
>write(1, " 6 = S-Video 0;", 15 6 = S-Video 0;)         = 15
>ioctl(3, VIDIOC_ENUMINPUT, 0xbff1eba0)  = 0
>write(1, " 7 = S-Video 1;", 15 7 = S-Video 1;)         = 15
>ioctl(3, VIDIOC_ENUMINPUT, 0xbff1eba0)  = 0
>write(1, " 8 = S-Video 2;", 15 8 = S-Video 2;)         = 15
>ioctl(3, VIDIOC_ENUMINPUT, 0xbff1eba0)  = 0
>write(1, " 9 = S-Video 3;", 15 9 = S-Video 3;)         = 15
>ioctl(3, VIDIOC_ENUMINPUT, 0xbff1eba0)  = -1 EINVAL (Invalid argument)
>ioctl(3, VIDIOC_G_INPUT, 0xbff1eb5c)    = 0
>write(1, "\n Current input: 4\n", 19
> Current input: 4
>)   = 19
>ioctl(3, VIDIOC_ENUM_FMT or VT_SETMODE, 0xbff1eb60) = -1 EINVAL (Invalid
>argument)
>write(1, " Current format: unknown (0x4745"..., 38 Current format: unknown
>(0x4745504d)
>) = 38
>ioctl(3, VIDIOC_G_FMT or VT_SENDSIG, 0x8727f30) = 0
>ioctl(3, VIDIOC_S_FMT or VT_RELDISP, 0x8727f30) = 0
>write(1, "v4l2: current audio mode is : ST"..., 37v4l2: current audio mode
>is : STEREO
>) = 37
>ioctl(3, VIDIOC_G_FMT or VT_SENDSIG, 0x8727f30) = 0
>ioctl(3, VIDIOC_S_FMT or VT_RELDISP, 0x8727f30) = 0
>ioctl(3, VIDIOC_ENUMINPUT, 0x8727ee4)   = 0
>ioctl(3, VIDIOC_S_INPUT, 0x85f207c)     = 0
>ioctl(3, VIDIOC_ENUMSTD, 0xbff1eb00)    = 0
>ioctl(3, VIDIOC_ENUMSTD, 0xbff1eb00)    = 0
>ioctl(3, VIDIOC_ENUMSTD, 0x8727ffc)     = 0
>ioctl(3, VIDIOC_S_STD, 0x8728000)       = 0
>write(1, "Selected channel: E6 (freq: 182."..., 37Selected channel: E6
>(freq: 182.250)
>) = 37
>ioctl(3, VIDIOC_S_FREQUENCY, 0xbff1eb40) = 0
>ioctl(3, VIDIOC_G_FREQUENCY, 0xbff1eb40) = 0
>ioctl(3, VIDIOC_G_FREQUENCY, 0xbff1eb40) = 0
>ioctl(3, VIDIOC_G_FMT or VT_SENDSIG, 0x8727f30) = 0
>ioctl(3, VIDIOC_G_FMT or VT_SENDSIG, 0x8727f30) = 0
>ioctl(3, VIDIOC_G_FMT or VT_SENDSIG, 0x8727f30) = 0
>ioctl(3, VIDIOC_REQBUFS or VT_DISALLOCATE, 0xbff1ec30) = -1 EINVAL
>(Invalid argument)
>write(2, "v4l2: ioctl request buffers fail"..., 53v4l2: ioctl request
>buffers failed: Invalid argument
>) = 53
>ioctl(3, MATROXFB_S_TVOCTRL or VIDIOC_S_CTRL, 0xbff1eba0) = 0
>close(3)                                = 0
>write(1, "v4l2: 0 frames successfully proc"..., 57v4l2: 0 frames
>successfully processed, 0 frames dropped.
>) = 57
>write(1, "\n", 1
>)                       = 1
>kill(11686, SIGKILL)                    = 0
>--- SIGCHLD (Child exited) @ 0 (0) ---
>waitpid(-1, NULL, WNOHANG)              = 11686
>waitpid(-1, NULL, WNOHANG)              = -1 ECHILD (No child processes)
>sigreturn()                             = ? (mask now [RTMIN])
>waitpid(11686, NULL, 0)                 = -1 ECHILD (No child processes)
>munmap(0xb62d1000, 8388608)             = 0
>munmap(0xb7c5a000, 64)                  = 0
>ioctl(0, SNDCTL_TMR_START or TCSETS, {B38400 opost isig icanon echo ...}) = 0
>munmap(0xb6ad1000, 790528)              = 0
>write(1, "\nExiting... (End of file)\n", 26
>Exiting... (End of file)
>) = 26
>munmap(0xb6b92000, 131072)              = 0
>exit_group(0)                           = ?
>
>
>  
>
>>Christoph Christ CHCNET Consulting wrote:
>>
>>    
>>
>>>Nico Sabbi schrieb:
>>>
>>>      
>>>
>>>>does ivtv implement a subset of V4L[2]? If so, the tv_stream code may
>>>>work with few changes.
>>>>If you post a strace log some of the developers may be able to look
>>>>into it.
>>>>
>>>>        
>>>>
>>>Think so. How do I get a strace log?
>>>      
>>>
>>strace mplayer ... >& log.txt
>>but trim only a reasonably small portion before the first ioctl() that
>>fails, otherwise it's unreadable :)
>>
>>_______________________________________________
>>MPlayer-users mailing list
>>MPlayer-users at mplayerhq.hu
>>http://mplayerhq.hu/mailman/listinfo/mplayer-users
>>
>>    
>>
>
>
>_______________________________________________
>MPlayer-users mailing list
>MPlayer-users at mplayerhq.hu
>http://mplayerhq.hu/mailman/listinfo/mplayer-users
>  
>

-- 

Mit freundlichen Grüßen
Christoph Christ

CHCNET Consulting
Am Röhrgraben 2
A-2410 Hainburg/Donau
mobil: +43/664/930 70 44
fax: +43 1 253 30 33 4252
mailto:office at chcnet.net

Skype: linuxguru2001 ICQ:66777108 MSN: christoph at christ.chcnet.net

Besuchen Sie auch unseren Onlineshop http://www.edv-versand.at!






More information about the MPlayer-users mailing list