Log in

View Full Version : Can mplayer playback blu-ray ?


Pages : [1] 2

invisible
7th September 2009, 15:46
For mplayer, I use vdpau to playback HD video so right now mplayer is all I can use for it. I'm thinking about a BDR drive to playback blu-ray, but can mplayer playback blu-ray like it does dvd? I hear stuff about ripping to a decrypted image, but this is no good. So mplayer can't use the decrypt library and playback blu-ray directly? I'll have to forget about getting a drive if so.

microchip8
7th September 2009, 15:52
no, but today a guy came on mplayer-dev mailing list and he's currently working on a patch for it to add native BD support to mplayer so it'll be able (hopefully - somewhere in the future) to play BD discs just like it does now for DVDs. He's also working on AACS and in the future BD+ decryption. There's on going discussion on how to add this patch - built-in into mplayer or a separate library. There is libbluray project but it's been abandoned (though the guy on the mplayer list said someone picked it up) and is also coded in C++ (lolwut?) which could be problematic for mplayer as generally the devs are not very fond of C++ code in mplayer, though it does link to some

pynux
7th September 2009, 19:42
i have a method for read bluray
i use svn version of mplayer compil with vdpau
and i install dumphd
and i use this command :

./dumphd.sh --infile:BDMV/STREAM/000054.m2ts /media/cdrom | mplayer -cache 8192 -lavdopts threads=4 -vo vdpau -vc ffh264vdpau -

(change 000054.m2ts by the right file)

it's work perfectly for me (for mkbv1->v10)

invisible
8th September 2009, 04:56
i have a method for read bluray
i use svn version of mplayer compil with vdpau
and i install dumphd
and i use this command :

./dumphd.sh --infile:BDMV/STREAM/000054.m2ts /media/cdrom | mplayer -cache 8192 -lavdopts threads=4 -vo vdpau -vc ffh264vdpau -

(change 000054.m2ts by the right file)

it's work perfectly for me (for mkbv1->v10)

That's very interesting. Does anyone else have experiences with that technique? I'm wondering if there's any caveats. Subs, audio, cpu use, smoothness? And what's BD+ and does dumphd handle it? btw, thanks for posting that.

Selur
8th September 2009, 09:34
Native BluRay Support in MPlayer would be sooo nice :D

Tariella
8th September 2009, 10:37
I wrote a little guide on bluray playback using dumphd and mplayer.
It is written to work for my linux distro (gentoo) but it should work for all others too. You can find it here (http://forums.gentoo.org/viewtopic-t-691564.html).

Please notice that depending on your country it might not be legal to bypass the copy protection.:devil:

cRTrn13
15th September 2009, 14:29
I'm that guy working on native support for bluray in mplayer. A patch has already been submitted. It works (for AACS only) - just pull it off the net if you want to try it out. But it's v early days so expect issues.

We're currently discussing if there are better ways to go about the whole bluray (aacs/bd+) thing and there is something in the works by some other people so stay tuned... :)

XYZ123
20th September 2009, 12:07
I'm using mplayer with a little patch and a library for bluray playback on my HTPC.

You just nedd to install the library and apply the patch to latest mplayer source.


Then you can playback blurays with
mplayer bluray://playlist:chapter//mountPath
playlist ans chapters are optional parameters.

e.g.: mplayer bluray:///media/cdrom0

more informations are in the readme file.

Supports AACS until mkb 10, (backwards and forwards) seeking and movies, which are splitted over more than one file.

Needs openssl 0.9.8 to be installed!

If you have any questions just ask.

microchip8
20th September 2009, 15:39
@ XYZ123

why don't you post your patch to mplayer-dev mailing list?

XYZ123
20th September 2009, 16:06
It is not just a patch, but also a library and before I make it more public and post source code it needs to be tested a little bit more.
(it is only tested with 2 blurays, I do not have more)

microchip8
20th September 2009, 16:18
Well, you can post it on the list and get together with the other guys who are working on native BD support for MPlayer. He still has questions and I'm sure both of you can benefit from this collaboration and in the end all will benefit too when finally BD support is added to MPlayer ;)

Further, devs on the list will also comment on your code and test it, as they have done so with the code of the dev working on BD support for MPlayer

cRTrn13
21st September 2009, 04:50
I'm that other dev and i'm definately interested in your patch (and more so in your library...). There are a number of library projects going on (some behind the scenes) - maybe all could benefit from your code (you should definately release as soon as possible). There is no point in having different ppl working on the same thing in different directions...

teox99
21st September 2009, 12:21
i'm interested in your project too.
i can make some tests and reports for a lot of BD
please let me know if you need help on devel or others.

XYZ123
21st September 2009, 15:54
@teox99

Would be nice, if you test it on some blurays and report errors and bugs.

teox99
21st September 2009, 19:02
i followed the instruction in Readme file to build libbluray
i patched svn mplayer

but this is the output while i try to open a BD

user[~]$ mplayer bluray:///media/43501845_VOLUME_ID
MPlayer SVN-r29694-4.3.3 (C) 2000-2009 MPlayer Team

Playing bluray:///media/43501845_VOLUME_ID.
No stream found to handle url bluray:///media/43501845_VOLUME_ID


Exiting... (End of file)

XYZ123
21st September 2009, 19:31
Are you sure the patch is applied correctly to mplayer?
Can you look in mplayers configure.log, if libbluray is enabled.

teox99
21st September 2009, 22:40
user[mplayer]$ patch -p0 -i bluray_support.diff
(Stripping trailing CRs from patch.)
patching file stream/stream_bluray.c
(Stripping trailing CRs from patch.)
patching file stream/stream.c
(Stripping trailing CRs from patch.)
patching file stream/stream.h
(Stripping trailing CRs from patch.)
patching file Makefile
(Stripping trailing CRs from patch.)
patching file configure
Hunk #2 succeeded at 636 (offset 2 lines).
Hunk #4 succeeded at 7659 (offset 38 lines).
Hunk #6 succeeded at 8696 (offset 38 lines).

./configure:
Checking for libbluray ... yes


while mplayer make ends with error:
[...]
/usr/local/lib/libbluray.so: undefined reference to `BN_bn2bin@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_KEY_get0_group@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_GROUP_free@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_POINT_point2bn@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `BN_set_word@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `AES_cbc_encrypt@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `AES_set_decrypt_key@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `AES_decrypt@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `ECDSA_SIG_free@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `BN_free@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EVP_MD_CTX_init@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `BN_bin2bn@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `BN_CTX_free@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `AES_set_encrypt_key@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `BN_dec2bn@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EVP_DigestUpdate@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `ECDSA_do_sign@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_KEY_new@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `BN_new@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_POINT_set_affine_coordinates_GF2m@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_KEY_free@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EVP_sha1@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `ECDSA_do_verify@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_KEY_set_group@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_GROUP_set_generator@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EVP_ecdsa@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_POINT_set_affine_coordinates_GFp@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_KEY_set_private_key@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `BN_clear_free@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_POINT_mul@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_GROUP_new_curve_GFp@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EVP_DigestFinal_ex@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EVP_DigestInit@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_KEY_set_public_key@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `ERR_put_error@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `BN_CTX_new@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_POINT_new@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_POINT_free@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `AES_ecb_encrypt@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `ECDSA_SIG_new@OPENSSL_0.9.8'
collect2: ld returned 1 exit status
make: *** [mencoder] Error 1

cRTrn13
22nd September 2009, 10:26
Openssl needs to be linked in with -lcrypto

TomZ
23rd September 2009, 14:43
It doesn't compile. I think (but am not sure) it's because my distro is x86_64.


root@vdrbox:/usr/local/src/mplayer# uname -a
Linux vdrbox 2.6.24-22-generic #1 SMP Mon Nov 24 19:35:06 UTC 2008 x86_64 GNU/Linux


root@vdrbox:/usr/local/src/mplayer# grep bluray configure.log
...
/usr/bin/ld: skipping incompatible /usr/local/lib/libbluray.so when searching
/usr/bin/ld: skipping incompatible /usr/local/lib/libbluray.so when searching
/usr/bin/ld: cannot find -lbluray
...

root@vdrbox:/usr/local/src/mplayer# make
...
cc -Wundef -Wdisabled-optimization -Wno-pointer-sign -Wdeclaration-after-statement -std=gnu99 -Wall -Wno-switch -Wpointer-arith
-Wredundant-decls -O4 -march=native -mtune=native -pipe -ffast-math -fomit-frame-pointer -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Ilibdvdread4 -I. -D_REENTRANT -I/usr/include/ -I/usr/include/freetype2 -I/usr/local/include
-c -o stream/stream_bluray.o stream/stream_bluray.c
stream/stream_bluray.c: In function 'open_f':
stream/stream_bluray.c:92: warning: implicit declaration of function 'isdigit'
stream/stream_bluray.c:93: warning: implicit declaration of function 'atoi'
stream/stream_bluray.c: At top level:
stream/stream_bluray.c:178: error: redefinition of 'struct stream_priv_s'
stream/stream_bluray.c:180: error: redefinition of 'stream_priv_dflts'
stream/stream_bluray.c:24: error: previous definition of 'stream_priv_dflts' was here
stream/stream_bluray.c:186: error: redefinition of 'stream_opts_fields'
stream/stream_bluray.c:30: error: previous definition of 'stream_opts_fields' was here
stream/stream_bluray.c:190: error: redefinition of 'stream_opts'
stream/stream_bluray.c:34: error: previous definition of 'stream_opts' was here
stream/stream_bluray.c:197: error: redefinition of 'fill_buffer'
stream/stream_bluray.c:41: error: previous definition of 'fill_buffer' was here
stream/stream_bluray.c:202: error: redefinition of 'seek'
stream/stream_bluray.c:46: error: previous definition of 'seek' was here
stream/stream_bluray.c:209: error: redefinition of 'control'
stream/stream_bluray.c:53: error: previous definition of 'control' was here
stream/stream_bluray.c:218: error: redefinition of 'open_f'
stream/stream_bluray.c:62: error: previous definition of 'open_f' was here
stream/stream_bluray.c:302: error: redefinition of 'stream_info_bluray'
stream/stream_bluray.c:146: error: previous definition of 'stream_info_bluray' was here
stream/stream_bluray.c:334: error: redefinition of 'struct stream_priv_s'
stream/stream_bluray.c:336: error: redefinition of 'stream_priv_dflts'
stream/stream_bluray.c:180: error: previous definition of 'stream_priv_dflts' was here
stream/stream_bluray.c:342: error: redefinition of 'stream_opts_fields'
stream/stream_bluray.c:186: error: previous definition of 'stream_opts_fields' was here
stream/stream_bluray.c:346: error: redefinition of 'stream_opts'
stream/stream_bluray.c:190: error: previous definition of 'stream_opts' was here
stream/stream_bluray.c:353: error: redefinition of 'fill_buffer'
stream/stream_bluray.c:197: error: previous definition of 'fill_buffer' was here
stream/stream_bluray.c:358: error: redefinition of 'seek'
stream/stream_bluray.c:202: error: previous definition of 'seek' was here
stream/stream_bluray.c:365: error: redefinition of 'control'
stream/stream_bluray.c:209: error: previous definition of 'control' was here
stream/stream_bluray.c:374: error: redefinition of 'open_f'
stream/stream_bluray.c:218: error: previous definition of 'open_f' was here
stream/stream_bluray.c:458: error: redefinition of 'stream_info_bluray'
stream/stream_bluray.c:146: error: previous definition of 'stream_info_bluray' was here
stream/stream_bluray.c:490: error: redefinition of 'struct stream_priv_s'
stream/stream_bluray.c:492: error: redefinition of 'stream_priv_dflts'
stream/stream_bluray.c:336: error: previous definition of 'stream_priv_dflts' was here
stream/stream_bluray.c:498: error: redefinition of 'stream_opts_fields'
stream/stream_bluray.c:342: error: previous definition of 'stream_opts_fields' was here
stream/stream_bluray.c:502: error: redefinition of 'stream_opts'
stream/stream_bluray.c:346: error: previous definition of 'stream_opts' was here
stream/stream_bluray.c:509: error: redefinition of 'fill_buffer'
stream/stream_bluray.c:353: error: previous definition of 'fill_buffer' was here
stream/stream_bluray.c:514: error: redefinition of 'seek'
stream/stream_bluray.c:358: error: previous definition of 'seek' was here
stream/stream_bluray.c:521: error: redefinition of 'control'
stream/stream_bluray.c:365: error: previous definition of 'control' was here
stream/stream_bluray.c:530: error: redefinition of 'open_f'
stream/stream_bluray.c:374: error: previous definition of 'open_f' was here
stream/stream_bluray.c:614: error: redefinition of 'stream_info_bluray'
stream/stream_bluray.c:146: error: previous definition of 'stream_info_bluray' was here
make: *** [stream/stream_bluray.o] Erreur 1
make: *** Attente des tâches non terminées....

XYZ123
24th September 2009, 17:35
@TomZ

Library only works on x86_32, but i will post sourcecode soon.(try to get it ready over weekend)
Then you can compile your libbrary for x86_64.

TomZ
25th September 2009, 09:13
Good news, thanks !
Once you have posted the source code, i'll give you all feedbacks as i can.

TomZ
5th October 2009, 23:26
Any news ?...

eLupus
6th October 2009, 22:48
I'd be interested in that lib aswell for integration into xbmc.. To start with without the decryption support. Ie only the parsing of playlists (and the timestamp seek support if you added it)

JohnAStebbins
7th October 2009, 17:29
eLupus, have a look at this post (http://forum.doom9.org/showthread.php?p=1326193&highlight=mpls_dump#post1326193).
This is a library and example programs I wrote for parsing BD playlists and clipinfo. The clipinfo defines random access points that you need for seeking. You are welcome to use it. It's gpl, though I haven't added proper copyright notices to all the source files yet. Current source is here (http://www.stebbins.biz/source/bdtools-src-1.3.tgz). I'm open to any suggestions on changes that would make it more usable for you.

Graf_Zahl
9th October 2009, 13:56
Can i help you by testing the mplayer patch? I have many Blurays and i'm very motivated to help you and your developing!

With many greetz
Graf_Zahl

pynux
9th October 2009, 20:54
Me too :)

eLupus
12th October 2009, 12:34
JohnAStebbins:

Nice. I had looked at that code once before in the past. It looks about what we need. If you feel like helping improving it abit, it would be nice to libify it. Ie have the code return structures instead of output to stdout.

Also, we need to be able to replace the stdio open/close/read calls in xbmc. We usually do this by means of replacing symbols at linking time (ie no change in the source required). But it's normally cleaner to have a struct with callbacks for read/write/open/close. Still this is of much lower priority.

Joakim

kreet
12th October 2009, 13:29
xyz123 and all: were working on a new libbluray project which will hopefully include full aacs/bd+ support. were looking for developers to contribute. our ultimate goal is plugins for mplayer/vlc to do full bluray support.

http://forum.doom9.org/showthread.php?t=150014 - thread here
http://my-trac.assembla.com/libbluray/ - project space

eLupus
12th October 2009, 14:25
kreet:
From a player point of view (xbmc).. Decryption is of lesser interest compared to playlist/clip/timestamp parsing. A user can always decrypt externally. But at some point he'll need to play the data. Playing the m2ts files directly is far from optimal.

JohnAStebbins
12th October 2009, 16:32
eLubus, if you have another look at my code, you'll see it's already split into a library and some example programs. The example programs just use the library to obtain data structures (like you were asking for) and filter/format the data for output. The library is in bdtools subdir and the examples are in the src subdir. mpls_parse.h and clpi_parse.h contain the public interfaces. There's really not much to it from a users point of view.

I would be glad to abstract the IO routines. That's going to be necessary eventually anyway if I want to hook in a decryption library at some point. Do you have any preferred interface for registering the IO functions you'll be using?

eLupus
12th October 2009, 17:10
Ah. missed that. Will have a look at it again.

On the io abstraction side I have no real preference. I think best would be to do what seems most valid for hooking up a decryption library.

Perhaps just a struct for open/close/read wich take a filename with path relative to the root of the bd structure with a file device that is some opaque pointer. Ie 64 bit on 64bit operating systems instead of a standard file device int.

eLupus
12th October 2009, 17:13
struct fileio
{
void* (*open)(const char* filename, int mode);
int (*read)(void* fd, char* buf, int count);
void (*close)(void* fd)
};


And have that passed to the library on init.

kreet
12th October 2009, 21:43
eLupus, JohnAStebbins: please consider contributing and combining efforts with our project. we aim to provide a full solution, including a bd-vfs implementation and all necessary routines for managing playlists, clips and eventually bd-j menus and applications.

prolinux
18th November 2009, 13:07
Is thera a chance to get the libbluray sources for x86_64 ?

dmzkrsk
20th November 2009, 04:20
Same here
How to patch mplayer on x86_64?
New libbluray has no mplayer patch yet :(

prolinux
22nd November 2009, 15:50
have a problem when compiling svn mplayer with applied bluray_support.diff patch on Fedora 11 32bt.

-lncurses -lpng -lz -lmng -lz -ljpeg -lungif -lasound -ldl -lpthread -lfreetype -lfontconfig -lz -lbz2 -L/usr/local/lib -lbluray -lpthread -ldl -rdynamic -lm -lXext -lX11 -lpthread -lXss -lXv -lXinerama -lXxf86vm -lXxf86dga -lGL -ldl -lSDL -lpthread
/usr/local/lib/libbluray.so: undefined reference to `BN_bn2bin@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_KEY_get0_group@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_GROUP_free@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_POINT_point2bn@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `BN_set_word@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `AES_cbc_encrypt@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `AES_set_decrypt_key@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `AES_decrypt@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `ECDSA_SIG_free@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `BN_free@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EVP_MD_CTX_init@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `BN_bin2bn@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `BN_CTX_free@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `AES_set_encrypt_key@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `BN_dec2bn@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EVP_DigestUpdate@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `ECDSA_do_sign@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_KEY_new@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `BN_new@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_POINT_set_affine_coordinates_GF2m@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_KEY_free@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EVP_sha1@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `ECDSA_do_verify@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_KEY_set_group@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_GROUP_set_generator@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EVP_ecdsa@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_POINT_set_affine_coordinates_GFp@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_KEY_set_private_key@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `BN_clear_free@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_POINT_mul@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_GROUP_new_curve_GFp@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EVP_DigestFinal_ex@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EVP_DigestInit@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_KEY_set_public_key@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `ERR_put_error@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `BN_CTX_new@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_POINT_new@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_POINT_free@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `AES_ecb_encrypt@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `ECDSA_SIG_new@OPENSSL_0.9.8'
collect2: ld returned 1 exit status

libssl is linked against libcrypto

# ldd /usr/lib/libssl
libssl3.so libssl.a libssl.so libssl.so.0.9.8k libssl.so.8
[root@fc11-32 tmp]# ldd /usr/lib/libssl.so
linux-gate.so.1 => (0x006c7000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x03abd000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x03aea000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x00909000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x03b94000)
libresolv.so.2 => /lib/libresolv.so.2 (0x00110000)
libcrypto.so.8 => /usr/lib/libcrypto.so.8 (0x0392c000)
libdl.so.2 => /lib/libdl.so.2 (0x00fb4000)
libz.so.1 => /lib/libz.so.1 (0x00399000)
libc.so.6 => /lib/libc.so.6 (0x00a57000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x03b88000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x03bba000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00250000)
/lib/ld-linux.so.2 (0x0019f000)
libselinux.so.1 => /lib/libselinux.so.1 (0x003b9000)

installed libssl
# ll /usr/lib/libssl.*
-rw-r--r--. 1 root root 475252 21. Nov 20:09 /usr/lib/libssl.a
lrwxrwxrwx. 1 root root 16 21. Nov 20:26 /usr/lib/libssl.so -> libssl.so.0.9.8k
-rwxr-xr-x. 1 root root 1360672 21. Nov 19:55 /usr/lib/libssl.so.0.9.8k
lrwxrwxrwx. 1 root root 16 21. Nov 20:26 /usr/lib/libssl.so.8 -> libssl.so.0.9.8k


any help ?

nm
22nd November 2009, 17:00
have a problem when compiling svn mplayer with applied bluray_support.diff patch on Fedora 11 32bt.

-lncurses -lpng -lz -lmng -lz -ljpeg -lungif -lasound -ldl -lpthread -lfreetype -lfontconfig -lz -lbz2 -L/usr/local/lib -lbluray -lpthread -ldl -rdynamic -lm -lXext -lX11 -lpthread -lXss -lXv -lXinerama -lXxf86vm -lXxf86dga -lGL -ldl -lSDL -lpthread

You didn't show the complete command, but are you missing -lssl ?

prolinux
22nd November 2009, 18:38
ssl is now in the link line, but the compilations still fails.

-ffast-math -lncurses -lpng -lz -lmng -lz -ljpeg -lungif -lasound -ldl -lpthread -lfreetype -lfontconfig -lz -lbz2 -L/usr/local/lib -lbluray -lpthread -ldl -rdynamic -lm -L/usr/lib -lssl -lXext -lX11 -lpthread -lXss -lXv -lXinerama -lXxf86vm -lXxf86dga -lGL -ldl -lSDL -lpthread
/usr/local/lib/libbluray.so: undefined reference to `BN_bn2bin@OPENSSL_0.9.8'
...

nm
22nd November 2009, 19:39
Move -lssl before -lbluray.

prolinux
22nd November 2009, 21:15
Move -lssl before -lbluray.

always the same problem
libpostproc/libpostproc.a libswscale/libswscale.a -ffast-math -lssl -lncurses -lsmbclient -lpng -lz -lmng -lz -ljpeg -lungif -lasound -lfreetype -lfontconfig -lz -lbz2 -L/usr/local/lib -lbluray -rdynamic -lm -lXext -lX11 -lXss -lXv -lXinerama -lXxf86vm -lXxf86dga -lGL -lSDL -lpthread
/usr/local/lib/libbluray.so: undefined reference to `BN_bn2bin@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_KEY_get0_group@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_GROUP_free@OPENSSL_0.9.8'

nm
22nd November 2009, 23:44
Ah, I forgot -lcrypto. You need both -lssl and -lcrypto, as cRTrn13 said previously.

prolinux
23rd November 2009, 10:32
Ah, I forgot -lcrypto. You need both -lssl and -lcrypto, as cRTrn13 said previously.

still the same
...
libavutil/libavutil.a libpostproc/libpostproc.a libswscale/libswscale.a -lcrypto -lssl -ffast-math -lncurses -lsmbclient -lpng -lz -lmng -lz -ljpeg -lungif -lasound -lfreetype -lfontconfig -lz -lbz2 -L/usr/local/lib -lbluray -rdynamic -lm -lXext -lX11 -lXss -lXv -lXinerama -lXxf86vm -lXxf86dga -lGL -lSDL -lpthread
/usr/local/lib/libbluray.so: undefined reference to `BN_bn2bin@OPENSSL_0.9.8'
/usr/local/lib/libbluray.so: undefined reference to `EC_KEY_get0_group@OPENSSL_0.9.8'

this is my smal build script:
make clean
./configure --prefix=/usr --enable-bluray --extra-ldflags="-lcrypto -lssl"
make

nm
23rd November 2009, 16:16
I guess there's some symbol incompatibility with Fedora 11's OpenSSL/libcrypto then. Just tried building a patched MPlayer SVN on 32-bit Debian sid (although not updated for a few months), and didn't have any problems there.

CybrFyre
26th December 2009, 05:57
Fedora 11's openssl is purposely missing any "patent-encumbered" pieces, some of which are necessary for playing blurays. You should be able to grab the latest openssl directly from the openssl website, compile against that, and have the right pieces (I actually attempted to rebuild the src rpm disabling the patch and other pieces that turned off and deleted the patent encumbered parts, but was unsuccessful).

luh3417
16th January 2010, 06:58
I'm using mplayer with a little patch and a library for bluray playback on my HTPC.

You just nedd to install the library and apply the patch to latest mplayer source.


Then you can playback blurays with
mplayer bluray://playlist:chapter//mountPath
playlist ans chapters are optional parameters.

e.g.: mplayer bluray:///media/cdrom0

more informations are in the readme file.

Supports AACS until mkb 10, (backwards and forwards) seeking and movies, which are splitted over more than one file.

Needs openssl 0.9.8 to be installed!

If you have any questions just ask.

Hi. I am running 2.6.31-17-generic on AMD64 quadcore have openssl 0.9.8 with Pioneer PIONEER BD-RW BDR-205

Compile error I get is:

-c -o stream/stream.o stream/stream.c
stream/stream.c:116: error: 'stream_info_bluray' undeclared here (not in a function)
stream/stream.c: In function 'open_stream_plugin':
stream/stream.c:137: warning: initialization discards qualifiers from pointer target type
make: *** [stream/stream.o] Error 1

luh3417
16th January 2010, 07:04
Hi. I am running 2.6.31-17-generic on AMD64 quadcore have openssl 0.9.8 with Pioneer PIONEER BD-RW BDR-205

Compile error I get is:

-c -o stream/stream.o stream/stream.c
stream/stream.c:116: error: 'stream_info_bluray' undeclared here (not in a function)
stream/stream.c: In function 'open_stream_plugin':
stream/stream.c:137: warning: initialization discards qualifiers from pointer target type
make: *** [stream/stream.o] Error 1

PS.
MPlayer SVN-r29682-4.3.3 (C) 2000-2009 MPlayer Team

ubuntosaure
29th March 2010, 15:00
I'm using mplayer with a little patch and a library for bluray playback on my HTPC.

You just nedd to install the library and apply the patch to latest mplayer source.


Then you can playback blurays with
mplayer bluray://playlist:chapter//mountPath
playlist ans chapters are optional parameters.

e.g.: mplayer bluray:///media/cdrom0

more informations are in the readme file.

Supports AACS until mkb 10, (backwards and forwards) seeking and movies, which are splitted over more than one file.

Needs openssl 0.9.8 to be installed!

If you have any questions just ask.

Hy,

Is it possible to install libbluray (without compiller mplayer), using the deposits of ubuntu 10.04?

And so simple and detailed if possible.
Thank you in advance.

pynux
30th March 2010, 08:46
no it's not possible :(

ubuntosaure
30th March 2010, 12:12
A new version of libbluray is available?
Or is libbluray 2.0?

molenno
29th March 2011, 13:11
where can I download this? (solved)