Log in

View Full Version : Free player that supports interlaced content?


miamicanes
13th September 2007, 21:42
Is there any free AVC/h.264 player that can play a file encoded by x264 with the "Use Interlacing" box checked in MeGUI? I've tried using VLC Media Player, but it seems to crash every time I try viewing a file encoded with that option checked. I suspect it might actually be some option in conjunction with "use interlacing", because I could swear I've encoded other files with that option selected in the past that worked in VLC.

For what it's worth, here's the commandline I used to encode the most recent one that blew up on me:

--qp 12 --keyint 150 --min-keyint 15 --ref 4 --bframes 4 --b-pyramid --bime --weightb --direct auto --analyse all --8x8dct --b-bias 10 --threads auto --thread-input --progress --interlaced --output "C:\video\cq-12_no-mixedref-interlaced.mp4" "C:\video\1.avs"

The previous one (encoded without the --interlaced flag) plays fine (but is obviously "wrong", because the source file is interlaced).

dattrax
13th September 2007, 21:48
I dont think interlacing works correctly yet. Last time I tested it the MBAFF functionality it didn't encode the TFF/BFF. This is probably similar as used in the 2:3 pulldown patch which adds the SEI block for field order. Someone probably needs to patch x264 for this.

Jim

nm
13th September 2007, 21:55
Is there any free AVC/h.264 player that can play a file encoded by x264 with the "Use Interlacing" box checked in MeGUI? I've tried using VLC Media Player, but it seems to crash every time I try viewing a file encoded with that option checked. I suspect it might actually be some option in conjunction with "use interlacing", because I could swear I've encoded other files with that option selected in the past that worked in VLC.
IIRC you need to encode using a mod 32 resolution for libavcodec to be able to decode it properly. Then VLC, MPlayer and ffdshow should work.

Edit: Take a look at this thread: http://forum.doom9.org/showthread.php?t=120410

miamicanes
14th September 2007, 01:49
Yep. That was the problem. I misread the AVISynth script creator and assumed "crop" really meant "mask pixels to black" & assumed that I was dealing with 720x480 video that had its outermost pixels blackened rather than chopped away.

One question, though... if I don't check "Use Interlacing", what would the practical consequences be down the line if I eventually decided that I wanted to deinterlace it for real and author it to HD-DVD as upscaled & compliant 720p60 AVC, or re-encode it to 8mbit/sec DVD-compliant MPEG-2? Would it just mean I had to go through another step or two to make a temporary HuffyUV AVI file from it that peeled the odd & even lines from each frame apart before feeding them to DScaler/Avisynth/etc? Or would I basically be screwed at that point and stuck with a file that could only be transcoded with massive quality loss due to re-encoding?

akupenguin
14th September 2007, 02:01
There are no consequences later. The massive quality loss happens immediately, when you encode interlaced content without telling the encoder it's interlaced.

Dark Shikari
14th September 2007, 02:08
There are no consequences later. The massive quality loss happens immediately, when you encode interlaced content without telling the encoder it's interlaced.
Yup. I have seen this all too often when someone does the following:

1. FRAPS video (obviously progressive).
2. Edit it in Premiere or Vegas without turning off the default interlacing.
3. Encode without an interlaced flag.

Result: something we like to call QUALITY:

http://i11.tinypic.com/5xxha1w.png

miamicanes
14th September 2007, 02:40
So if someone accidentally encodes an interlaced file without telling x264 it's interlaced and uses CQ, is the only consequence a (substantially?) larger file size?

Also... I was checking out some of the guides and it just occurred to me... if I wanted to run an experiment and try converting one of my AVC/h.264 files to MPEG-2 to compare the results of DV->MP4->MP2 against DV->MP2, what codec would I actually use to frameserve it to the MPEG-2 encoder? (forgive me if this is basic... I've kind of gotten the impression over the past day or so that AVC/h.264 is still a pretty wild, untamed frontier at the moment, and that you can't necessarily assume that anything x264 can encode can automatically be played back or decoded TODAY (at least, not without serious risk of tripping over a codec bug or rough spot and crashing the player/decoder).

akupenguin
14th September 2007, 02:45
So if someone accidentally encodes an interlaced file without telling x264 it's interlaced and uses CQ, is the only consequence a (substantially?) larger file size?
It will also have lower quality at a given QP. And even if you reduce QP to compensate, it may have different and potentially more annoying artifacts.

Dark Shikari
14th September 2007, 02:54
I've kind of gotten the impression over the past day or so that AVC/h.264 is still a pretty wild, untamed frontier at the moment, and that you can't necessarily assume that anything x264 can encode can automatically be played back or decoded TODAY (at least, not without serious risk of tripping over a codec bug or rough spot and crashing the player/decoder).
Completely untrue, unless you're referring to hardware decoders, which has always been the case to be honest.

Rash
14th September 2007, 03:18
Completely untrue, unless you're referring to hardware decoders, which has always been the case to be honest.
But not completely wrong either. Come on, let's face it. MeGUI/x264 encodes have a hard time playing on PS3, MacOS QuickTime, etc. Apple QT encodes don't play almost anywhere but Apple software/hardware as well (unless you have talented people writing splitters for Windows). I bet Sony's PS3 encodes are out of standard too, so they would need a bit of hacking to work outsite Sony's products.

Please, understand this. I'm not saying this is your fault, x264 developers. HELL NO! If I had to bet any money I'd bet you guys are the closest ones to the real (if there is one) standard. I don't think even Nero is that close, maybe Nero is "bending" the specs too, to make their encoded files play anywhere.

But I can't help have a feeling that the whole MP4 thing is a mess today. I know I'll be bashed, but look at WMV and how it plays everywhere. Sometimes I fear encoding my files to MP4 because I'm not sure it is future proof (that is, when you guys are not here developing anymore I might not be able to play my files).

I sincerely hope I am wrong.

Dark Shikari
14th September 2007, 03:25
But not completely wrong either. Come on, let's face it. MeGUI/x264 encodes have a hard time playing on PS3, MacOS QuickTime, etc.
PS3? I think that works fine as long as you specify --level 41 and use the correct VBV limitations.

Quicktime does not support H.264, only a very limited subset. Unless you encode for that subset, it won't work. That doesn't mean H.264 is an "incompatible" standard--it means that Quicktime is an incompatible player!
Apple QT encodes don't play almost anywhere but Apple software/hardware as well (unless you have talented people writing splitters for Windows). I bet Sony's PS3 encodes are out of standard too, so they would need a bit of hacking to work outsite Sony's products.
Generally they play just fine in my experience.
But I can't help have a feeling that the whole MP4 thing is a mess today. I know I'll be bashed, but look at WMV and how it plays everywhere. Sometimes I fear encoding my files to MP4 because I'm not sure it is future proof (that is, when you guys are not here developing anymore I might not be able to play my files).

I sincerely hope I am wrong.
WMV plays everywhere?!? Every time I've encoded for a portable player the specs listed on the site have been completely wrong and I've had to play a guessing game with max bitrate.

H.264, on the other hand, has very specific profiles that are supported by various types of hardware; if you want to encode for the iPod, you pick the iPod profile, and it just works. Hardware support has never been easy though for any codec.

In terms of PC playback, H.264 works flawlessly--anything I encode in any AVC encoder I've found, regardless of settings, works flawlessly in almost any compatible player. WMV, on the other hand, randomly breaks in the worst ways, mostly due to the container being shit rather than the codec itself being shit though.

akupenguin
14th September 2007, 03:26
but look at WMV and how it plays everywhere.
You mean, look at how WMV has only one implementation (plus ffmpeg, which hasn't completely reverse engineered it). Whereas H.264 is an open standard so lots of people implement it, and some do a poor job.

Alosaurus
14th September 2007, 03:34
But not completely wrong either. Come on, let's face it. MeGUI/x264 encodes have a hard time playing on PS3, MacOS QuickTime, etc. Apple QT encodes don't play almost anywhere but Apple software/hardware as well (unless you have talented people writing splitters for Windows). I bet Sony's PS3 encodes are out of standard too, so they would need a bit of hacking to work outsite Sony's products.

ASP has the same problem with certain decoders not being able to handle all features and non-standard things being put in. The mpeg-2 streams used for DVD also restrict certain things. This is nothing new and nothing unique to h.264.

But I can't help have a feeling that the whole MP4 thing is a mess today.

Your feelings are misinformed then.

I know I'll be bashed, but look at WMV and how it plays everywhere.

Only because of the fact that it's been around for at least a decade longer than h.264 does WMV have better support (plus it helps when the decoder is built into windows). Mpeg-1/2 probably have far more support on far more platforms/devices than WMV. Such ubiquitous support didn't happen overnight and took many, many years and to expect that h.264 would reach that level of "universal" support in only a few years time is completely silly.

Sometimes I fear encoding my files to MP4 because I'm not sure it is future proof (that is, when you guys are not here developing anymore I might not be able to play my files).

Your files will always be able to be played back on your computer if worse comes to worse. It's not as if libavcodec is going to stop working in the future for no reason.

I sincerely hope I am wrong.

You are.

Alosaurus
14th September 2007, 03:49
WMV plays everywhere?!?

I think what he's referring to is the fact that the WMV decoders are installed with Windows by default. Now it doesn't make the claim any less silly, but I think that's what his scope of "everywhere" is restricted to.

akupenguin
14th September 2007, 03:59
If Windows is "everywhere", why mention PS3 and MacOS?

Alosaurus
14th September 2007, 04:05
If Windows is "everywhere", why mention PS3 and MacOS?

I was just guessing, he'd have to clarify what he meant by that himself.

miamicanes
14th September 2007, 04:24
Actually, I feel a LOT more confident about encoding stuff with AVC/h.264 using x264 today than I would using Windows to encode VC-1. I'm sure VC-1 will be around, too... but whether official (or even reliable) implementations of it will actually run on "untrusted" (unshackled) platforms like Linux is anybody's guess.

My main concern was if decoder/player implementations were deficient/incomplete, x264's output could temporarily be the de-facto equivalent of asymmetric-key encryption... absolutely rock-solid, valid, and ready to view someday, but effectively indecipherable for now. Not necessarily in blatant ways, but more like I'd be 2-3 months into my tape-archiving project, then suddenly discover that quite a few of the .mp4 files crashed the player at one or more points during playback because I took advantage of some optimization or feature that the players/decoders themselves didn't handle properly... but I never noticed it because I didn't have time to personally watch every single captured video from end to end, and jumping through the encoded file to do spot checks might have skipped the problematic frame(s) and not triggered the crash.

Alosaurus
14th September 2007, 04:40
Actually, I feel a LOT more confident about encoding stuff with AVC/h.264 using x264 today than I would using Windows to encode VC-1. I'm sure VC-1 will be around, too... but whether official (or even reliable) implementations of it will actually run on "untrusted" (unshackled) platforms like Linux is anybody's guess.

Libavcodec can already play VC-1 now. I'm watching an HD DVD using VC-1 as we speak on my Linux box.

My main concern was if decoder/player implementations were deficient/incomplete, x264's output could temporarily be the de-facto equivalent of asymmetric-key encryption... absolutely rock-solid, valid, and ready to view someday, but effectively indecipherable for now. Not necessarily in blatant ways, but more like I'd be 2-3 months into my tape-archiving project, then suddenly discover that quite a few of the .mp4 files crashed the player at one or more points during playback because I took advantage of some optimization or feature that the players/decoders themselves didn't handle properly... but I never noticed it because I didn't have time to personally watch every single captured video from end to end, and jumping through the encoded file to do spot checks might have skipped the problematic frame(s) and not triggered the crash.

Something pretty dramatic would have to happen that your files suddenly out of the blue stopped playing with the same decoder or device. What you are envisioning is highly unrealistic to happen.

Dark Shikari
14th September 2007, 04:44
Libavcodec can already play VC-1 now. I'm watching an HD DVD using VC-1 as we speak on my Linux box.Want some irony?

I had a broken WMV file a while back. It wouldn't play in FFDshow or Windows Media Player. It would only play in VLC! :) I had to use VLC to re-mux it since Microsoft's own tools refused to work on the file.

Alosaurus
14th September 2007, 04:46
Want some irony?

I had a broken WMV file a while back. It wouldn't play in FFDshow or Windows Media Player. It would only play in VLC! :) I had to use VLC to re-mux it since Microsoft's own tools refused to work on the file.

And that's why I don't shackle myself with proprietary tools. But yeah that's pretty ridiculous.

Alosaurus
14th September 2007, 04:51
miamicanes if you are so worried about your files being unplayable at some point in the future just stick to using a decoder like libavcodec. Or if you need to play back your files in a portable device like the iPod you just make sure you encode strictly to the specs and you will be just fine (most companies aren't going to just willy nilly break compliance of files). I'm not sure where you are getting this idea from that for no reason your files are going to break at some point in the future, but it's mostly apocalyptic nonsense.

Rash
14th September 2007, 06:40
Oh, wait a moment! I didn't mean to wreck havok on the thread, though I should have expected that by defending WMV.

I was just trying to be honest with my experiences. And I am NO WAY fanboy or anything related to Microsoft (in fact, I do criticize them a lot). Well, that stablished, I want to say that I have been encoding some videos these past weeks in both wmv and mp4. And I couldn't play my mp4s anywhere but on my Windows, using the tools the great people of this forum created (more specifically MPC and Haali Splitter). My mp4s play perfectly even on WMP11 and Media Center, but I couldn't play them on PS3, XBox 360 (but there is no reason to play on this one anyway) and neither on MacOS X. My wmvs, on the other hand, played fine on XBox 360 (OK, that was expected), PS3 and even on WMP for MacOS X. I know there are players that play these mp4s fine on Apple, so that doesn't count as an advantage for wmv. OK. But for that reason, akupenguin, I felt your comment was a little unfair. I didn't mean "everywhere" was Windows. Specially when I could play my mp4s only on Windows. And by far, I didn't want to cause such commotion between the x264 developers. Not between you, you are my idols!

I've been testing and trying x264. I've been asking advices for those who know a lot more than I do. Hey!

Just to end this discussion: all I meant was that I was worried with my mp4s in the future. What if you guys (x264-devs, Haali, Gabest - wait, he has already) stop developing these great tools? What if Microsoft (for instance) changes everything and ffdshow, the splitters, MPC suddenly all stop working? Linux developers introduce new APIs (gstreamer successors) completely incompatible? VLC guys stop developing (so bye bye Apple support)? These are my worries. Maybe unjustified, well that's what I am expecting. That I am wrong.

Now let's de-hijack this thread. :) Sorry for the mess.

Dark Shikari
14th September 2007, 06:46
Oh, wait a moment! I didn't mean to wreck havok on the thread, though I should have expected that by defending WMV.

I was just trying to be honest with my experiences. And I am NO WAY fanboy or anything related to Microsoft (in fact, I do criticize them a lot). Well, that stablished, I want to say that I have been encoding some videos these past weeks in both wmv and mp4. And I couldn't play my mp4s anywhere but on my Windows, using the tools the great people of this forum created (more specifically MPC and Haali Splitter). My mp4s play perfectly even on WMP11 and Media Center, but I couldn't play them on PS3, XBox 360 (but there is no reason to play on this one anyway) and neither on MacOS X.
So let me guess, you forgot to specify the correct --mvrange and --level flags?
Just to end this discussion: all I meant was that I was worried with my mp4s in the future. What if you guys (x264-devs, Haali, Gabest - wait, he has already) stop developing these great tools?
H.264 is an open standard. ANYONE CAN DEVELOP FOR IT. This is not true of WMV.
What if Microsoft (for instance) changes everything and ffdshow, the splitters, MPC suddenly all stop working?
Mplayer and VLC.

I repeat again: H.264 is a standard that is widely supported by many different companies who all are using it because it benefits them. WMV is promoted by Microsoft because it benefits Microsoft. Therefore, H.264 will always be supported better than WMV, because WMV relies on a single company for its mere existence.

Alosaurus
14th September 2007, 07:15
Just to end this discussion: all I meant was that I was worried with my mp4s in the future. What if you guys (x264-devs, Haali, Gabest - wait, he has already) stop developing these great tools?

Well nothing will happen. My current build of mplayer will continue to work and continue to decode all of the h.264 streams I create regardless of if anyone continues to develop the tools. x264 will still continue to encode files regardless of if development on it ceases. I don't get why you think these tools are just going to immediately stop working because someone stops developing them. Secondly, you talk about Gabest but someone else picked up where he left off and is continuing to develop MPC. That's how it works. When development stops on something either someone else will pick up development or someone will start developing a new piece of software.

What if Microsoft (for instance) changes everything and ffdshow, the splitters, MPC suddenly all stop working?

Then whoever maintains ffdshow and MPC will do the necessary fixes to make them work. That or someone else who also uses those tools will pick up development and make them work. Worst comes to worse you can just use mplayer.

Linux developers introduce new APIs (gstreamer successors) completely incompatible?

So what? mplayer doesn't use gstreamer so it wouldn't make a darn bit of difference to me or anyone else who uses mplayer.

VLC guys stop developing (so bye bye Apple support)?

mplayer. And even if they stop developing why do you act as if the player will just stop working? Secondly, someone who uses an Apple OS will either pick up the development or develop a new player of their own. Plenty of tools have lost developers and died and something has always taken it's place. Why do you act like if mplayer or VLC or anything else stops being maintained that no one will ever code another media player again?

These are my worries. Maybe unjustified, well that's what I am expecting. That I am wrong.

You are wrong. You're inventing scenarios that are so extreme that it isn't very realistic that they will happen. And even if they did someone will always come along and either continue development on the old piece of software or create something new that will work in the new environment. That's the way it's always been and that's the way it'll always be.

Alosaurus
14th September 2007, 07:33
My mp4s play perfectly even on WMP11 and Media Center, but I couldn't play them on PS3, XBox 360 (but there is no reason to play on this one anyway) and neither on MacOS X.

Then you didn't encode them properly to the requirements set by the device or decoder that you used. It's just that simple. If you encode an mpeg-2 stream that breaks the specs of DVD is it the DVD players fault that it can't play it or the person who created the stream? And as long as your stream is conforming to the specs set out by the device/decoder you are using they will continue to play just fine indefinitely. They won't just stop working for no reason at some point in the future which is what you seem to think will happen.

Rash
14th September 2007, 17:17
And even if they stop developing why do you act as if the player will just stop working?
I know the programs won't stop working overnight. I was talking about the future, like 10+ years from now. Many things can change. Look how Apple went from PowerPC to Intel. What if they change back to PowerPC again, for example?

OK, I'll reencode my MP4s following Sharktooth's profiles. Let's see if I can make them play on other devices. ;)

imcold
14th September 2007, 20:36
MPEG-1 spec was ready in 1991, that's 16 years. I think you're still able to play mpeg-1 video on your pc, aren't you? This won't be any different in 10 years. And that's the way it'll be with h.264 too. Your worries are unnecessary.

bobololo
15th September 2007, 22:07
I know the programs won't stop working overnight. I was talking about the future, like 10+ years from now. Many things can change. Look how Apple went from PowerPC to Intel. What if they change back to PowerPC again, for example?

OK, I'll reencode my MP4s following Sharktooth's profiles. Let's see if I can make them play on other devices. ;)

You may not realize it but you should have a look all around you and you'll see that H.264 is backed by almost all multimedia industries. Nearly all new recording/broadcasting/streaming/on demand/etc video applications are using (or intend to use) H.264 as video codec. So even if x264 and lavc contributors suddenly change their hobbies tomorrow, there will still have thousand of engineers, developers, designers, architects, etc. from those industries that will continue to support H.264. So don't worry about your H.264 material durability as long as it complies with the standard (i.e. using x264 with most common tools which are extensively tested).

Beside I can understand your feeling of total mess with regards of H.264 support here and there. One of the reasons is that H.264 covers a very wide range of applications with very different constraints and requirements. And people have to know (or learn to know) that H.264 from application "A" won't be necessarily compatible with H.264 from application "B". In the very same manner, you wouldn't expect your PS3 game to play on your legacy PlayStation, would you ?

The second reason to me is due to the complexity of the H.264 standard which offers a large tool set and a certain amount of freedom in their usage. As a result, even with the best efforts to implement a compliant design it's quite hard to insure a 100% flawless result without broad interoperability tests. This is particularly true for decoders. We're facing to those interoperability issues daily and hopefully for every one most devices are now in field upgradeable. Those issues will also tend to decrease as the maturity of H.264 will increase with time.

Rash
16th September 2007, 06:01
Awesome post, bobololo. :goodpost:

I understand MPEG-4 is a broad standard. Well, they've tried to make it the most compatible they could. Technology today gives us cellphones with video capabilities, live broadcasting, optical media storage, internet downloading, "PC Media Centers" (or HTPC as some says), etc. Each one with their different needs. And they all should be placed under the MPEG-4 umbrella.

I'm using x264 with MP4Box to create my files. So I hope these softwares fall into your "most common tools which are extensively tested" category. ;)

bobololo
16th September 2007, 13:08
I'm using x264 with MP4Box to create my files. So I hope these softwares fall into your "most common tools which are extensively tested" category. ;)

With regards to the "most common tools", I meant x264 tools (i.e. features). So for instance, keep away from --interlaced which doesn't seem to work properly with other options like --trellis.

Rash
16th September 2007, 22:20
Don't worry. Interlaced doesn't exist in my vocabulary. :D