[pvrusb2] MPEG1 stream type

Mark Brand mabrand at mabrand.nl
Tue Jul 17 03:32:03 CDT 2007


Frédéric Jouault wrote:
> Hello,
>
>   
>>> Has anybody been able to get an MPEG1 stream from a pvrusb2 device under Linux?
>>>
>>> Under Windows, with VLC, I was able to get such a stream and send it
>>> to a MPEG1 player, which does not support MPEG2.
>>>
>>> However, when I play with the settings in
>>> /sys/class/pvrusb2/sn-xxxxxxx/ (especially ctl_stream_type), although
>>> I manage to get something that looks like MPEG1, the video is
>>> distorted.
>>>
>>> Before doing any further investigation (I must admit I do not even
>>> have the latest version of the driver installed), I would like to know
>>> if this is supposed to work or not ;-).
>>>
>>>       
>> That control (like a lot of them) directly map down to controls exported
>> by the mpeg encoder chip.  The pvrusb2 driver merely passes down the
>> information.  I've played around with various things using those
>> controls (mainly with filtering), but I haven't tried that particular
>> one.
>>     
>
> Ok. Thank you for these precisions.
>
> There may be some coupling between the controls, and I may need to
> change something else to have it working properly.
>
> Currently, with the MPEG1 settings, the picture is distorted
> (vertically compressed) and the right part is missing. MPEG1 may
> require a different configuration of x, y, width, and height (not sure
> if that makes sense).
>
>
> However, I am still interested to know if anyone has tried, and what
> was the outcome, before investigating further. For instance, the
> problem may come from the standard (i.e., PAL vs. NTSC), and if
> someone reports that it works with NTSC (I tried with PAL), we may be
> able to better understand the issue.
>
> Trying is merely a matter of doing:
> $ echo -n "MPEG-1 System Stream" >
> /sys/class/pvrusb2/sn-xxxxxxx/ctl_stream_type/cur_val
> $ mplayer /dev/video0   (or whatever you normally do)
>
> and see if the video looks good or not.
>
>
>   

I cannot get it to work either.  The video has the same problems
Frédéric mentions.

Using pvrusb2-mci-20070428a.

These are the settings I use:

echo MPEG-1 VCD-compatible Stream >> ctl_stream_type/cur_val
echo 0 >> ctl_video_b_frames/cur_val
echo 352 >> ctl_resolution_hor/cur_val
echo 288 >> ctl_resolution_ver/cur_val
echo 1150000 >> ctl_video_bitrate/cur_val
cat ctl_video_bitrate/cur_val >> ctl_video_bitrate_peak/cur_val
echo 44.1 kHz >> ctl_srate/cur_val
echo 224 kbps >> ctl_audio_bitrate/cur_val
echo 4x3 >> ctl_video_aspect/cur_val

The funny thing is that mplayer has this to say about the stream
(noticed the halved resolution):

VIDEO:  MPEG1  176x144  (aspect 2)  25.000 fps  1150.0 kbps (143.8 kbyte/s)
==========================================================================
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
VDec: vo config request - 176 x 144 (preferred colorspace: Mpeg PES)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
Try adding the scale filter, e.g. -vf spp,scale instead of -vf spp.
VDecoder init failed :(
Opening video decoder: [libmpeg2] MPEG 1/2 Video decoder libmpeg2-v0.4.0b
Selected video codec: [mpeg12] vfm: libmpeg2 (MPEG-1 or 2 (libmpeg2))
==========================================================================
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 44100 Hz, 2 ch, s16le, 224.0 kbit/15.87% (ratio: 28000->176400)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
AO: [oss] 44100Hz 2ch s16le (2 bytes per sample)
Starting playback...
VDec: vo config request - 176 x 144 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.81:1 - prescaling to correct movie aspect.
VO: [xv] 176x144 => 262x144 Planar YV12


I wonder if anybody has some insight.

-Mark


More information about the pvrusb2 mailing list