Problems playing mkv HD films in opensuse but not windows

I’m trying to play a HD rip of a film from dvd. It’s in mkv format but it doesn’t seem to play properly in oS. I’ve tried using SMplayer and Kaffeine but neither work well. In SMplayer the picture freezes after about 35s but the sound continues. With Kaffein the picture works but I loose the sound after about 15s. In win xp it plays fine.

CPU usage in oS is around 45-50% so it’s not maxing out my cpu.

Any ideas how I can fix this. Or is there a better player for mkv files?

VLC should play it no problem
Make sure of course, you have it from Packman

Just installed vlc from packman and it doesn’t play the mkv very well either. Sound is good but picture stops every few frames or breaks up.

Is it a codec thing or are the Linux players just not optimised very well? As mentioned, it plays fine under xp so I know my laptop is up to it.

I’m not well up on this. But .mkv play just fine for me, including HD.
I’m fairly sure you already followed the multi-media guide already. I’m wondering about your graphics and driver? Does it function well otherwise?

Even dual core cpu’s can struggle with some of the highest resolution/highest bit rate videos.

Can you install “mediainfo” from Packman, and then run media info against the video, and provide here the:

  1. resolution, and
  2. bitrate
    of the video ?

I also forgot to mention, that most your video players will let you select a video output mode. x11 output tends to be the most compatible, and it has the poorest performance. If you can get xv (xvideo) to work, it tends to function better. So take a look at “settings” / “preferences” in each of your video players to see if you can get them to work better.

Also, as caf4926 pointed out, the graphic driver you are using can make a signficant difference in the playability of videos. Please confirm you are using the Intel graphic driver and not the vesa nor fbdev driver.

Some practical driver theory (for intel): openSUSE practical Intel graphic theory

Should be this guide, I think: openSUSE Graphic Card Practical Theory Guide for Users - openSUSE Forums

Yes, my mistake (I had some other URL in my clipboard). Thanks for pointing that out. I’ll go edit the post.

OK, I have discovered that when my laptop is plugged into the power then the video plays fine (with all the players) but on battery it doesn’t. On battery my power management sets the cpu to powersave whilst on power it’s set to performance.

Setting the cpu to “on demand (dynamic)” for battery power fixes the problem for viewing under battery power.

What’s the difference between on demand (dynamic) and on demand (conservative)? Which gives the better power management in terms of battery life? I need to eek out the max battery life whilst viewing the films for long haul flights.

:slight_smile:
Dude! :slight_smile:

On Tue, 13 Apr 2010 09:56:03 +0000, caf4926 wrote:

> suse_tpx60s;2151914 Wrote:
>> Just installed vlc from packman and it doesn’t play the mkv very well
>> either. Sound is good but picture stops every few frames or breaks up.
>>
>> Is it a codec thing or are the Linux players just not optimised very
>> well? As mentioned, it plays fine under xp so I know my laptop is up to
>> it.
>
> I’m not well up on this. But .mkv play just fine for me, including HD.
> I’m fairly sure you already followed the multi-media guide already. I’m
> wondering about your graphics and driver? Does it function well
> otherwise?

Sounds like the file is incomplete; I play mkvs myself quite regularly
with mplayer (used for streaming to a PS3) and the only time I have
problems is if the file has missing bits…

Jim


Jim Henderson
openSUSE Forums Administrator

Well it appears I spoke too soon. After setting my cpu to ondemand for battery power it worked for about 10mins then the frames started freezing. I then tried setting the cpu to performance and same thing.

I’m starting to think that perhaps the files are corrupt or missing bits.

Here is the mediainfo on the file

mediainfo TheBourneIdentity-1.mkv
General
Complete name : TheBourneIdentity-1.mkv
Format : Matroska
File size : 3.42 GiB
Duration : 44mn 11s
Overall bit rate : 11.1 Mbps
Encoded date : UTC 2008-05-19 18:09:07
Writing application : mkvmerge v2.2.0 (‘Turn It On Again’) built on Mar 4 2008 12:58:26
Writing library : libebml v0.7.7 + libmatroska v0.8.1

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Muxing mode : Container profile=Unknown@4.1
Codec ID : V_MPEG4/ISO/AVC
Duration : 44mn 9s
Bit rate : 9 349 Kbps
Nominal bit rate : 9 040 Kbps
Width : 1 920 pixels
Height : 816 pixels
Display aspect ratio : 2.35:1
Frame rate : 23.976 fps
Resolution : 8 bits
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.249
Stream size : 2.88 GiB (84%)
Title : x264 - 2 passes
Writing library : x264 core 58 svn-736M
Encoding settings : cabac=1 / ref=4 / deblock=1:-2:-2 / analyse=0x3:0x113 / me=umh / subme=7 / me-prepass=0 / brdo=1 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=1 / cqm=0 / deadzone=6,4 / chroma_qp_offset=0 / threads=6 / nr=0 / decimate=0 / mbaff=0 / bframes=3 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=3 / wpredb=1 / bime=1 / keyint=250 / keyint_min=25 / scenecut=40(pre) / rc=2pass / bitrate=9040 / ratetol=2.0 / rceq=‘blurCplx^(1-qComp)’ / qcomp=1.00 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=38000 / vbv_bufsize=30000 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:0.5:13.0
Language : English

Audio
ID : 2
Format : DTS
Format/Info : Digital Theater Systems
Codec ID : A_DTS
Duration : 44mn 11s
Bit rate mode : Constant
Bit rate : 1 510 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Resolution : 24 bits
Stream size : 477 MiB (14%)
Title : DTS - 1536 kbit/sec
Language : English

Text #1
ID : 3
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Language : English

Text #2
ID : 4
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Language : Dutch

Looking at the resolution and the bit rate above and the capability of your PC below:

openSUSE 11.2 | (KDE4.4.2) | AMD 64 X2 5200+ | nVidia 8500GT | 4GB RAM | M2N4-SLI

that PC may not have the cpu power to play this video.

If this is the correct PC, then try installing libvdpau1 and also the proprietary nVidia graphic driver.

With those installed, then try smplayer with the vdpau output video mode selected.

If smplayer does not work, then with vdpau installed and nvidia proprietary graphic driver installed, try this command:

mplayer -vo vdpau -vc ffh264vdpau TheBourneIdentity-1.mkv

that command will only work properly with proprietary nvidia graphic driver installed.

Thanks but actually I’m trying to play it on my laptop which is even weaker :shame:lol!. The thing that puzzles me is that it appeared to play fine in XP. But then again I didn’t really play more than 5mins in XP so it may also have a problem later.

I tried your suggestion but that didn’t work either and I assume because it’s for nVidia and not Intel. And to answer an earlier question, yes I am using the Intel driver.

I think I’ll just try convert it to a smaller bitrate and resolution.

In order to provide an assessment, I need to know :

  • what CPU
  • what EXACT graphic device
  • what graphic driver

I’m not surprised it plays in xp. Likely if it is the PC with the nvidia graphics device, you could be using vlc or another player in xp which takes advantage of pure video (vdpau in linux). to offload the cpu processing to the gpu.

My laptop specs are:
CPU: Genuine Intel(R) CPU L2400 @ 1.66GHz

**Graphics device: **
lspci -v
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
Subsystem: Lenovo ThinkPad T60/R60 series
Flags: bus master, fast devsel, latency 0
Capabilities: [e0] Vendor Specific Information <?>
Kernel driver in use: agpgart-intel

00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03) (prog-if 00 [VGA controller])
Subsystem: Lenovo ThinkPad T60/R60 series
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at ee100000 (32-bit, non-prefetchable) [size=512]
I/O ports at 1800 [size=8]
Memory at d0000000 (32-bit, prefetchable) [size=256]
Memory at ee200000 (32-bit, non-prefetchable) [size=256]
Expansion ROM at <unassigned> [disabled]
Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit-
Capabilities: [d0] Power Management version 2

00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
Subsystem: Lenovo ThinkPad T60/R60 series
Flags: fast devsel
Memory at ee180000 (32-bit, non-prefetchable) [size=512]
Capabilities: [d0] Power Management version 2

Graphic driver:[/size][/size][/size][/size] Sorry, I don’t know how to query which driver is installed but this is what’s in my Xorg.conf.
Section “Device”
BoardName “945 GM”
Driver “intel”
Identifier “Device[0]”
Option “monitor-VGA” “Monitor[0]”
VendorName “Intel”
EndSection

Section “DRI”
Group “video”
Mode 0660
EndSection

I know in oS 11.1 that the Intel driver was generally regarded as rubbish and am not sure if has been improved for 11.2.

Forget about the nVidia stuff as that is on my desktop box. I’m only interested in getting this working for my Intel based laptop.[/size]

OK, I just found how to query which drivers are installed

rpm -ql xorg-x11-driver-video
/usr/bin/bios_dumper
/usr/bin/bios_reader
/usr/bin/intel_audio
/usr/bin/intel_gpu_dump
/usr/bin/intel_gpu_top
/usr/bin/intel_gtt
/usr/bin/intel_hotplug
/usr/bin/intel_idle
/usr/bin/intel_lid
/usr/bin/intel_reg_dumper
/usr/bin/intel_statuspage
/usr/bin/intel_stepping
/usr/bin/intel_upload_blit_large
/usr/bin/intel_upload_blit_large_gtt
/usr/bin/intel_upload_blit_large_map
/usr/bin/intel_upload_blit_small
/usr/bin/swf_dumper
/usr/lib/libI810XvMC.la
/usr/lib/libI810XvMC.so
/usr/lib/libI810XvMC.so.1
/usr/lib/libI810XvMC.so.1.0.0
/usr/lib/libIntelXvMC.la
/usr/lib/libIntelXvMC.so
/usr/lib/libIntelXvMC.so.1
/usr/lib/libIntelXvMC.so.1.0.0
/usr/lib/xorg/modules
/usr/lib/xorg/modules/drivers
/usr/lib/xorg/modules/drivers/apm_drv.la
/usr/lib/xorg/modules/drivers/apm_drv.so
/usr/lib/xorg/modules/drivers/ark_drv.la
/usr/lib/xorg/modules/drivers/ark_drv.so
/usr/lib/xorg/modules/drivers/ast_drv.la
/usr/lib/xorg/modules/drivers/ast_drv.so
/usr/lib/xorg/modules/drivers/ati_drv.la
/usr/lib/xorg/modules/drivers/ati_drv.so
/usr/lib/xorg/modules/drivers/ch7017.la
/usr/lib/xorg/modules/drivers/ch7017.so
/usr/lib/xorg/modules/drivers/ch7xxx.la
/usr/lib/xorg/modules/drivers/ch7xxx.so
/usr/lib/xorg/modules/drivers/chips_drv.la
/usr/lib/xorg/modules/drivers/chips_drv.so
/usr/lib/xorg/modules/drivers/cirrus_alpine.la
/usr/lib/xorg/modules/drivers/cirrus_alpine.so
/usr/lib/xorg/modules/drivers/cirrus_drv.la
/usr/lib/xorg/modules/drivers/cirrus_drv.so
/usr/lib/xorg/modules/drivers/cirrus_laguna.la
/usr/lib/xorg/modules/drivers/cirrus_laguna.so
/usr/lib/xorg/modules/drivers/dummy_drv.la
/usr/lib/xorg/modules/drivers/dummy_drv.so
/usr/lib/xorg/modules/drivers/fbdev_drv.la
/usr/lib/xorg/modules/drivers/fbdev_drv.so
/usr/lib/xorg/modules/drivers/geode_drv.la
/usr/lib/xorg/modules/drivers/geode_drv.so
/usr/lib/xorg/modules/drivers/glint_drv.la
/usr/lib/xorg/modules/drivers/glint_drv.so
/usr/lib/xorg/modules/drivers/i128_drv.la
/usr/lib/xorg/modules/drivers/i128_drv.so
/usr/lib/xorg/modules/drivers/i740_drv.la
/usr/lib/xorg/modules/drivers/i740_drv.so
/usr/lib/xorg/modules/drivers/intel_drv.la
/usr/lib/xorg/modules/drivers/intel_drv.so
/usr/lib/xorg/modules/drivers/ivch.la
/usr/lib/xorg/modules/drivers/ivch.so
/usr/lib/xorg/modules/drivers/mach64_drv.la
/usr/lib/xorg/modules/drivers/mach64_drv.so
/usr/lib/xorg/modules/drivers/mga_drv.la
/usr/lib/xorg/modules/drivers/mga_drv.so
/usr/lib/xorg/modules/drivers/mgahal_drv.so
/usr/lib/xorg/modules/drivers/neomagic_drv.la
/usr/lib/xorg/modules/drivers/neomagic_drv.so
/usr/lib/xorg/modules/drivers/newport_drv.la
/usr/lib/xorg/modules/drivers/newport_drv.so
/usr/lib/xorg/modules/drivers/nsc_drv.la
/usr/lib/xorg/modules/drivers/nsc_drv.so
/usr/lib/xorg/modules/drivers/nv_drv.la
/usr/lib/xorg/modules/drivers/nv_drv.so
/usr/lib/xorg/modules/drivers/r128_drv.la
/usr/lib/xorg/modules/drivers/r128_drv.so
/usr/lib/xorg/modules/drivers/radeon_drv.la
/usr/lib/xorg/modules/drivers/radeon_drv.so
/usr/lib/xorg/modules/drivers/rendition_drv.la
/usr/lib/xorg/modules/drivers/rendition_drv.so
/usr/lib/xorg/modules/drivers/s3_drv.la
/usr/lib/xorg/modules/drivers/s3_drv.so
/usr/lib/xorg/modules/drivers/s3virge_drv.la
/usr/lib/xorg/modules/drivers/s3virge_drv.so
/usr/lib/xorg/modules/drivers/savage_drv.la
/usr/lib/xorg/modules/drivers/savage_drv.so
/usr/lib/xorg/modules/drivers/sil164.la
/usr/lib/xorg/modules/drivers/sil164.so
/usr/lib/xorg/modules/drivers/siliconmotion_drv.la
/usr/lib/xorg/modules/drivers/siliconmotion_drv.so
/usr/lib/xorg/modules/drivers/sis_drv.la
/usr/lib/xorg/modules/drivers/sis_drv.so
/usr/lib/xorg/modules/drivers/sisusb_drv.la
/usr/lib/xorg/modules/drivers/sisusb_drv.so
/usr/lib/xorg/modules/drivers/tdfx_drv.la
/usr/lib/xorg/modules/drivers/tdfx_drv.so
/usr/lib/xorg/modules/drivers/tfp410.la
/usr/lib/xorg/modules/drivers/tfp410.so
/usr/lib/xorg/modules/drivers/tga_drv.la
/usr/lib/xorg/modules/drivers/tga_drv.so
/usr/lib/xorg/modules/drivers/trident_drv.la
/usr/lib/xorg/modules/drivers/trident_drv.so
/usr/lib/xorg/modules/drivers/tseng_drv.la
/usr/lib/xorg/modules/drivers/tseng_drv.so
/usr/lib/xorg/modules/drivers/v4l_drv.la
/usr/lib/xorg/modules/drivers/v4l_drv.so
/usr/lib/xorg/modules/drivers/vesa_drv.la
/usr/lib/xorg/modules/drivers/vesa_drv.so
/usr/lib/xorg/modules/drivers/vmware_drv.la
/usr/lib/xorg/modules/drivers/vmware_drv.so
/usr/lib/xorg/modules/drivers/voodoo_drv.la
/usr/lib/xorg/modules/drivers/voodoo_drv.so
/usr/lib/xorg/modules/drivers/ztv_drv.la
/usr/lib/xorg/modules/drivers/ztv_drv.so
/usr/lib/xorg/modules/multimedia
/usr/lib/xorg/modules/multimedia/theatre200_drv.la
/usr/lib/xorg/modules/multimedia/theatre200_drv.so
/usr/lib/xorg/modules/multimedia/theatre_detect_drv.la
/usr/lib/xorg/modules/multimedia/theatre_detect_drv.so
/usr/lib/xorg/modules/multimedia/theatre_drv.la
/usr/lib/xorg/modules/multimedia/theatre_drv.so
/usr/lib/xorg/modules/v10002d.uc
/usr/lib/xorg/modules/v20002d.uc
/usr/share/man/man1/intel_gpu_dump.1.gz
/usr/share/man/man1/intel_gpu_top.1.gz
/usr/share/man/man1/intel_stepping.1.gz
/usr/share/man/man1/intel_upload_blit_large.1.gz
/usr/share/man/man1/intel_upload_blit_large_gtt.1.gz
/usr/share/man/man1/intel_upload_blit_large_map.1.gz
/usr/share/man/man1/intel_upload_blit_small.1.gz
/usr/share/man/man4/apm.4.gz
/usr/share/man/man4/ati.4.gz
/usr/share/man/man4/chips.4.gz
/usr/share/man/man4/cirrus.4.gz
/usr/share/man/man4/fbdev.4.gz
/usr/share/man/man4/glint.4.gz
/usr/share/man/man4/i128.4.gz
/usr/share/man/man4/i740.4.gz
/usr/share/man/man4/intel.4.gz
/usr/share/man/man4/mga.4.gz
/usr/share/man/man4/neomagic.4.gz
/usr/share/man/man4/newport.4.gz
/usr/share/man/man4/nsc.4.gz
/usr/share/man/man4/nv.4.gz
/usr/share/man/man4/r128.4.gz
/usr/share/man/man4/radeon.4.gz
/usr/share/man/man4/rendition.4.gz
/usr/share/man/man4/s3.4.gz
/usr/share/man/man4/s3virge.4.gz
/usr/share/man/man4/savage.4.gz
/usr/share/man/man4/siliconmotion.4.gz
/usr/share/man/man4/sis.4.gz
/usr/share/man/man4/sisusb.4.gz
/usr/share/man/man4/tdfx.4.gz
/usr/share/man/man4/trident.4.gz
/usr/share/man/man4/tseng.4.gz
/usr/share/man/man4/v4l.4.gz
/usr/share/man/man4/vesa.4.gz
/usr/share/man/man4/vmware.4.gz
/usr/share/man/man4/voodoo.4.gz
/usr/share/sax
/usr/share/sax/api
/usr/share/sax/api/data
/usr/share/sax/api/data/cdb
/usr/share/sax/api/data/cdb/Cards.20.xorg-x11-driver-video
/usr/share/sax/sysp
/usr/share/sax/sysp/maps
/usr/share/sax/sysp/maps/update
/usr/share/sax/sysp/maps/update/Identity.map.20.xorg-x11-driver-video
/var/lib/hardware
/var/lib/hardware/ids
/var/lib/hardware/ids/20.xorg-x11-driver-video

That tells you which drivers are installed, but not what driver is being used. Nor does it tell us the version number of the driver being used.

I suspect the Intel driver is being used. If you look inside the /var/log/Xorg.0.log it will tell you what driver is being used. Do NOT post that log file here. If you feel obliged to post it because you can not figure this out, then post it on PasteBin.be , press dump, get the URL, and post here the URL.

Can you provide output of:

rpm -qa *'driver'* 

and that will tell what rpm versions you have, after which with a bit of work, one can then download the rpms and figure out the driver.

Assuming the driver is the intel driver, you could look in the change history of xorg-x11-driver-video by typing:

rpm -q xorg-x11-driver-video --changelog

and that may tell you the Intel driver version (as it will note when driver updated).

But for all I know your laptop is using the fbdev or vesa driver.

Right, I’ve looked through the xorg.0.log and can see what I think is the driver being loaded.

(II) LoadModule: “intel”
(II) Loading /usr/lib/xorg/modules//drivers/intel_drv.so
(II) Module intel: vendor=“X.Org Foundation”
compiled for 1.6.5, module version = 2.9.1
Module class: X.Org Video Driver
ABI class: X.Org Video Driver, version 5.0
(II) intel: Driver for Intel Integrated Graphics Chipsets: i810,
i810-dc100, i810e, i815, i830M, 845G, 852GM/855GM, 865G, 915G,
E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM, Pineview G,
965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33, GM45,
4 Series, G45/G43, Q45/Q43, G41, B43, Clarkdale, Arrandale
I’ve included the whole log file in case I got it wrong.

Other outputs you asked for

rpm -qa ‘driver’
virtuoso-drivers-6.1.0-10.2.i586
xorg-x11-driver-video-radeonhd-1.3.0_20100216_79a0ab2-0.1.1.i586
xorg-x11-driver-video-7.4-87.91.1.i586
xorg-x11-driver-input-7.4-39.2.1.i586
cups-drivers-1.3.9-4.1.i586
What’s that radeonhd doing there?

The last intel video update in the changelog was

  • xf86-video-intel 2.9.1
    • a few, hand-picked bug fixes since that 2.9.0 release
  • obsoletes xf86-video-intel-commit-02fe9be6.diff,
    xf86-video-intel-bnc545499-commit_57fc09c.diff

So thats clear, you are using the 2.9.1 Intel graphic driver.

It is installed by default, no matter what hardware one has in place.

There is also a new opensource Intel driver available here:
Index of /repositories/X11:/XOrg/openSUSE_11.2

For this updated rpm, if one looks inside the new rpm (for the new driver) one will see: xf86-video-intel-2.11.0.tar.bz2 or alternatively one just reads the change notice to see version 2.11.0 of the Intel driver . Typically in such a case, if one updates , I think one needs to update Mesa, xorg-x11-driver-input, and xorg-x11-driver-video , plus any dependencies that come up when installing those rpms.

The exact repos is here:

http://download.opensuse.org/repositories/X11:/XOrg/openSUSE_11.2/

Note I always recommend 4 and only 4 repos: OSS, Non-OSS, Update and Packman. Hence if that 5th repos is added, it should IMHO be IMMEDIATELY removed after applications are installed.

Information on the Intel drivers is here: Intel Linux Graphics but one should still use an rpm packaged by openSUSE for an openSource Intel driver install.

A caution about the new opensource driver. Newer is not always better. That repository I listed has cutting edge rpms and installing them could make things worse and not better, so I would not recommend it unless one has definite/necessary reasons for updating the driver/rpms. Having it work in a game may not be a sufficient reason for risking total graphic breakage on one’s system.

Note I provided some practical graphic driver theory here for Intel: openSUSE Forums - View Single Post - openSUSE Graphic Card Practical Theory Guide for Users

IEGD Driver: Note also that there is a “proprietary” iegd (Intel Embedded Graphic Driver)](http://edc.intel.com/Software/Downloads/IEGD/#overview) graphic driver available for selected Intel graphic hardware, of which I know nothing. I do note that for both ATI and nVidia , one tends to get better performance from their respective “proprietary” graphic drivers. I have NO IDEA if the same is true for Intel. Post #40 and #41 provide some information: openSUSE Graphic Card Practical Theory Guide for Users - openSUSE Forums

I have not tried to install that driver, and you may need some help if you wish to try. I may be able to provide suggestions, but with my having no experience with this driver, a lot of any suggestions I provide may not be much more than speculation.