?

Log in

No account? Create an account
'Twas brillig, and the slithy toves did gyre and gimble in the wabe [entries|archive|friends|userinfo]
Thomas

[ website | Beware the Jabberwock... ]
[ deviantArt | the-boggyb ]
[ FanFiction | Torkell ]
[ Tumblr | torkellr ]

Links
[Random links| BBC news | Vulture Central | Slashdot | Dangerous Prototypes | LWN | Raspberry Pi]
[Fellow blogs| a Half Empty Glass | the Broken Cube | The Music Jungle | Please remove your feet | A letter from home]
[Other haunts| Un4seen Developments | Jazz 2 Online | EmuTalk.net | Feng's shui]

[Wednesday 9th December 2009 at 12:23 am]
Thomas

boggyb
[Feeling |annoyedannoyed]

I've got a video that I recorded the other day, direct from Freeview (DVB-T) using a TV card. Since it's a recording of the raw transmission the video stream is full of minor errors. This appears to hopelessly confuse MPEG-2 decoders:

InterVideo WinDVD: lots of dropped/scrambled frames, occassional outright time jumps
Windows Media Player: video freezes for long periods
RealPlayer: no video
VLC media player: video plays well, but is pixelated. Attempting to choose a different display method gives smooth video at about 2 frames per second.
Media Player Classic: much the same as WinDVD. Edit: it seems to have better timekeeping.

Conclusion: playing MPEG-2 videos using a computer is stupidly hard. Strange that my actual TV manages to handle the live stream with few problems.
Link | Previous Entry | Share | Flag | Next Entry[ 3 pennies | Penny for your thoughts? ]

Comments:
From: pewterfish
Wednesday 9th December 2009 at 12:50 am (UTC)
I'm tempted to say "the TV probably uses Linux", and it probably does, but I don't think it's actually relevant. ;)

From what I remember of the MPEG standard, VLC is getting it closest to right, with WinDVD coming a "close, but wrong" second. Corrupt I-frames are causing the weird pixellation, I suspect, and WinDVD is just barfing on particularly mangled ones (or occasionally throwing up its hands in horror and giving up until the next B-frame).
(Reply) (Thread)
[User Picture]From: jecook
Wednesday 9th December 2009 at 1:15 am (UTC)
That's the best I can come up with; the software players are having issues dealing with the minor errors, because they expect the stream to be perfect (and the sun to shine out their ass, etc al nauseum.) :D
(Reply) (Parent) (Thread)
[User Picture]From: boggyb
Wednesday 9th December 2009 at 5:50 pm (UTC)
The TV does actually use Linux, though I'd guess that it has a dedicated coprocessor for the MPEG video decoding.

The pixelation in VLC looks suspiciously like they've using nearest neighbour resizing, which implies the resizing is being done in software rather than using a hardware overlay (which generally gives at least bilinear resizing for free).

Speaking of giving up until the next I-frame (P- and B-frames are deltas, I-frames are the keyframes), I have found a couple of pieces of free software that claim to be able to tidy up raw recordings. Except rather than do the sensible thing and mark corrupt frames as drop frames, they just throw them away. If you're lucky they will also throw away the matching segment from the audio track, if not then your recording loses sync part-way through.
(Reply) (Parent) (Thread)