Log in

View Full Version : Mplayer Playback


Oline 61
26th January 2006, 01:50
Does Mplayer not support certain parts of the AVC spec? When I play back several encodes I made with x264/MeGUI the video is very blocky and looks like crap in general. The same video looks great via the nero filter, ffdshow or coreavc. Does Mplayer only support main profile or something?

ChronoReverse
26th January 2006, 02:08
You'll need to give more information than that.

Like the versions of x264 and mplayer you're using for instance.

Oline 61
26th January 2006, 02:16
Encoded with x264 rev 408 (Sharktooth), using latest Mplayer CVS (with libavcodec, libavformat, and libavutil latest cvs from FFMpeg) compiled by me with GCC 4.0.2 on my Ubuntu box. The video is high profile unrestricted with 4 mixed ref, 2 bframes, other than that standard options. I am making a short encode with rev 409 from x264.nl and will try on latest Win32 build from mplayer.hu and post results.

ChronoCross
26th January 2006, 02:35
Encoded with x264 rev 408 (Sharktooth), using latest Mplayer CVS (with libavcodec, libavformat, and libavutil latest cvs from FFMpeg) compiled by me with GCC 4.0.2 on my Ubuntu box. The video is high profile unrestricted with 4 mixed ref, 2 bframes, other than that standard options. I am making a short encode with rev 409 from x264.nl and will try on latest Win32 build from mplayer.hu and post results.

you need to make sure your linking the latest version of libavcodec or else it won't be able to fully decode the stream.

Oline 61
26th January 2006, 02:50
Huh? What I do is follow the directions on Mplayer.hu. Grab the latest CVS of everything, and copy libavcodec, libavutil, and libavformat to ~/main/ and then it correctly autodetects these libraries in ./configure

I run ./configure && make && sudo make install

the libraries are compiled with Mplayer. I'm not sure about compiling it with Mingw, but this is just a simple compile for a Linux system using GCC.

Playback works with Celtic Druid's builds but not with the official builds. My concern is getting it to work on my Linux box, but Celtic Druid's builds are w32. The other builds I have tried demonstrate the blocking problem.

How can I do this linking of which you speak? Do I need to compile FFMpeg and then draw symbolic links? If so what specifically are the links to and from?

ChronoCross
26th January 2006, 03:43
if this is the official final builds of mplayer then it may not have a completely updated libavcodec. you need to pull the latest libavcodec off the ffmpeg site in their CVS tree and replace the provided libs in mplayer with the ones from the ffmpeg site.

http://ffmpeg.sourceforge.net/download.php

Oline 61
26th January 2006, 03:52
That is what I do when I compile Mplayer for my Linux box with GCC. Just a few hours ago I compiled with the latest CVS from Mplayer and from FFMPEG and it did not decode the AVC stream correctly. Celtic Druid's builds do decode it correctly. I was wondering what he did differently to make it work.

ChronoCross
26th January 2006, 03:59
you could investigate the ./configure switches. If I remember correctly if your using the SDL library(I think that's what it's called) when compiling then it can cause playback problems with certain hardware. I think the switch is --disable-sdl . look up the switch to make sure that it's the correct one and give it a try.

Oline 61
26th January 2006, 04:09
Okay, thanks for helping me. It's getting late and I have started up an encoding job for overnight (I use Windows for encoding so I can't compile until tomorrow afternoon), but as soon as I try it I will post the results.

hellfred
26th January 2006, 09:40
Okay, thanks for helping me. It's getting late and I have started up an encoding job for overnight (I use Windows for encoding so I can't compile until tomorrow afternoon), but as soon as I try it I will post the results.
I have encoded a H264 movie with quite every high quality feature (including High Profile) enabled, that are available with x264 rev 395 (version needed for StaxRip). MPlayer plays back this sample just fine. So I would suggest to switch between some of the video driver, too.
mplayer -vo help
should list the availabe. On win32, the list is quite short usually.
Another workaround (just for testeing) can be decoding of the clip to a raw format (e. g. yv12) and wiriting the output to a file with mencoder. Then have a look at the decoded clip with any dshow player. If the artefacts are still there, the problem is located within libavcodec.
Or get yourself a linux live cd (Knoppix, Kanotix, etc), build mplayer there and play back the clips. If you just have NTFS partitions on your hd and therefore no place to install mplayer permanently, you can install mplayer into the ramdisk
(./configure --prefix=~ && make && make install; ~/bin/mplayer yourfile)
If the problem realy is cvs ffmpeg, add libavcode, libavutil and libavformat to your cvs entrie like mentioned in mplayers README and update the source in some time again. Maybe there will be a fix for broken h264 decoding soon. Or write a proper bugreport and send it to ffmpeg mailing list.

Hellfred

Oline 61
26th January 2006, 22:33
Alright, I got it working.
Got FFMpeg latest CVS.
Got Latest MPlayer CVS.
Copy ~/ffmpeg/libavcodec/ ~/ffmpeg/libavformat/ ~/ffmpeg/libavutil/ to ~/main/
./configure --disable-sdl --enable-gui --enable-largefiles
make && sudo make install

The resulting MPlayer plays back AVC content with splendor. Thanks for helping me everyone.

ChronoCross
27th January 2006, 02:33
your welcome.