• 1
  • 3
  • 4
  • 5(current)
  • 6
  • 7
  • 32
Headless Kodi
#61
(2015-01-08, 16:32)sparklyballs Wrote:
(2015-01-08, 16:27)Solo0815 Wrote: Do you have a guide to create a docker container out of the compile?
Maybe you can also provide me a DL link, so that I can try your containers on Debian wheezy?
Thx


Code:
# set base os
FROM debian:wheezy
ENV DEBIAN_FRONTEND noninteractive
# Set correct environment variables
ENV HOME /root

# Install KODI build dependencies
RUN apt-get update && \
apt-get install libdrm-dev automake autopoint bison build-essential ccache cmake curl cvs default-jre fp-compiler gawk gdc gettext git-core gperf libasound2-dev libass-dev libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libbluetooth-dev libbluray-dev libbluray1 libboost-dev libboost-thread-dev libbz2-dev libcap-dev libcdio-dev libcec-dev libcec1 libcrystalhd-dev libcrystalhd3 libcurl3 libcurl4-gnutls-dev libcwiid-dev libcwiid1 libdbus-1-dev libenca-dev libflac-dev libfontconfig-dev libfreetype6-dev libfribidi-dev libglew-dev libiso9660-dev libjasper-dev libjpeg-dev libltdl-dev liblzo2-dev libmad0-dev libmicrohttpd-dev libmodplug-dev libmp3lame-dev libmpeg2-4-dev libmpeg3-dev libmysqlclient-dev libnfs-dev libogg-dev libpcre3-dev libplist-dev libpng-dev libpostproc-dev libpulse-dev libsamplerate-dev libsdl-dev libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libshairport-dev libsmbclient-dev libsqlite3-dev libssh-dev libssl-dev libswscale-dev libtiff-dev libtinyxml-dev libtool libudev-dev libusb-dev libva-dev libva-egl1 libva-tpi1 libvdpau-dev libvorbisenc2 libxml2-dev libxmu-dev libxrandr-dev libxrender-dev libxslt1-dev libxt-dev libyajl-dev mesa-utils nasm pmount python-dev python-imaging python-sqlite swig unzip yasm zip zlib1g-dev wget supervisor -y && \

wget http://pkgs.fedoraproject.org/lookaside/pkgs/taglib/taglib-1.8.tar.gz/dcb8bd1b756f2843e18b1fdf3aaeee15/taglib-1.8.tar.gz && \
tar xzf taglib-1.8.tar.gz && \
cd taglib-1.8 && \
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_RELEASE_TYPE=Release . && \
make && \
make install && \
cd / && \
# Main git source
git clone https://github.com/topfs2/xbmc.git && \
cd xbmc && \
# checkout branch/tag
git checkout helix_headless && \
# Configure, make, clean.
./bootstrap && \
./configure \
--enable-nfs \
--enable-upnp \
--enable-ssh \
--enable-libbluray \
--disable-debug \
--disable-vdpau \
--disable-vaapi \
--disable-crystalhd \
--disable-vdadecoder \
--disable-vtbdecoder \
--disable-openmax \
--disable-joystick \
--disable-rsxs \
--disable-projectm \
--disable-rtmp \
--disable-airplay \
--disable-airtunes \
--disable-dvdcss \
--disable-optical-drive \
--disable-libusb \
--disable-libcec \
--disable-libmp3lame \
--disable-libcap \
--disable-udev \
--disable-libvorbisenc \
--disable-asap-codec \
--disable-afpclient \
--disable-goom \
--disable-fishbmc \
--disable-spectrum \
--disable-waveform \
--disable-avahi \
--disable-non-free \
--disable-texturepacker \
--disable-pulse \
--disable-dbus \
--disable-alsa \
--disable-hal \
--prefix=/opt/kodi-server && \
make && \
make install && \
apt-get purge --remove -y automake autopoint build-essential wget git-core bison cmake curl gawk gdc ccache curl && \
apt-get autoremove -y && \
rm -rf /xbmc

RUN echo "[supervisord]" >> /etc/supervisor/conf.d/supervisord.conf && \
echo "nodaemon=true" >> /etc/supervisor/conf.d/supervisord.conf && \
echo "[program:kodi-server]" >> /etc/supervisor/conf.d/supervisord.conf && \
echo "command=/opt/kodi-server/lib/kodi/kodi.bin --nolirc --headless -p" >> /etc/supervisor/conf.d/supervisord.conf
EXPOSE 9777/udp 80/tcp
ENTRYPOINT ["/usr/bin/supervisord"]


give this a whirl, it's an all in one dockerfile, builds in wheezy.

you'll need to provide an advancedsettings.xml with your mysql details in, config is /opt/kodi-server/share/kodi/portable_data, port is 80 (you'll probably need to remap) it throws up some error about clementine, but the webui works, that's as far as i've tested.

not clementine, lol...

this is the error

Code:
2015-01-08 15:37:07,855 WARN cElementTree not installed, using slower XML parser for XML-RPC
2015-01-08 15:37:07,855 CRIT Server 'unix_http_server' running without any HTTP authentication checking
Reply
#62
I already compiled kodi-headless.

The Main-Goal is to create a plugin for OpenMediaVault, which contains the compiled binary and all the other settings-stuff from /opt/kodi-server in a (portable) docker-container and a simple GUI for settings of Kodi-server like Serverport, Serverpassword, mysqluser and -pw.
The Users don't have to install 844586 new packages for Kodi-Server (just like it was with the xbmc-library-scanner.so)

If I read you posts correct, I need only this part:
Code:
# set base os
FROM debian:wheezy
ENV DEBIAN_FRONTEND noninteractive
# Set correct environment variables
ENV HOME /root

RUN echo "[supervisord]" >> /etc/supervisor/conf.d/supervisord.conf && \
echo "nodaemon=true" >> /etc/supervisor/conf.d/supervisord.conf && \
echo "[program:kodi-server]" >> /etc/supervisor/conf.d/supervisord.conf && \
echo "command=/opt/kodi-server/lib/kodi/kodi.bin --nolirc --headless -p" >> /etc/supervisor/conf.d/supervisord.conf
EXPOSE 9777/udp 80/tcp
ENTRYPOINT ["/usr/bin/supervisord"]
Philips TV with Kodi 20.2 with IPTV --- Orbsmart 500 Android 21 alpha/beta as Online-radio/TV in the kitchen
Reply
#63
(2015-01-08, 19:10)Solo0815 Wrote: I already compiled kodi-headless.

The Main-Goal is to create a plugin for OpenMediaVault, which contains the compiled binary and all the other settings-stuff from /opt/kodi-server in a (portable) docker-container and a simple GUI for settings of Kodi-server like Serverport, Serverpassword, mysqluser and -pw.
The Users don't have to install 844586 new packages for Kodi-Server (just like it was with the xbmc-library-scanner.so)

If I read you posts correct, I need only this part:
Code:
# set base os
FROM debian:wheezy
ENV DEBIAN_FRONTEND noninteractive
# Set correct environment variables
ENV HOME /root

RUN echo "[supervisord]" >> /etc/supervisor/conf.d/supervisord.conf && \
echo "nodaemon=true" >> /etc/supervisor/conf.d/supervisord.conf && \
echo "[program:kodi-server]" >> /etc/supervisor/conf.d/supervisord.conf && \
echo "command=/opt/kodi-server/lib/kodi/kodi.bin --nolirc --headless -p" >> /etc/supervisor/conf.d/supervisord.conf
EXPOSE 9777/udp 80/tcp
ENTRYPOINT ["/usr/bin/supervisord"]

this is isn't anything like the standalone scanner in gotham

i'm not aware of such a thing for helix (there could be, but i don't know)

this will need some dependencies to run.

if you want to push it to users as a completed thing, push it to git, then add an automated build in dockerhub and pull the whole thing from there.

i made it as small as i could in wheezy, but it's still quite big (1.2 gig)
Reply
#64
(2014-12-24, 02:46)pgjensen Wrote: Steps I took to get this working:

1) cd
2) git clone https://github.com/topfs2/xbmc.git kodi-helix-headless
3) cd kodi-helix-headless/
4) git checkout helix_headless
5) ./bootstrap
6) ./configure --prefix=/opt/kodi-helix-headless/
7) make
8) sudo make install
9) /opt/kodi-helix-headless/lib/kodi/kodi.bin --headless &
Can't open display

** keeps running! **

I found a stray g_xrandr call in application which might have been the cause for this, if you have time please test again, I'd love to hear the results. e0026f0fe3
If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

Image

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
#65
(2015-01-15, 12:38)topfs2 Wrote:
(2014-12-24, 02:46)pgjensen Wrote: Steps I took to get this working:

1) cd
2) git clone https://github.com/topfs2/xbmc.git kodi-helix-headless
3) cd kodi-helix-headless/
4) git checkout helix_headless
5) ./bootstrap
6) ./configure --prefix=/opt/kodi-helix-headless/
7) make
8) sudo make install
9) /opt/kodi-helix-headless/lib/kodi/kodi.bin --headless &
Can't open display

** keeps running! **

I found a stray g_xrandr call in application which might have been the cause for this, if you have time please test again, I'd love to hear the results. e0026f0fe3


Just triggered new build in a docker of this that pulls your git.
Reply
#66
Photo 
Image

the "can't find display" error is gone from building the commit, but it still doesn't seem to be populating the database(s)
Reply
#67
(2014-12-28, 15:30)fma965 Wrote: The modified windows build can be downloaded here - http://cyanlabs.net/files/Kodi.exe

Just another Windows Server 2012 R2 user chiming in. I want to help but I'm overloaded with six courses this term. Regardless, thanks for getting this started. I'm still using Helix as I found Kodi to be quite buggy so as it stands it's not a solution for me right now. If you're having a specific problem that you want to test on another system PM me.
Reply
#68
I managed to build and run kodi-headless on Mac OS X Yosemite today. It seems to run fine, though in my limited testing, kodi-headless segfaults whenever (audio) playback stops.
Reply
#69
(2015-01-21, 07:04)setlursh Wrote: I managed to build and run kodi-headless on Mac OS X Yosemite today. It seems to run fine, though in my limited testing, kodi-headless segfaults whenever (audio) playback stops.

Stops as in when you try to stop it or when it has played one song, or one playlist?
I'd love a backtrace if possible, or some more details on how to reproduce it.

Thanks for testing!
If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

Image

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
#70
Hi

I would like to run kodi on a server with https://github.com/Jalle19/xbmc-video-server.

Everything seems to work but if i try to download a file from the vfs (http://kodi.wiki/view/Webserver#Virtual_...tem_.2Fvfs) i get a "HTTP/1.1 401 Unauthorized"

The same request works on my laptop which is using the same db and storage but with kodi from the stable ppa.

Can someone confirm this behavior?

EDIT: Fixed. It was my fault.
Reply
#71
(2015-01-21, 10:03)topfs2 Wrote:
(2015-01-21, 07:04)setlursh Wrote: I managed to build and run kodi-headless on Mac OS X Yosemite today. It seems to run fine, though in my limited testing, kodi-headless segfaults whenever (audio) playback stops.

Stops as in when you try to stop it or when it has played one song, or one playlist?
I'd love a backtrace if possible, or some more details on how to reproduce it.

Thanks for testing!

It can step through playlists fine. This is true even while changing between file formats and sample rates and bit depths (i.e. mp3 to alac, or from 16bit/44.1kHz to 24bit/96kHz). Kodi Audio Output method is set to "Best Match."

segfault 11 only occurs when a "stop" command is issued (i've only tested via iOS remote) or when playlist ends.

Below please find links to debug logs, as well as the OS X problem reports. I've also included the command line debug output. I couldn't figure out how to use lldb to generate a backtrace from a core file, but I'd be happy to provide this once I figure out how to accomplish this.

Hopefully the files are labelled clearly and appropriately.

And thanks again for all your work in developing kodi_headless. I've been waiting for such an iteration for a long time, and your vision accords perfectly with my hopes/wishlist.

kodi_headless_osx_debug_output_segfault_on_playlist_end : http://pastebin.com/VgAmVTSL

kodi.log segfault on json stop: http://pastebin.com/TFVBwaBz

kodi.log segfault on playlist end: http://pastebin.com/D5Qfu5Kp

OS X Problem Report 1 - JSON stop: http://pastebin.com/RrDNAhZ5

OS X Probelm Report 2 - Playlist End: http://pastebin.com/dtqYD5Yp
Reply
#72
nullpointer exception in CRenderSystemGL::ResetRenderSystem / glClearColor @topfs2
AppleTV4/iPhone/iPod/iPad: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for Kodi: NFS (wiki)
HowTo configure avahi (zeroconf): Avahi_Zeroconf (wiki)
READ THE IOS FAQ!: iOS FAQ (wiki)
Reply
#73
(2015-01-22, 12:53)Memphiz Wrote: nullpointer exception in CRenderSystemGL::ResetRenderSystem / glClearColor @topfs2

Awesome thanks, will see if I can track it down!
If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

Image

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
#74
Is it possible to add a background task to extract the filestream details so that kodi displays the media flags (http://kodi.wiki/view/Media_flags)?
Reply
#75
I'm currently running the minified server build of Gotham from this thread http://forum.kodi.tv/showthread.php?tid=132919&page=57 and saw this project and wanted to try it out.

Sadly I can't even compile it on my Ubuntu Server LTS 14.04.01 x64.
I have compiled xbmc a couple of times (Frodo, Gotham), but never Helix until now.

Here are my configure flags:
Code:
./configure --enable-shared-lib --enable-nfs --enable-libbluray --disable-debug --disable-vdpau --disable-vaapi --disable-crystalhd --disable-vdadecoder --disable-vtbdecoder --disable-openmax --disable-joystick --disable-xrandr --disable-rsxs --disable-projectm --disable-rtmp --disable-airplay --disable-airtunes --disable-dvdcss --disable-optical-drive --disable-libusb --disable-libcec --disable-libmp3lame --disable-libcap  --disable-fishbmc --disable-spectrum --disable-waveform --disable-avahi --disable-alsa --disable-dbus --disable-pulse --disable-texturepacker --disable-udev --disable-hal --disable-libvorbisenc  --prefix=/opt/kodi-server

I'm getting errors like these when compiling:
Code:
WinSystemX11.cpp: In member function ‘virtual bool CWinSystemX11::ResizeWindow(int, int, int, int)’:
WinSystemX11.cpp:198:3: error: ‘XOutput’ was not declared in this scope
   XOutput *out = NULL;
   ^
WinSystemX11.cpp:198:12: error: ‘out’ was not declared in this scope
   XOutput *out = NULL;
            ^
WinSystemX11.cpp:201:11: error: ‘g_xrandr’ was not declared in this scope
     out = g_xrandr.GetOutput(m_userOutput);
           ^
WinSystemX11.cpp:204:7: error: ‘XMode’ was not declared in this scope
       XMode mode = g_xrandr.GetCurrentMode(m_userOutput);
       ^
WinSystemX11.cpp:204:13: error: expected ‘;’ before ‘mode’
       XMode mode = g_xrandr.GetCurrentMode(m_userOutput);
             ^
WinSystemX11.cpp:205:12: error: ‘mode’ was not declared in this scope
       if (!mode.isCurrent)
            ^
WinSystemX11.cpp:213:24: error: type/value mismatch at argument 1 in template parameter list for ‘template<class _Tp, class _Alloc> class std::vector’
     std::vector<XOutput> outputs = g_xrandr.GetModes();
                        ^
WinSystemX11.cpp:213:24: error:   expected a type, got ‘XOutput’
WinSystemX11.cpp:213:24: error: template argument 2 is invalid
WinSystemX11.cpp:213:34: error: invalid type in declaration before ‘=’ token
     std::vector<XOutput> outputs = g_xrandr.GetModes();
                                  ^
WinSystemX11.cpp:213:36: error: ‘g_xrandr’ was not declared in this scope
     std::vector<XOutput> outputs = g_xrandr.GetModes();
                                    ^
WinSystemX11.cpp:214:17: error: request for member ‘size’ in ‘outputs’, which is of non-class type ‘int’
     if (outputs.size() > 0)
                 ^
WinSystemX11.cpp:216:31: error: invalid types ‘int[int]’ for array subscript
       m_userOutput = outputs[0].name;
                               ^
WinSystemX11.cpp: In member function ‘virtual bool CWinSystemX11::HasCalibration(const RESOLUTION_INFO&)’:
WinSystemX11.cpp:457:3: error: ‘XOutput’ was not declared in this scope
   XOutput *out = g_xrandr.GetOutput(m_currentOutput);
   ^
WinSystemX11.cpp:457:12: error: ‘out’ was not declared in this scope
   XOutput *out = g_xrandr.GetOutput(m_currentOutput);
            ^
WinSystemX11.cpp:457:18: error: ‘g_xrandr’ was not declared in this scope
   XOutput *out = g_xrandr.GetOutput(m_currentOutput);
                  ^
WinSystemX11.cpp: In member function ‘void CWinSystemX11::GetConnectedOutputs(std::vector<std::basic_string<char> >*)’:
WinSystemX11.cpp:491:10: error: ‘XOutput’ was not declared in this scope
   vector<XOutput> outs;
          ^
WinSystemX11.cpp:491:17: error: template argument 1 is invalid
   vector<XOutput> outs;
                 ^
WinSystemX11.cpp:491:17: error: template argument 2 is invalid
WinSystemX11.cpp:491:23: error: invalid type in declaration before ‘;’ token
   vector<XOutput> outs;
                       ^
WinSystemX11.cpp:492:3: error: ‘g_xrandr’ was not declared in this scope
   g_xrandr.Query(true);
   ^
WinSystemX11.cpp:495:32: error: request for member ‘size’ in ‘outs’, which is of non-class type ‘int’
   for(unsigned int i=0; i<outs.size(); ++i)
                                ^
WinSystemX11.cpp:497:30: error: invalid types ‘int[unsigned int]’ for array subscript
     outputs->push_back(outs[i].name);
                              ^
WinSystemX11.cpp: In member function ‘void CWinSystemX11::NotifyXRREvent()’:
WinSystemX11.cpp:866:8: error: ‘g_xrandr’ was not declared in this scope
   if (!g_xrandr.Query(true))
        ^
WinSystemX11.cpp: In member function ‘void CWinSystemX11::RecreateWindow()’:
WinSystemX11.cpp:887:3: error: ‘XOutput’ was not declared in this scope
   XOutput *out = g_xrandr.GetOutput(m_userOutput);
   ^
WinSystemX11.cpp:887:12: error: ‘out’ was not declared in this scope
   XOutput *out = g_xrandr.GetOutput(m_userOutput);
            ^
WinSystemX11.cpp:887:18: error: ‘g_xrandr’ was not declared in this scope
   XOutput *out = g_xrandr.GetOutput(m_userOutput);
                  ^
WinSystemX11.cpp:888:3: error: ‘XMode’ was not declared in this scope
   XMode   mode = g_xrandr.GetCurrentMode(m_userOutput);
   ^
WinSystemX11.cpp:888:11: error: expected ‘;’ before ‘mode’
   XMode   mode = g_xrandr.GetCurrentMode(m_userOutput);
           ^
WinSystemX11.cpp:892:35: error: ‘mode’ was not declared in this scope
              , out->name.c_str(), mode.id.c_str(), mode.hz);
                                   ^
WinSystemX11.cpp:902:87: error: ‘mode’ was not declared in this scope
     if (StringUtils::EqualsNoCase(CDisplaySettings::Get().GetResolutionInfo(i).strId, mode.id))
                                                                                       ^
WinSystemX11.cpp: In member function ‘bool CWinSystemX11::SetWindow(int, int, bool, const string&)’:
WinSystemX11.cpp:1048:5: error: ‘XOutput’ was not declared in this scope
     XOutput *out = g_xrandr.GetOutput(output);
     ^
WinSystemX11.cpp:1048:14: error: ‘out’ was not declared in this scope
     XOutput *out = g_xrandr.GetOutput(output);
              ^
WinSystemX11.cpp:1048:20: error: ‘g_xrandr’ was not declared in this scope
     XOutput *out = g_xrandr.GetOutput(output);
                    ^
WinSystemX11.cpp: In member function ‘void CWinSystemX11::UpdateCrtc()’:
WinSystemX11.cpp:1440:12: error: ‘g_xrandr’ was not declared in this scope
   m_crtc = g_xrandr.GetCrtc(posx+winattr.width/2, posy+winattr.height/2);
            ^
make[1]: *** [WinSystemX11.o] Error 1
make: *** [xbmc/windowing/X11/windowing_X11.a] Error 2


Any ideas why this is happening?
I've used the same configure flags for Frodo and Gotham builds successfully in the past....
Reply
  • 1
  • 3
  • 4
  • 5(current)
  • 6
  • 7
  • 32

Logout Mark Read Team Forum Stats Members Help
Headless Kodi5