Page 1 of 1

1.1.3 shows green video on H.264 but 1.1.2 works fine

Posted: Wed Jan 07, 2009 10:01 pm
by StevenToth
Hi,

This is my first post on the forum but let me start by thanking of the Perian devs and testers, it's a great product. :)

I'm developing a HD H.264 capture application for the Hauppauge HDPVR (details here: http://steventoth.net/blog). The recorded files can vary in resolution but for discussion purposes lets say they are 1280x720p (.mp4 container). Without Perian 1.1.2 installed the native OSX quicktime player (10.5.6) simply shows green video while the sound is playing.

Installing Perian 1.1.2 allows the video to be played perfectly, and I'm very happy with the quality.

However, since 1.1.3 was released all of the green video has returned, implying that Perian is somehow ignoring these codecs again and leaving Quicktime to play them. Checking the 1.1.3 changes I see this comment "Apple's decoder now handles Baseline/Main Profile H.264". This is probably why my content is no longer playing correctly.

Further reading on this site indicates that Apple's codec now supported hardware decoding and that it might have been disabled by default in 1.1.3, although I may have miss-interpreted the post.

Obviously, I need to get this resolved. I've been redirecting my users to download 1.1.2 instead of version 1.1.3 but this isn't sustainable.

If this is indeed the issue and all it needs is a dev to regress this specific change then I'm willing to help with this.

Can someone please find a few minutes to comment.

Thanks.

Steve Toth.

Re: 1.1.3 shows green video on H.264 but 1.1.2 works fine

Posted: Thu Jan 08, 2009 3:32 am
by gbooker
StevenToth wrote:However, since 1.1.3 was released all of the green video has returned, implying that Perian is somehow ignoring these codecs again and leaving Quicktime to play them. Checking the 1.1.3 changes I see this comment "Apple's decoder now handles Baseline/Main Profile H.264". This is probably why my content is no longer playing correctly.
In terminal, type:
defaults write org.perian.Perian DecodeAllProfiles -bool true
This tells Perian to not relinquish H.264 to Apple's component. To remove:
defaults delete org.perian.Perian DecodeAllProfiles
The issue is it is hard to detect exactly which situations Apple's component can handle as they implemented a subset of the spec. In addition, we have encountered main profile H.264 streams where's Apple's component is less than half the speed of Perian. We did the best we can to relegate popular H.264 streams to Apple's component as users complained that Perian was slower. Note: Perian is only slower because Apple uses undocumented features in Quicktime to help out their component, and have not given us any information to allow us to do the same.
StevenToth wrote:Further reading on this site indicates that Apple's codec now supported hardware decoding and that it might have been disabled by default in 1.1.3, although I may have miss-interpreted the post.
I've not heard anything of the sort. None of the dev team has the new machines, so we cannot test, but the only reports I've seen by those with the actual hardware is that Perian does not override hardware decoding in any situation.

Re: 1.1.3 shows green video on H.264 but 1.1.2 works fine

Posted: Thu Jan 08, 2009 4:54 am
by StevenToth
gbooker: Creating that default allows the files to play perfectly with 1.1.3.

Many thanks.