On Tuesday 29 August 2006 19:46, Cyrus A wrote:
> Hans Verkuil wrote:
> > On Sunday 27 August 2006 03:38, Cyrus A wrote:
> >> Here is my experience trying to encode into MPEG-4 on the fly
> >> while also recording closed captions on a PVR-250.
> >>
> >> First I tried 'cat /dev/video0 > outputfile.mpg' to get the
> >> hardware MPEG-2. That worked perfectly.
> >>
> >> Then I had some trouble encoding on the fly with ffmpeg. The audio
> >> was out of sync for some unknown reason. After a couple of days, I
> >> found that '-async 1' solved my problem. My ffmpeg command is '
> >> ffmpeg -i /dev/video0 -async 1 -s 480x384 -b 1750 outfile.mpg' I
> >> have thoroughly tested it and it works well for long periods of
> >> time (recording an hourlong show, for instance). Now onto closed
> >> captioning.
> >>
> >> zvbi-ntsc-cc doesn't work. I think the program "drives" the video
> >> device at the same time the drivers are trying to "drive" the
> >> device and it causes conflicts. This results in choppy, unusable
> >> video. The same thing happened with bttv.
> >>
> >> Then I tried the $ivtvhome/test/vbi program and VIOLA, I got the
> >> captions I needed and the video was unaffected.... or so I
> >> thought...
> >>
> >> After a short period, errors start showing up in the video
> >> encoding terminal:
> >>
> >> [mpeg2video @ 0x2aaaab031030]00 motion_type at 12 5=2091.2kbits/s
> >> [mpeg2video @ 0x2aaaab031030]Warning MVs not available
> >> [mpeg2video @ 0x2aaaab031030]concealing 1125 DC, 1125 AC, 1125 MV
> >> errors [mpeg2video @ 0x2aaaab031030]00 motion_type at 33
> >> 11=2077.1kbits/s [mpeg2video @ 0x2aaaab031030]mb incr damaged
> >> [mpeg2video @ 0x2aaaab031030]mb incr damaged
> >> [mpeg2video @ 0x2aaaab031030]mb incr damaged
> >> [mpeg2video @ 0x2aaaab031030]mb incr damaged
> >> [mpeg2video @ 0x2aaaab031030]slice mismatch
> >> [mpeg2video @ 0x2aaaab031030]slice mismatch
> >> [mpeg2video @ 0x2aaaab031030]slice mismatch
> >> [mpeg2video @ 0x2aaaab031030]slice mismatch
> >> [mpeg2video @ 0x2aaaab031030]00 motion_type at 0 20
> >> [mpeg2video @ 0x2aaaab031030]invalid cbp at 11 21
> >> [mpeg2video @ 0x2aaaab031030]00 motion_type at 0 22
> >> [mpeg2video @ 0x2aaaab031030]mb incr damaged
> >> [mpeg2video @ 0x2aaaab031030]00 motion_type at 0 24
> >> [mpeg2video @ 0x2aaaab031030]slice mismatch
> >> [mpeg2video @ 0x2aaaab031030]mb incr damaged
> >> [mpeg2video @ 0x2aaaab031030]00 motion_type at 1 27
> >> [mpeg2video @ 0x2aaaab031030]00 motion_type at 0 28
> >> [mpeg2video @ 0x2aaaab031030]00 motion_type at 0 29
> >> [mpeg2video @ 0x2aaaab031030]concealing 855 DC, 855 AC, 855 MV
> >> errors [mpeg2video @ 0x2aaaab031030]00 motion_type at 19
> >> 22=2087.8kbits/s [mpeg2video @ 0x2aaaab031030]invalid mb type in B
> >> Frame at 13 23 [mpeg2video @ 0x2aaaab031030]mb incr damaged
> >> [mpeg2video @ 0x2aaaab031030]00 motion_type at 7 25
> >> [mpeg2video @ 0x2aaaab031030]00 motion_type at 3 26
> >> [mpeg2video @ 0x2aaaab031030]00 motion_type at 1 27
> >> [mpeg2video @ 0x2aaaab031030]00 motion_type at 1 28
> >> [mpeg2video @ 0x2aaaab031030]00 motion_type at 4 29
> >> [mpeg2video @ 0x2aaaab031030]Warning MVs not available
> >> [mpeg2video @ 0x2aaaab031030]concealing 360 DC, 360 AC, 360 MV
> >> errors [mpeg2video @ 0x2aaaab031030]00 motion_type at 1
> >> 12e=2086.9kbits/s [mpeg2video @ 0x2aaaab031030]00 motion_type at 1
> >> 13
> >> [mpeg2video @ 0x2aaaab031030]slice mismatch
> >> [mpeg2video @ 0x2aaaab031030]00 motion_type at 6 15
> >> [mpeg2video @ 0x2aaaab031030]00 motion_type at 1 16
> >> [mpeg2video @ 0x2aaaab031030]00 motion_type at 13 17
> >> [mpeg2video @ 0x2aaaab031030]ac-tex damaged at 1 18
> >> [mpeg2video @ 0x2aaaab031030]invalid mb type in B Frame at 34 19
> >> [mpeg2video @ 0x2aaaab031030]invalid cbp at 8 20
> >> [mpeg2video @ 0x2aaaab031030]slice mismatch
> >> [mpeg2video @ 0x2aaaab031030]00 motion_type at 3 22
> >> [mpeg2video @ 0x2aaaab031030]00 motion_type at 27 23
> >> [mpeg2video @ 0x2aaaab031030]00 motion_type at 16 24
> >> [mpeg2video @ 0x2aaaab031030]mb incr damaged
> >> [mpeg2video @ 0x2aaaab031030]00 motion_type at 28 26
> >> [mpeg2video @ 0x2aaaab031030]ac-tex damaged at 4 27
> >> [mpeg2video @ 0x2aaaab031030]invalid mb type in B Frame at 3 28
> >> [mpeg2video @ 0x2aaaab031030]mb incr damaged
> >> [mpeg2video @ 0x2aaaab031030]Warning MVs not available
> >> [mpeg2video @ 0x2aaaab031030]concealing 810 DC, 810 AC, 810 MV
> >> errors
> >>
> >> Normally I would just ignore the errors, but they corresponded
> >> with an audio desyncing from the video. The more errors appeared,
> >> the more the audio became de-synced from the video.
> >>
> >> If anyone can provide any insight, it would be greatly
> >> appreciated.
> >
> > Are you embedding the VBI data into the stream (using the ivtvctl
> > -x1 option) or just reading the VBI data as a separate stream with
> > the vbi tool?
> >
> > Please also give the INIT IVTV messages from the kernel log. Also
> > check the log for any other errors that it may have printed during
> > capturing.
> >
> > What command(s) do you use to get these results?
> >
> > Hans
> >
> > _______________________________________________
> > ivtv-users mailing list
> > [email protected]
> > http://ivtvdriver.org/mailman/listinfo/ivtv-users
>
> Here are my commands. In the first terminal window I used:
>
> ffmpeg -i /dev/video0 -async 1 -s 480x384 -b 1750 outfile.mpg
>
> and in the second:
>
> /usr/local/ivtv-0.7.0/test/vbi
>
> I have not attempted anything with ivtvctl. Should I?
>
> Dmesg had an interesting message:
>
> ivtv0 warning: Starting VBI after starting an encoding, seems to not
> work.
>
> However, starting vbi before the ffmpeg process didn't work either.
> But, the errors seemed different (at least to my untrained eye). What
> do you make of this?
What happens if you don't do life transcoding but first record it and at
the same time capture the VBI, and do the ffmpeg transcoding when the
recording is finished? Do you still get the errors?
I've recently discovered that when the hardware is under heavy load all
sorts of things may go wrong. I'm working on improving the driver to be
better and faster at handling DMA in an attempt to minimize this from
happening.
Regards,
Hans
_______________________________________________
ivtv-users mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-users