Jump to content

Linux Setup


Luke

Recommended Posts

im85288

New build: https://copy.com/VOUzJxtmiQVS (Mac)

 

This should fix the issue with the ffprobe error

 

Thanks, I added only a Movies section this time and the great news is that the movies now play properly both in the web browser and via iOS. There is however no artwork in the views..ie posters etc. I did still notice errors in the log: http://pastebin.com/z9i4wYCE

Link to comment
Share on other sites

abeloin

Thanks, I added only a Movies section this time and the great news is that the movies now play properly both in the web browser and via iOS. There is however no artwork in the views..ie posters etc. I did still notice errors in the log: http://pastebin.com/z9i4wYCE

You're missing libgdiplus

InnerException: System.DllNotFoundException
        /usr/local/lib/libgdiplus.dylib

You could try with macports?

 

$sudo port install libgdiplus +universal

$sudo ln -s /opt/local/lib/libgdiplus.dylib /usr/local/lib/libgdiplus.dylib

Link to comment
Share on other sites

im85288

You're missing libgdiplus

InnerException: System.DllNotFoundException        /usr/local/lib/libgdiplus.dylib
You could try with macports?

 

$sudo port install libgdiplus +universal

$sudo ln -s /opt/local/lib/libgdiplus.dylib /usr/local/lib/libgdiplus.dylib

Thank you, I installed libgdiplus using macports and verified that it is present in /usr/local/lib but now for some reason It will not let me start the server. I deleted the old version (just in case that was a problem) and re downloaded the version that worked before...but with no luck. Here is what the log says: http://pastebin.com/xKwHk5Gu

 

edit - I rebuilt Mono and then tried again, this time the server started without the above issues. It is scanning now and so far I am seeing these sort of errors in the log: http://pastebin.com/4YMqRYpK

 

edit2 - The artwork etc is now there and all seems to be working very well. Playing from the iOS app works fine, via a web browser works fine...using the XBMC app it would not play anything until I turned on the option to Stream rather than use SMB but now seems to be fine too..so all in all great performance on a 64 bit Mac using OSX 10.9. There are still a lot of errors in the logs as shown in the first edit...but it does not seem to cause any negative effects. Hopefully some other people will try out and report back on their findings. Just FYI, I added Movies, TV Shows, Music and Music Videos.

 

PS. Just tested using XBMC on an iPad and happy to report that's also working great

Edited by im85288
Link to comment
Share on other sites

In the other thread about the linux server, you mentioned UNC -> local path substitution:

 

http://mediabrowser.tv/community/index.php?/topic/947-linux-server/page-11&do=findComment&comment=56544

 

Are there any plans to pursue this? I am thinking just of a dashboard configuration screen that allows the user to enter /some/local/path/name for \\servername from UNC. That way the clients on the LAN would be able to use file sharing instead of streaming.

 

This would be quite flexible since the linux server could share local files, or if smbnetfs is installed, it could work with any SMB server on the LAN, since smbnetfs just mounts the local network neighborhood in a directory.

Edited by jwill
Link to comment
Share on other sites

In the other thread about the linux server, you mentioned UNC -> local path substitution:

 

http://mediabrowser.tv/community/index.php?/topic/947-linux-server/page-11&do=findComment&comment=56544

 

Are there any plans to pursue this? I am thinking just of a dashboard configuration screen that allows the user to enter /some/local/path/name for \\servername from UNC. That way the clients on the LAN would be able to use file sharing instead of streaming.

 

This would be quite flexible since the linux server could share local files, or if smbnetfs is installed, it could work with any SMB server on the LAN, since smbnetfs just mounts the local network neighborhood in a directory.

 

yes, but it's not implemented yet.

Link to comment
Share on other sites

abeloin

Thank you, I installed libgdiplus using macports and verified that it is present in /usr/local/lib but now for some reason It will not let me start the server. I deleted the old version (just in case that was a problem) and re downloaded the version that worked before...but with no luck. Here is what the log says: http://pastebin.com/xKwHk5Gu

 

edit - I rebuilt Mono and then tried again, this time the server started without the above issues. It is scanning now and so far I am seeing these sort of errors in the log: http://pastebin.com/4YMqRYpK

 

 

The error "System.Attribute.GetHashCode" mean your trying to run on a unpatched version of mono. This can happen when you have multiple version of Mono. Check your path variable or go to the first post and copy paste in a file the section with the export variable(change the path to your mono version) and run it like the instructions says before launching mb3. This will ensure you are using your version of mono.

 

As for the "No process to kill" it is benign error.

Link to comment
Share on other sites

im85288

That makes sense, it is all pretty much voodoo to me but must say I am delighted with the performance now that all is working. Hopefully, your team will be able to create an easy install for Mac/Linux like the Plex Server has and then I am sure your user base will expand significantly. Once there is an easier way for install I will be recommending this to users of a skin I develop for XBMC which currently has Plex integration.

 

Just as a side note, and maybe not the correct place to ask, but does anyone know if there is a setting to get the top 250 rating from IMDB scraped into the Movies? The XBMC movie scraper has this built in and works out very useful for creating views such as the Top 250 films etc

  • Like 1
Link to comment
Share on other sites

That makes sense, it is all pretty much voodoo to me but must say I am delighted with the performance now that all is working. Hopefully, your team will be able to create an easy install for Mac/Linux like the Plex Server has and then I am sure your user base will expand significantly. Once there is an easier way for install I will be recommending this to users of a skin I develop for XBMC which currently has Plex integration.

 

Just as a side note, and maybe not the correct place to ask, but does anyone know if there is a setting to get the top 250 rating from IMDB scraped into the Movies? The XBMC movie scraper has this built in and works out very useful for creating views such as the Top 250 films etc

I will look into top 250

Link to comment
Share on other sites

What language is the subs file we may have selected the wrong charset. Although ffmpeg should have reported it as such. Cany our upload the srt file for me please.

Edited by Tikuf
Link to comment
Share on other sites

abeloin

Hello, sometimes i have a error in subtitle conversion, below the log:

ffmpeg version N-59536-gbe524ff Copyright (c) 2000-2014 the FFmpeg developers
  built on Jan  4 2014 05:16:54 with gcc 4.6 (Debian 4.6.3-1)
  configuration: --prefix=/root/ffmpeg-static/32bit --arch=x86_32 --extra-cflags='-m32 -I/root/ffmpeg-static/32bit/include -static' --extra-ldflags='-m32 -L/root/ffmpeg-static/32bit/lib -static' --extra-libs='-lxml2 -lexpat -lfreetype' --enable-static --disable-shared --disable-ffserver --disable-doc --enable-bzlib --enable-zlib --enable-postproc --enable-runtime-cpudetect --enable-libx264 --enable-gpl --enable-libtheora --enable-libvorbis --enable-libmp3lame --enable-gray --enable-libass --enable-libfreetype --enable-libopenjpeg --enable-libspeex --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-version3 --enable-libvpx
  libavutil      52. 59.100 / 52. 59.100
  libavcodec     55. 47.100 / 55. 47.100
  libavformat    55. 22.102 / 55. 22.102
  libavdevice    55.  5.102 / 55.  5.102
  libavfilter     4.  0.103 /  4.  0.103
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
[subrip @ 0x9d14c80] Unable to open iconv context with input character encoding "windows-1252"
[srt @ 0x9d143a0] Failed to open codec in av_find_stream_info
Input #0, srt, from '/home/xbmc/TV Shows/Grimm/Grimm.S03E01.HDTV.x264-LOL.pb.srt':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Subtitle: subrip
[subrip @ 0x9d14c80] Unable to open iconv context with input character encoding "windows-1252"
Output #0, ass, to '/home/xbmc/mediabrowser_3.0.5121_arch/ProgramData-Server/cache/subtitles/c/c1390b25-4b54-9b5b-f753-ebc2b042cc2e.ass':
    Stream #0:0: Subtitle: ass
Stream mapping:
  Stream #0:0 -> #0:0 (subrip -> ass)
Error while opening decoder for input stream #0:0 : Invalid argument

where is the problem?

 

Thanks!

 

ffmpeg is trying to convert the srt to utf8 and fail because the codepage is not available.

 

Try converting your srt file to utf-8 via iconv in a terminal:

iconv -f WINDOWS-1252 -t utf-8 "/home/xbmc/TV Shows/GrimmGrimm.S03E01.HDTV.x264-LOL.srt" -o "/home/xbmc/TV Shows/Grimm.S03E01.HDTV.x264-LOL-converted.srt"

Then move the original and rename the converted to the original name.

Edited by abeloin
Link to comment
Share on other sites

Joao Correa

Hello, sometimes i have a error in subtitle conversion, below the log:

ffmpeg version N-59536-gbe524ff Copyright (c) 2000-2014 the FFmpeg developers
  built on Jan  4 2014 05:16:54 with gcc 4.6 (Debian 4.6.3-1)
  configuration: --prefix=/root/ffmpeg-static/32bit --arch=x86_32 --extra-cflags='-m32 -I/root/ffmpeg-static/32bit/include -static' --extra-ldflags='-m32 -L/root/ffmpeg-static/32bit/lib -static' --extra-libs='-lxml2 -lexpat -lfreetype' --enable-static --disable-shared --disable-ffserver --disable-doc --enable-bzlib --enable-zlib --enable-postproc --enable-runtime-cpudetect --enable-libx264 --enable-gpl --enable-libtheora --enable-libvorbis --enable-libmp3lame --enable-gray --enable-libass --enable-libfreetype --enable-libopenjpeg --enable-libspeex --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-version3 --enable-libvpx
  libavutil      52. 59.100 / 52. 59.100
  libavcodec     55. 47.100 / 55. 47.100
  libavformat    55. 22.102 / 55. 22.102
  libavdevice    55.  5.102 / 55.  5.102
  libavfilter     4.  0.103 /  4.  0.103
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
[subrip @ 0x9d14c80] Unable to open iconv context with input character encoding "windows-1252"
[srt @ 0x9d143a0] Failed to open codec in av_find_stream_info
Input #0, srt, from '/home/xbmc/TV Shows/Grimm/Grimm.S03E01.HDTV.x264-LOL.pb.srt':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Subtitle: subrip
[subrip @ 0x9d14c80] Unable to open iconv context with input character encoding "windows-1252"
Output #0, ass, to '/home/xbmc/mediabrowser_3.0.5121_arch/ProgramData-Server/cache/subtitles/c/c1390b25-4b54-9b5b-f753-ebc2b042cc2e.ass':
    Stream #0:0: Subtitle: ass
Stream mapping:
  Stream #0:0 -> #0:0 (subrip -> ass)
Error while opening decoder for input stream #0:0 : Invalid argument

where is the problem?

 

Thanks!

Edited by Joao Correa
Link to comment
Share on other sites

Hello, sometimes i have a error in subtitle conversion, below the log:

ffmpeg version N-59536-gbe524ff Copyright (c) 2000-2014 the FFmpeg developers
  built on Jan  4 2014 05:16:54 with gcc 4.6 (Debian 4.6.3-1)
  configuration: --prefix=/root/ffmpeg-static/32bit --arch=x86_32 --extra-cflags='-m32 -I/root/ffmpeg-static/32bit/include -static' --extra-ldflags='-m32 -L/root/ffmpeg-static/32bit/lib -static' --extra-libs='-lxml2 -lexpat -lfreetype' --enable-static --disable-shared --disable-ffserver --disable-doc --enable-bzlib --enable-zlib --enable-postproc --enable-runtime-cpudetect --enable-libx264 --enable-gpl --enable-libtheora --enable-libvorbis --enable-libmp3lame --enable-gray --enable-libass --enable-libfreetype --enable-libopenjpeg --enable-libspeex --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-version3 --enable-libvpx
  libavutil      52. 59.100 / 52. 59.100
  libavcodec     55. 47.100 / 55. 47.100
  libavformat    55. 22.102 / 55. 22.102
  libavdevice    55.  5.102 / 55.  5.102
  libavfilter     4.  0.103 /  4.  0.103
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
[subrip @ 0x9d14c80] Unable to open iconv context with input character encoding "windows-1252"
[srt @ 0x9d143a0] Failed to open codec in av_find_stream_info
Input #0, srt, from '/home/xbmc/TV Shows/Grimm/Grimm.S03E01.HDTV.x264-LOL.pb.srt':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Subtitle: subrip
[subrip @ 0x9d14c80] Unable to open iconv context with input character encoding "windows-1252"
Output #0, ass, to '/home/xbmc/mediabrowser_3.0.5121_arch/ProgramData-Server/cache/subtitles/c/c1390b25-4b54-9b5b-f753-ebc2b042cc2e.ass':
    Stream #0:0: Subtitle: ass
Stream mapping:
  Stream #0:0 -> #0:0 (subrip -> ass)
Error while opening decoder for input stream #0:0 : Invalid argument

where is the problem?

 

Thanks!

 

@@Tikuf what do you think?

Link to comment
Share on other sites

Joao Correa

Tikuf,  the language is Portuguese, i made some tests here and after the conversion produces strange caracters.

 

Original:

2
00:00:02,001 --> 00:00:04,499
As negociações para o bebê
já podem começar.

Converted:

2
00:00:02,001 --> 00:00:04,499
As negociações para o bebê
já podem começar.

With english subtitle this not happens.

 

thanks

Grimm.zip

Edited by Joao Correa
Link to comment
Share on other sites

@@Joao Correa

I am not sure if this is a unix bug or not (no way for me to test atm) .

 

I just tested on my system and it did look fine to me (but it may not to you please look at attached file). The correct encoding is WINDOWS-1252 I renamed the file to Grimm - S03E01.por.srt to match my file and the language .

 

Mb created the .ass file as it should. Please open it in a text editor and have a peek lmk if it is not correct https://dl.dropboxusercontent.com/u/1349444/25a49aa4-99bf-b580-3e39-8b265933263d.ass

 

On screen it rendered (on android).

 

2014-01-16%2015.02.21.png

Link to comment
Share on other sites

abeloin

New build: link removed (Linux and Mac)

 

For Linux, mediabrowser can now open ISO(Stream detail and web client streaming) via sudo, mount and umount.

 

In order to activate this feature, you need to add these lines via visudo(don't forget to change the username to the one running mediabrowser):

Defaults:jsmith !requiretty
jsmith ALL=(root) NOPASSWD: /bin/mount
jsmith ALL=(root) NOPASSWD: /bin/umount
Edited by abeloin
Link to comment
Share on other sites

Redshirt

With the help of abeloin's testing, I've taken steps to make sure Trakt is mono compatible. I'll be looking at my other plugins as well to see that they are also.

Link to comment
Share on other sites

abeloin

My compliments ! It seems that is working like the windows version.

 

I have installed it on my little server linux armv7h based, that run on Trimslice (http://archlinuxarm.org/platforms/armv7/nvidia/trimslice).

 

I'd like to know if also the plugins are mono compatible.

 

Plugins I've tested so far are:

  • Trakt (works)
  • Rotten Tomatoes (works)
  • Anime (works)
  • Automatic BoxSet (works)
  • Xbmc Metadata Saver (works)
Edited by abeloin
  • Like 1
Link to comment
Share on other sites

I have started to do some test on my ARM linux server, most of the functionalities are working fine, but the "Play" function not.

 

Some questions:

 

I expect that the mono code works fine like in x86 version. But there are some components that are platform specific:

 

  • ffmpeg
  • ffprobe
  • libsqlite3.so.0.8.6  (32 & 64) 

 

 Is this list complete ? are mandatory to have MB3 working ?

 

The "Play" functionality need ffmpeg ?

Link to comment
Share on other sites

I have replaced the x86 version of ffmpeg and ffprobe with the ARM versions. But it seems that the system is unable to play the movies. Here the log of ffmpeg


ffmpeg version 2.1.1 Copyright (c) 2000-2013 the FFmpeg developers
  built on Dec 10 2013 12:58:20 with gcc 4.7.2 (GCC)
  configuration: --prefix=/usr --disable-debug --disable-static --enable-avresample --enable-dxva2 --enable-fontconfig --enable-gnutls --enable-gpl --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libv4l2 --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-pic --enable-postproc --enable-runtime-cpudetect --enable-shared --enable-swresample --enable-vdpau --enable-version3 --enable-x11grab
  libavutil      52. 48.101 / 52. 48.101
  libavcodec     55. 39.101 / 55. 39.101
  libavformat    55. 19.104 / 55. 19.104
  libavdevice    55.  5.100 / 55.  5.100
  libavfilter     3. 90.100 /  3. 90.100
  libavresample   1.  1.  0 /  1.  1.  0
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file:/srv/share/incoming/torrents/movies/Airplane! (1980) [1080p] x264 - Jalucian/Airplane! (1980) [1080p] x264 - Jalucian.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42isomavc1
    creation_time   : 2013-07-22 09:43:30
    encoder         : HandBrake 0.9.9 2013051800
  Duration: 01:27:42.10, start: 0.000000, bitrate: 2420 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 2249 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 180k tbc (default)
    Metadata:
      creation_time   : 2013-07-22 09:43:30
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 159 kb/s (default)
    Metadata:
      creation_time   : 2013-07-22 09:43:30
    Stream #0:2(eng): Subtitle: mov_text (tx3g / 0x67337874), 1920x60, 0 kb/s (default)
    Metadata:
      creation_time   : 2013-07-22 09:43:30
    Stream #0:3(eng): Subtitle: dvd_subtitle (mp4s / 0x7334706D), 1920x1080, 5 kb/s
    Metadata:
      creation_time   : 2013-07-22 09:43:30
[libx264 @ 0x5faa0] using SAR=1/1
[libx264 @ 0x5faa0] frame MB size (80x45) > level limit (1620)
[libx264 @ 0x5faa0] MB rate (86313) > level limit (40500)
[libx264 @ 0x5faa0] using cpu capabilities: none!
[libx264 @ 0x5faa0] profile Constrained Baseline, level 3.0
[libx264 @ 0x5faa0] 264 - core 138 r2363 c628e3b - H.264/MPEG-4 AVC codec - Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=1:0:0 analyse=0x1:0x1 me=dia subme=1 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=2 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=23 scenecut=40 intra_refresh=0 rc=abr mbtree=0 bitrate=1372 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to '/root/MB3SMono/ProgramData-Server/cache/encoded-media/99b72b78-20a4-06d4-9bc8-5ac2becab7c0.mp4':
  Metadata:
    encoder         : Lavf55.19.104
    Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 1372 kb/s, 24k tbn, 23.98 tbc (default)
    Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 48000 Hz, stereo, fltp, 128 kb/s (default)
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> libx264)
  Stream #0:1 -> #0:1 (aac -> aac)
Press [q] to stop, [?] for help
frame=    1 fps=0.0 q=0.0 size=       0kB time=00:00:00.14 bitrate=   1.7kbits/s    
frame=    4 fps=2.6 q=25.0 size=       1kB time=00:00:00.46 bitrate=  20.7kbits/s    
frame=    5 fps=2.3 q=21.0 size=       1kB time=00:00:00.46 bitrate=  20.7kbits/s    
frame=    6 fps=1.7 q=21.0 size=       1kB time=00:00:00.46 bitrate=  20.7kbits/s    
frame=    7 fps=1.7 q=17.0 size=       5kB time=00:00:00.46 bitrate=  84.7kbits/s

 

It seems that the Player is doing some kind of conversion, but my server has not enough power to do this in real-time, there is a way to avoid this ?

Edited by Dan64
Link to comment
Share on other sites

[libx264 @ 0x5faa0] using cpu capabilities: none!

Is the issue the version you are using is not detecting the cpu capabilities and therefore the threading is all wrong.

  • Like 1
Link to comment
Share on other sites

abeloin

I have started to do some test on my ARM linux server, most of the functionalities are working fine, but the "Play" function not.

 

Some questions:

 

I expect that the mono code works fine like in x86 version. But there are some components that are platform specific:

 

  • ffmpeg
  • ffprobe
  • libsqlite3.so.0.8.6  (32 & 64) 

 

 Is this list complete ? are mandatory to have MB3 working ?

 

The "Play" functionality need ffmpeg ?

 

libsqlite is required, download the source code from http://www.sqlite.org/download.html and compile it for your Arm arch.

ffmpeg is required for image extraction and web client streaming(Play).

ffprobe is required to get the metadata about the file.

Mono's libgdiplus is required for image processing in the web client.

 

I doubt you will get good performance with web streaming on Arm because if the file is not webm(vpx) it need to be transcoded.

Edited by abeloin
Link to comment
Share on other sites

abeloin

 

It seems that the Player is doing some kind of conversion, but my server has not enough power to do this in real-time, there is a way to avoid this ?

 

You can use a client that doesn't require transcoding.

 

Some example:

 

XBMB3C: plugin for xbmc https://github.com/MediaBrowser/MediaBrowser.XBMC/releases/tag/plugin.video.xbmb3c-0.7.5

Mediabrowser.Theater: apps for windows http://mediabrowser.tv/community/index.php?/topic/2142-media-browser-theater-public-alpha/

 

See the support section in the forum for other clients and platforms. http://mediabrowser.tv/clients/

 

 By the way make sure to use a ffmpeg version built for armv7 without neon, which the tegra 2 is based on.

Edited by abeloin
Link to comment
Share on other sites

or if your videos are mp4 baseline profile with aac then that will allow you to use the web client without transcoding.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...