Author Topic: Playback of MKV/H264/X264 HD video files: a solution using CoreAVC  (Read 32212 times)

jeangot

  • Guru
  • ****
  • Posts: 233
    • View Profile
Re: Playback of MKV/H264/X264 HD video files: a solution using CoreAVC
« Reply #15 on: August 01, 2008, 10:49:38 pm »
Cirion,
I'm even more confused now, I did it all again from scratch, and it worked fine. Xine in KDE looks like this for me (I really thought it should say dshowserver instead of Matroska but apparenlty not):
Quote
xine: found demuxer plugin: matroska demux plugin
demux_matroska: Track 1, V_MPEG4/ISO/AVC eng
demux_matroska: Track 2, A_DTS eng
demux_matroska: Track 3, S_TEXT/UTF8 eng
av_offset=0 pts
spu_offset=0 pts
shm:/dshow_shm.44007950
sem1:/dshow_sem1.44007950
sem2:/dshow_sem2.44007950
Got BIH
Opening device
Called unk_IsDebuggerPresent
Stream with high frequencies VQ coding
len: 992
ProductVersion: 1.7.0
Decoder supports the following YUV formats: YUY2 UYVY YV12 I420
Decoder is capable of YUV output (flags 0x2b)
Setting fmt
Starting
Initialization is complete

The line "ProductVersion: 1.7.0" tell us for sure that it's aware of CoreAVC, and if I run a top at the same time, I can clearly see "dshowserver" running and taking the most cpu.

Are you doing your renamings in /usr/lib (as opposed to /usr/local/lib)? This is where the xine in KDE looks for its libraries.

Jean

« Last Edit: August 01, 2008, 10:52:48 pm by jeangot »

colinjones

  • Alumni
  • LinuxMCE God
  • *
  • Posts: 3003
    • View Profile
Re: Playback of MKV/H264/X264 HD video files: a solution using CoreAVC
« Reply #16 on: August 02, 2008, 02:18:33 am »
Just thought I'd mention, Jean, it actually indicates that it is demuxing not decoding with matroska. It does mention dshow further down. Demuxing is only pulling the streams out of the container not actually decoding it which is the heavy duty bit.

Perhaps it is just using matroska to demux, then your bit to decode? After all, it isn't really your codec's responsibility to demux, that's container management

cirion

  • Guru
  • ****
  • Posts: 353
    • View Profile
Re: Playback of MKV/H264/X264 HD video files: a solution using CoreAVC
« Reply #17 on: August 02, 2008, 07:25:57 am »
I have done the renamings and still, I see no improvement.
In KDE I do see a change, but to the worse...

This is what I get when I run Xine from commandline with --verbose.
Code: [Select]
root@moon59:~# xine /home/public/data/videos/Transformers.mkv --verbose
This is xine (X11 gui) - a free video player v0.99.5.
(c) 2000-2007 The xine Team.
Built with xine library 1.1.7 (1.1.7)
Found xine library version: 1.1.10 (1.1.10.1).
   Plateform informations:
   ----------------------
        system name     : Linux
        node name       : moon59
        release         : 2.6.22-14-generic
        version         : #1 SMP Sun Oct 14 23:05:12 GMT 2007
        machine         : i686
   CPU Informations:
   ----------------
        processor       : 0
        vendor_id       : AuthenticAMD
        cpu family      : 15
        model           : 107
        model name      : AMD Athlon(tm) 64 X2 Dual Core Processor 4400+
        stepping        : 2
        cpu MHz         : 1000.000
        cache size      : 512 KB
        physical id     : 0
        siblings        : 2
        core id         : 0
        cpu cores       : 2
        fdiv_bug        : no
        hlt_bug         : no
        f00f_bug        : no
        coma_bug        : no
        fpu             : yes
        fpu_exception   : yes
        cpuid level     : 1
        wp              : yes
        flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8legacy 3dnowprefetch ts fid vid ttp tm stc 100mhzsteps
        bogomips        : 2001.92
        clflush size    : 64
        processor       : 1
        vendor_id       : AuthenticAMD
        cpu family      : 15
        model           : 107
        model name      : AMD Athlon(tm) 64 X2 Dual Core Processor 4400+
        stepping        : 2
        cpu MHz         : 1000.000
        cache size      : 512 KB
        physical id     : 0
        siblings        : 2
        core id         : 1
        cpu cores       : 2
        fdiv_bug        : no
        hlt_bug         : no
        f00f_bug        : no
        coma_bug        : no
        fpu             : yes
        fpu_exception   : yes
        cpuid level     : 1
        wp              : yes
        flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8legacy 3dnowprefetch ts fid vid ttp tm stc 100mhzsteps
        bogomips        : 2001.92
        clflush size    : 64
   -------
   Display Name:          :0.0,
   XServer Vendor:        The X.Org Foundation,
   Protocol Version:      11, Revision: 0,
   Available Screen(s):   1,
   Default screen number: 0,
   Using screen:          0,
   Depth:                 24,
-[ xiTK version 0.10.7 [XFT] ]-[ WM type: (GnomeCompliant) (EWMH) dtwm {Xfwm4} ]-
load_plugins: skipping unreadable plugin directory /root/.xine/plugins.
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_inp_cdda.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_spudvb.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_dts.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_inp_pnm.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_inp_dvb.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_nsv.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_mad.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_bitplane.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_spucc.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/post/xineplug_post_planar.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/post/xineplug_post_planar.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/post/xineplug_post_planar.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/post/xineplug_post_planar.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/post/xineplug_post_planar.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/post/xineplug_post_planar.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/post/xineplug_post_planar.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/post/xineplug_post_planar.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/post/xineplug_post_planar.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/post/xineplug_post_planar.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/post/xineplug_post_visualizations.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/post/xineplug_post_visualizations.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/post/xineplug_post_visualizations.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/post/xineplug_post_mosaico.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/post/xineplug_post_audio_filters.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/post/xineplug_post_audio_filters.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/post/xineplug_post_audio_filters.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/post/xineplug_post_audio_filters.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/post/xineplug_post_tvtime.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/post/xineplug_post_switch.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/post/xineplug_post_goom.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_asf.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_vo_out_xshm.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_vo_out_xshm.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_gsm610.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_inp_file.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_yuv_frames.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_yuv.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_flv.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_inp_rtp.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_faad.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_inp_vcd.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_inp_rtsp.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_nsf.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_vo_out_syncfb.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_qt.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_qt.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_games.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_games.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_games.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_games.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_games.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_games.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_games.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_games.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_games.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_games.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_games.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_mpeg_ts.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_real.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_mpeg_pes.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_vo_out_dxr3.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_vo_out_dxr3.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_vo_out_opengl.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_inp_http.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_audio.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_audio.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_audio.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_audio.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_audio.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_audio.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_audio.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_audio.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_audio.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_audio.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_audio.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_audio.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_audio.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_audio.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_audio.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_audio.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_audio.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_vo_out_vidix.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_vo_out_vidix.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_rgb.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_dxr3_video.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_a52.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_ao_out_file.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_qt.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_slave.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_vo_out_fb.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_inp_vcdo.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_ff.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_ff.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_ff.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_ff.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_inp_dvd.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_spucmml.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_sputext.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_inp_pvr.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_yuv4mpeg2.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_iff.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_inp_stdin_fifo.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_spu.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_dxr3_spu.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_sputext.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_ao_out_oss.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_dvaudio.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_inp_v4l.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_inp_v4l.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_mpc.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_inp_net.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_mpeg_block.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_avi.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_rawdv.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_mpeg.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_mpeg_elem.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_fli.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_mpeg2.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_matroska.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_ao_out_none.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_real.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_real.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_w32dll.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_w32dll.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_vo_out_none.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_vo_out_sdl.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_decode_lpcm.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_inp_mms.so found
load_plugins: plugin /usr/local/lib/xine/plugins/1.1.10/xineplug_dmx_pva.so found
main: probing <aadxr3> video output plugin
main: probing <dxr3> video output plugin
video_out_dxr3: Failed to open control device /dev/em8300-0 (No such file or directory)
main: probing <opengl> video output plugin
video_out_opengl: setup of '2D_Tex_Fragprog'
video_out_opengl: extension GL_EXT_bgra: OK
video_out_opengl: extension GL_EXT_texture_object: OK
video_out_opengl: extension GL_ARB_fragment_program: OK
video_out_opengl: extension GL_ARB_pixel_buffer_object: OK
main: probing <oss> audio output plugin
audio_oss_out: audio.device.oss_device_name = auto, probing devs
audio_oss_out: using device >/dev/dsp<
osd: can't find out current locale character set
osd: can't find out current locale character set
osd: can't find out current locale character set
osd: can't find out current locale character set
osd: can't find out current locale character set
videowin: output driver overrides selected visual to visual id 0x26
video_out_opengl: setup of '2D_Tex_Fragprog'
video_out_opengl: extension GL_EXT_bgra: OK
video_out_opengl: extension GL_EXT_texture_object: OK
video_out_opengl: extension GL_ARB_fragment_program: OK
video_out_opengl: extension GL_ARB_pixel_buffer_object: OK
osd: can't find out current locale character set
osd: can't find out current locale character set
gui_xine_open_and_play():
        mrl: '/home/public/data/videos/Transformers.mkv',
        sub 'NONE',
        start_pos 0, start_time 0, av_offset 0, spu_offset 0.
xine: found input plugin  : file input plugin
xine: found demuxer plugin: matroska demux plugin
demux_matroska: Track 1, V_MPEG4/ISO/AVC und
demux_matroska: Track 2, A_DTS eng
av_offset=0 pts
spu_offset=0 pts
audio_oss_out: audio rate : 48000 requested, 48000 provided by device
audio_oss_out: 2 channels output
Stream with high frequencies VQ coding
video_out_opengl: setup of '2D_Tex_Fragprog'
video_out_opengl: setup of '2D_Tex_Fragprog'
osd: can't find out current locale character set
video_out_opengl: setup of '2D_Tex_Fragprog'
osd: can't find out current locale character set
video_out_opengl: setup of '2D_Tex_Fragprog'
video_out_opengl: setup of '2D_Tex_Fragprog'
video_out_opengl: setup of '2D_Tex_Fragprog'
video_out: throwing away image with pts 88014 because it's too old (diff : 7849)
.
video_out_opengl: setup of '2D_Tex_Fragprog'
video_out: throwing away image with pts 91299 because it's too old (diff : 6729)
.
video_out_opengl: setup of '2D_Tex_Fragprog'
video_out: throwing away image with pts 95100 because it's too old (diff : 30643
).
video_out_opengl: setup of '2D_Tex_Fragprog'
osd: can't find out current locale character set
osd: can't find out current locale character set
video_out_opengl: setup of '2D_Tex_Fragprog'
video_out_opengl: setup of '2D_Tex_Fragprog'
video_out: throwing away image with pts 98524 because it's too old (diff : 37301
).
video_out_opengl: setup of '2D_Tex_Fragprog'
video_out: throwing away image with pts 105040 because it's too old (diff : 4410
3).
video_out_opengl: setup of '2D_Tex_Fragprog'
video_out_opengl: setup of '2D_Tex_Fragprog'
root@moon59:~#

cirion

  • Guru
  • ****
  • Posts: 353
    • View Profile
Re: Playback of MKV/H264/X264 HD video files: a solution using CoreAVC
« Reply #18 on: August 04, 2008, 06:22:04 pm »
I'm even more confused now, I did it all again from scratch, and it worked fine. Xine in KDE looks like this for me (I really thought it should say dshowserver instead of Matroska but apparenlty not):

Now I do not even know what else to try...

I think it's great that you have gotten it to work, and even better that you are willing to share! But I honestly do not believe your Wiki works... I have tried every possible way I can think of, and it does not work for me. You must have done something that is not in the wiki.

This is what I have done when following your 10 steps in the wiki:

Step 1) Download coreavc-for-linux on my MD as root.
I did this by ssh'ing to my core, from there shh to my moon59.
Code: [Select]
ssh linuxmce@192.168.80.1
sudo su
ssh moon59
Tried the svn command and it failed.... Subversion not installed. (This point is missing from your wiki.)
After installing subversion I could run the svn command
Code: [Select]
apt-get install subversion
svn checkout http://coreavc-for-linux.googlecode.com/svn/trunk/ coreavc-for-linux

Subversion could be installed as a prerequesit together with other missing packages. (see later steps)

Step 2) Download dshowserver.
From the information you gave I belive the file from June 20 to be the correct one.
Still in on my MD:
Code: [Select]
wget http://coreavc-for-linux.googlecode.com/files/dshowserver-ia32-r63-gentoo.tar.bz2
Step 3) Has no info, but it is extracting and installing dshowserver.
Still on my MD:
Code: [Select]
tar -xjf <path/to/>dshowserver-ia32-r63-gentoo.tar.bz2
cd dshowserver
cp dshowserver /usr/local/bin
cp ../loader/registercodec /usr/local/bin

In my opinion step 2 and 3 should be one step in the wiki and could be done like this:
Code: [Select]
wget http://coreavc-for-linux.googlecode.com/files/dshowserver-ia32-r63-gentoo.tar.bz2
tar -xjf dshowserver-ia32-r63-gentoo.tar.bz2
rm dshowserver-ia32-r63-gentoo.tar.bz2
cd dshowserver
cp dshowserver /usr/local/bin
cp ../loader/registercodec /usr/local/bin

Step 4) Buy CoreAVC, install it on a windows machine and copy CoreAVCDecoder.ax from that to the MD.
In my opinion this part should be the first step in your wiki. There is no need to do the first 3 steps if you can not or will not do this one...
The wiki fails to mention that there is no .mplayer folder in the home directory of a MD.
I transfered my CoreAVCDecoder.ax with a USB stick and with KDE I copied it to my home directory on the MD. After that I copied to the correct directory.
Still on my MD:
Code: [Select]
mkdir /usr/lib/win32/
cp CoreAVCDecoder.ax /usr/lib/win32

Step 5) Register CoreAVC on the MD.
The wiki fails to mention that there is no .mplayer folder in the home directory of a MD. Exporting registry will fail but no errors...
Still on my MD (And I did use my registered serial instead of the 55555-55555-CORE-55555-55555).
Code: [Select]
mkdir .mplayer
export REGISTRY=$HOME/.mplayer/registry32
registercodec -r $REGISTRY -k"HKLM\\Software\\CoreCodec\\CoreAVC Pro\\Serial" -v "55555-55555-CORE-55555-55555"

Step 6) Verify dshow server is working.
As noted in the wiki, I got a permission denied.
Still on my MD:
Code: [Select]
chmod a+x /usr/local/bin/dshowserver
dshowserver -c CoreAVCDecoder.ax -s 1280x720 -g 09571a4b-f1fe-4c60-9760de6d310c7c31 -b 12 -f 0x34363248 -o 0x30323449

Returned:
Code: [Select]
No id specified, assuming test mode
Opening device
Called unk_IsDebuggerPresent
len: 992
ProductVersion: 1.7.0
Decoder supports the following YUV formats: YUY2 UYVY YV12 I420
Decoder is capable of YUV output (flags 0x2b)
Setting fmt
Starting
Initialization is complete

Step 7) The info that should come in step 8. came here... And setting up the development environment should have been a prerequisite to the whole proses and come before step 1)
Step 7) did not say how much of the external wiki should be followed and where it should be installed. I followed the external wiki and installed it on my core. I only followed the steps in the section "Setting Up the Development Environment".

Step 8. Had no info, but I got the point in step 7)
Here is also where I was unsure on what to do. I did setup the development enviroment on my core, and the Wiki does not say where to compile/install libxine...

I could continue on my core and copy the libxine.so.1.19.0 to my MD and do the rest there,  which was my first try, but that resulted in Xine not working on the MD anymore and no media played after that.

Compiling fails on both the core and the MD. I cannot say if the core was missing build-essential or not, since I had compiled other stuff there before. But the MD did not have it, and both Core and MD needed to install libxext-dev before compiling.

Needed packages could be installed in one go in the first step like this:
Code: [Select]
apt-get install subversion build-essential libxext-dev
Since I set up the development enviroment on the core, I tried compiling from the MD while the source was in the Core's home folder. Even being logged in as root, does not give the permission to do that. The compiler then fails with the following error:
Code: [Select]
checking whether the C compiler works... configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.

The solution was to copy the source to the MD.

Running the patch on my Core or my MD with the patch -p1 <path/to/coreavc-for-linux/xine/dshowserver.patch command did not work for me. The prompt just got stuck nothing was done. I tried waiting for 5 hours once... CTRL X stops it. Using -Np1 -i like Zaerc suggested worked fine.

So from my MD I ran the following to copy, patch and compile:
Code: [Select]
cp -R /home/linuxmce/charon-merge/ubuntu/xine-lib-1.1.10.1/ .
cd xine-lib-1.1.10.1/
patch -Np1 -i /root/coreavc-for-linux/xine/dshowserver.patch
./configure
make
make install

Step 9)
Still on my MD:
Code: [Select]
cd /opt/libxine/lib
rm libxine.so.1
ln -s /usr/local/lib/libxine.so.1.19.0 libxine.so.1

Step 10)
Still on my MD:
Code: [Select]
reboot
After a reboot there is no difference at all for me. Still the same amount of jerkiness in MKV HD files, and still the same amount of green artifacts.
Now you know how I did everything, and that it was not possible for me to follow everything 100%.

I really hope this helps you in finding what I did wrong or different from you Jean, and I hope this helps someone else that wants this to work.
« Last Edit: August 04, 2008, 10:11:16 pm by cirion »

jeangot

  • Guru
  • ****
  • Posts: 233
    • View Profile
Re: Playback of MKV/H264/X264 HD video files: a solution using CoreAVC
« Reply #19 on: August 04, 2008, 09:56:59 pm »
Colinjones: thanks for clarifying that, it's always better to call things by the right names :-)

Cirion: sorry if my directions are unclear. Before trying to make it work in LMCE, we should focus on getting a proof that it's actually using CoreAVC when running verbose on KDE. Right now your output shows that CoreAVC is not being used, so at least we know that this is the problem.

The development environement should have been installed on the MD, since this is where we want to compile xinelib.

You mentionned that you ran this on the MD:
Quote
cp /home/linuxmce/charon-merge/ubuntu/xine-lib-1.1.10.1/ .
cd xine-lib-1.1.10.1/
patch -Np1 -i /root/coreavc-for-linux/xine/dshowserver.patch
./configure
make
make install
Did that work? Did you see that it was being compiled without fatal errors when running this on the MD?

I'm wondering why the patching fails when you run my syntax. If for some reason the patch was not happening, it would explain why the new xinelib does not use CoreAVC.
Can you confirm for example that after running the patch, the following file exists on your MD: linuxmce/charon-merge/ubuntu/xine-lib-1.1.10.1/src/libxinevdec/dshowserver.c


PS: What's the architecture of your MD? The one I used is AMD64, and I'de be happy to send you my compiled xinelib to try that out on your system if you wish.

cirion

  • Guru
  • ****
  • Posts: 353
    • View Profile
Re: Playback of MKV/H264/X264 HD video files: a solution using CoreAVC
« Reply #20 on: August 05, 2008, 08:12:31 am »
Yes that works, of course I tried a few times using one line at the time.
It does not return errors...

And the dshowserver.c is there....
Code: [Select]
root@moon59:~# dir xine-lib-1.1.10.1/src/libxinevdec/
Makefile     bitplane.c     foovideo.c nal_parser.c  rgb.lo     xineplug_decode_rgb.la  yuv.lo
Makefile.am  bitplane.lo    gdkpixbuf.c  nal_parser.h  xine_theora_decoder.c     xineplug_decode_yuv.la
Makefile.in  dshowserver.c  image.c rgb.c        xineplug_decode_bitplane.la  yuv.c
root@moon59:~#

My MD's are both AMD64. They use a Athlon 64 X2 4400+ and sit on a Abit AN-M2HD motherboard.
I'm not running in 64bit on them. I use i386 since that is the only way to get SASC-NG to work with my DVB-C cards.

If you have a file compiled for 64bit I'm happy to try it, I'll just rebuild to 64bit on one of the MD's. Also, if you could send me you patched xine-lib-1.1.10.0 source folder I could try that too. I'll send you my e-mail adress in a pm.

Xaiver Merlyn

  • Making baby steps
  • Posts: 2
    • View Profile
    • http://wiki.linuxmce.org/index.php/User:Xaiver_Merlyn
Re: Playback of MKV/H264/X264 HD video files: a solution using CoreAVC
« Reply #21 on: August 18, 2008, 04:22:40 pm »
Just my 2 cents. I've been working on this since I saw the first post.
This setup works with both the x86 and x64 710RC2 DVD installers (as far as installation). I haven't tried a manual install with the CD version.

I do have a question though, how can I tell if it is working properly on a diskless MD?


**Setup Development Environment**

Code: [Select]
sudo passwd root
su root
cd ~
apt-get install subversion wine
svn co http://svn.linuxmce.org/pluto/branches/charon-merge
mkdir -p /src/lib
cp /usr/pluto/lib/* /src/lib/ -R
cd charon-merge/
./configure
make

**Setup CoreAVC**

Install CoreAVC using Wine.

Code: [Select]
cp /home/linuxmce/.wine/drive_c/Program\ Files/CoreCodec/CoreAVC\ Professional\ Edition/CoreAVCDecoder.ax /usr/lib/win32/
cd ~
svn co http://coreavc-for-linux.googlecode.com/svn/trunk/ coreavc-for-linux
cd ~
wget http://coreavc-for-linux.googlecode.com/files/dshowserver-ia32-r63-gentoo.tar.bz2
tar -xjf dshowserver-ia32-r63-gentoo.tar.bz2
cd dshowserver
cp dshowserver /usr/local/bin
cp ../loader/registercodec /usr/local/bin
chmod a+x /usr/local/bin/dshowserver
chmod a+x /usr/local/bin/registercodec

mkdir ~/.mplayer/

export REGISTRY=$HOME/.mplayer/registry32
registercodec -r $REGISTRY -k "HKLM\\Software\\CoreCodec\\CoreAVC Pro\\Serial" -v "55555-55555-CORE-55555-55555"
dshowserver -c CoreAVCDecoder.ax -s 1280x720 -g 09571a4b-f1fe-4c60-9760de6d310c7c31 -b 12 -f 0x34363248 -o 0x30323449

cd charon-merge/ubuntu/xine-lib-1.1.10.1/
patch -Np1 -i ~/coreavc-for-linux/xine/dshowserver.patch
./configure
make
make install
cd /opt/libxine/lib
rm libxine.so.1
ln -s /usr/local/lib/libxine.so.1.19.0 libxine.so.1
shutdown -r now

jeangot

  • Guru
  • ****
  • Posts: 233
    • View Profile
Re: Playback of MKV/H264/X264 HD video files: a solution using CoreAVC
« Reply #22 on: August 20, 2008, 11:23:19 pm »
Xaiver,

(or is it Xavier?)

To check if it's working, I first run xine with the --verbose option in KDE. It should talk about using version 1.7.0 shortly after recognizing the matroska stream. This will mean that it's indeed using CoreAVC. From there it's a fair assumption that xine in LMCE will do the same as long as the shared object was placed in the right folder, and to be completely sure, you can compare the CPU usage between the old shared object and the new one (by monitoring with top while playing a video) and you should notice a clear difference.

Jean

maximflow

  • Making baby steps
  • Posts: 3
    • View Profile
Re: Playback of MKV/H264/X264 HD video files: a solution using CoreAVC
« Reply #23 on: October 13, 2008, 05:00:58 am »
I'm wondering why the patching fails when you run my syntax. If for some reason the patch was not happening, it would explain why the new xinelib does not use CoreAVC.

FWIW, the Xine Install instructions at http://code.google.com/p/coreavc-for-linux/wiki/XineInstall indicate the following:

Code: [Select]
patch -p1 < <path to coreavc-for-linux>/xine/dshowserver.patch
Notice the '<' between the -p1 and the <path...>. When I ran the above command, I was able to patch the xine-lib src.

Having said that, I'm in the same boat as cirion with regards to CoreAVC not running when executing Xine in KDE.  Any further suggestions?


maximflow

  • Making baby steps
  • Posts: 3
    • View Profile
Re: Playback of MKV/H264/X264 HD video files: a solution using CoreAVC
« Reply #24 on: October 13, 2008, 06:05:41 pm »
If you'll check the man page, you'll find that: patch -p1 < <path to coreavc-for-linux>/xine/dshowserver.patch is actually equivalent to: patch -Np1 -i <path/to/coreavc-for-linux/>xine/dshowserver.patch.  With the added benefit of quitting if the patch was already applied, instead of asking to reverse the patch instead which can be confusing.

Doh. Just saw this after rereading the thread. I'm going to try Jeangot's suggestion of symlinking the other instances of libxine.so.1.19.0 (/usr/lib and /opt/libxine/lib) to the newly compiled version in /usr/local/lib/. I'll post the results later.

grepico

  • Veteran
  • ***
  • Posts: 109
    • View Profile
Re: Playback of MKV/H264/X264 HD video files: a solution using CoreAVC
« Reply #25 on: October 14, 2008, 12:46:00 am »

I'm very sorry but this: tar -xjf <path to dshowserver-ia32-r63-gentoo.tar.bz2 is just plain wrong, either you are telling tar to read from a file and then redirect a file to it's standard input instead, or you're intending a <placeholder> but you forgot the ">".  Instead I don't really see much of a problem with tar -xjf <path/to/>dshowserver-ia32-r63-gentoo.tar.bz2, so please enlighten me.

If you'll check the man page, you'll find that: patch -p1 < <path to coreavc-for-linux>/xine/dshowserver.patch is actually equivalent to: patch -Np1 -i <path/to/coreavc-for-linux/>xine/dshowserver.patch.  With the added benefit of quitting if the patch was already applied, instead of asking to reverse the patch instead which can be confusing. 

Now obviously pasting things with <placeholders> isn't going to work when you copy/paste them literally anyway, but the real problem however was because you misspelled "libxine" in the first place.  So thanks for your lovely "compliment", but the only one that messed up here was you.  It's a bit sad to see you (and nobody but you) complain about these non-related trivial things to cover that up though.

And no, I haven't tried it myself because I don't see this problem at all (apart from that I am not a big fan of closed source software).  But if I had, we probably wouldn't even be having this discussion now would we?




I can't imagine why more people don't try to help with the project considering the warm reception efforts are met with.  LOL

maximflow

  • Making baby steps
  • Posts: 3
    • View Profile
Re: Playback of MKV/H264/X264 HD video files: a solution using CoreAVC
« Reply #26 on: October 14, 2008, 01:52:46 am »
I'm going to try Jeangot's suggestion of symlinking the other instances of libxine.so.1.19.0 (/usr/lib and /opt/libxine/lib) to the newly compiled version in /usr/local/lib/. I'll post the results later.

Ok, that did the trick. I moved the files in those directories to .bak and symlink'd the libxine from /usr/local/lib. Now xine indicates using coreavc, and playback is much improved. Before, xine would spike to 100% during action sequences, but now dbshow runs a steady 50-60% of cpu.

Next step is to get coreavc working with mplayer so I can get smooth 1080p mkv playback through the linuxmce interface.

jeangot

  • Guru
  • ****
  • Posts: 233
    • View Profile
Re: Playback of MKV/H264/X264 HD video files: a solution using CoreAVC
« Reply #27 on: January 05, 2009, 07:13:11 am »
For anyone still having problems getting this to work, please read on:
I was trying to add CoreAVC to a new MD thsi weekend, following my own Wiki instructions. I decided to take a shortcut when building the dev environement and after downloading the LMCE source code, I did not complile it, and instead went straight to the xinelib compilation. Xinelib complained about missing zlib and Xshw or something like that, which I provided via Ubuntu packets.
Well, the resulting xinelib was ignoring dshowserver and Coreavc, just as described by Cirion.

Therefore I want to indicate that it is very important to go through the ./configure and make when installing the dev environement (even though this takes hours) as this provides specific versions of libraries used by xinelib for all this to work.

I was going to update the Wiki accordingly but apparently something is broken there regarding Captchas. When trying to save, the wiki says that I entered the captcha incorrectly, but there is no captcha displayed...

Jean

cirion

  • Guru
  • ****
  • Posts: 353
    • View Profile
Re: Playback of MKV/H264/X264 HD video files: a solution using CoreAVC
« Reply #28 on: January 09, 2009, 02:00:47 pm »
I gave up on this since I never got it to work.

But now that I'm looking into the WinMobile Orbiter, I had to download the source again. Following the wiki I now se  a change in how to download and compile it. I now se that you have to download the source as the user LinuxMCE and not use sudo su like I did earlier.
Code: [Select]
http://wiki.linuxmce.org/index.php/Source
That could be why it did not work for me...

I should try this again now :)

CoreAVC is now at version 1.85 do you know if it works with this version?

nite_man

  • NEEDS to work for LinuxMCE
  • ***
  • Posts: 1019
  • Want to work with LinuxMCE
    • View Profile
    • Smart Home Blog
Re: Playback of MKV/H264/X264 HD video files: a solution using CoreAVC
« Reply #29 on: January 15, 2009, 09:17:40 am »
Captcha works on linuxmce.org and doesn't work on linuxmce.com
Michael Stepanov,
My setup: http://wiki.linuxmce.org/index.php/User:Nite_man#New_setup
Russian LinuxMCE community: http://linuxmce.ru