Jump to content


Photo

Air Video Server HD for Linux


  • Please log in to reply
292 replies to this topic

#1 admin

admin

    Administrator

  • Administrators
  • 2585 posts

Posted 06 December 2014 - 03:22 PM

Hey,

 

I'm happy to announce that our first version of Air Video Server HD for Linux is available for download.

It has mostly been tested on Ubuntu 14.04.1, but unless we messed something up any recent 64-bit distribution should do.

The server distribution is self-contained. The only dependency is VLC 2.1 or 2.2, which is required for its decoders (by default expected in /usr/lib, can be configured in properties file).

 

Note: Beta 3 was built on Centos 6.6 so it should be possible to run it on older distributions.

 

Installation:

  1. Unpack the archive anywhere you want
  2. Edit server.properties and add folders to share
  3. Run start.sh


#2 jvimedia

jvimedia

    Newbie

  • Members
  • Pip
  • 2 posts

Posted 06 December 2014 - 07:41 PM

Hello,

I am running into issues with 

Debian GNU/Linux 7

3.2.0-4-amd64

 
Thats the error message I am receiving.
./AirVideoServerHD: error while loading shared libraries: libicuuc.so.52: cannot open shared object file: No such file or directory
 
If you need any further information please feel free to hit me. ;)
 
Thanks for the efforts so far.

  • shali and CeccilTuh like this

#3 gyre

gyre

    Member

  • Members
  • PipPip
  • 27 posts
  • LocationBristol, UK

Posted 06 December 2014 - 08:11 PM

Could you do a 32-bit version at some time too please? :)

 

Thanks.

 

-- gyre --



#4 Nicoplh

Nicoplh

    Newbie

  • Members
  • Pip
  • 8 posts

Posted 06 December 2014 - 08:28 PM

 

Hello,

I am running into issues with 

Debian GNU/Linux 7

3.2.0-4-amd64

 
Thats the error message I am receiving.
./AirVideoServerHD: error while loading shared libraries: libicuuc.so.52: cannot open shared object file: No such file or directory
 
If you need any further information please feel free to hit me. ;)
 
Thanks for the efforts so far.

 

Same error



#5 shali

shali

    Newbie

  • Members
  • Pip
  • 3 posts

Posted 06 December 2014 - 08:46 PM

 

Hello,

I am running into issues with 

Debian GNU/Linux 7

3.2.0-4-amd64

 
Thats the error message I am receiving.
./AirVideoServerHD: error while loading shared libraries: libicuuc.so.52: cannot open shared object file: No such file or directory
 
If you need any further information please feel free to hit me. ;)
 
Thanks for the efforts so far.

 

Same error for me as well. I googled the lib file that is missing and tried to deploy it manually with no luck :\

Any chance you can bundle all dependencies in the binary?

 

Thanks



#6 admin

admin

    Administrator

  • Administrators
  • 2585 posts

Posted 06 December 2014 - 11:13 PM

Joys of linux distributions :) It's unicode library (libicu), it's quite big so we did shared build as it is safe to assume that it's going to be present, but of course the versions don't match. I'll try to do static build as soon as possible, possibly tomorrow.



#7 admin

admin

    Administrator

  • Administrators
  • 2585 posts

Posted 06 December 2014 - 11:14 PM

Could you do a 32-bit version at some time too please? :)

 

Thanks.

 

-- gyre --

We wasn't really planning to. Are you unable to use 64bit distribution? 



#8 gyre

gyre

    Member

  • Members
  • PipPip
  • 27 posts
  • LocationBristol, UK

Posted 06 December 2014 - 11:52 PM

We wasn't really planning to. Are you unable to use 64bit distribution?

I'm dragging my feet on installing a 64-bit version of Linux on this box as it's providing a lot of services, and it's the only machine I have that's powerful enough to do transcoding of hd streams.

However, don't build a 32-bit version just for me if it's a lot of work, or not in your plans.

Thanks :)

-- gyre --

#9 IceIceBird

IceIceBird

    Member

  • Members
  • PipPip
  • 26 posts

Posted 07 December 2014 - 01:52 AM

Edit:

Disregard my last comment . Have got it to work perfectly . ( forgot to remove a hashtag in front of the Initial Port line in the config file , I do not use the default port )

I run Linux Mint 17.1 , works exactly as intended.

Very very nice work!

 



#10 josehon

josehon

    Newbie

  • Members
  • Pip
  • 4 posts

Posted 07 December 2014 - 05:14 AM

I solve the missing lib problem by downloading the icu52 package from the follow site: http://site.icu-proj...org/download/52

I am using Fedora 20 64bit, so I downloaded the icu4c-52_1-RHEL6-x64.tgz package.

 

If you take a look at the icu package, it contains /usr/local folder, so I extract it right onto /

 

Then, modify the start.sh file, add the following line before ./AirVideoServerHD --config=Server.properties

export LD_LIBRARY_PATH="/usr/local/lib"

 

Save the file, then you can try to execute start.sh again.

 

This fix my missing library problem on Fedora 20 64bit.



#11 bradlay

bradlay

    Newbie

  • Members
  • Pip
  • 2 posts

Posted 07 December 2014 - 12:15 PM

Downloaded and tested on Ubuntu 64-bit 14.04.01 - just needed to install vlc (lots of dependancies) and libicu52, after that define the shared path and start the server. Worked perfectly.

 

I tested it locally and also remotely and both worked extremely fast, although the CPU usage seems pretty heavy. Will give it a few days more testing and see how it goes.

 

Great job and great to finally be able to shut off my Mac server I've been using since Air Video HD came out months ago.

 

Keep up the good work.



#12 admin

admin

    Administrator

  • Administrators
  • 2585 posts

Posted 07 December 2014 - 04:43 PM

Everyone who has problems with dependencies, please try to re-download the server, I've posted new build.

 

Hi CPU usage during transcoding is normal, when enough data gets transcoded the process is then throttled down and CPU usage lowered. We have plans for hardware accelerated transcoding through va-api though.


  • IceIceBird likes this

#13 admin

admin

    Administrator

  • Administrators
  • 2585 posts

Posted 07 December 2014 - 10:52 PM

Also you can renice AirVideoServerHD and ExternalEncoder processes to lower priority.



#14 root

root

    Newbie

  • Members
  • Pip
  • 3 posts

Posted 08 December 2014 - 07:01 AM

Any startup script?



#15 marioscube

marioscube

    Member

  • Members
  • PipPip
  • 12 posts

Posted 08 December 2014 - 12:55 PM

With the new server and Linux Mint 17 all seems to work fine.

I did not test extensively though.

 

With LInux Mint 16 I get the following error when the iOS app connects to the AirvideoHD-server:

 

process 8815: D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open "/etc/machine-id": No such file or directory
See the manual page for dbus-uuidgen to correct this issue.
  D-Bus not built with -rdynamic so unable to print a backtrace

Aborted 

 

 

Thank you for the Linux build of AirVideo, really appreciate it!



#16 admin

admin

    Administrator

  • Administrators
  • 2585 posts

Posted 08 December 2014 - 02:34 PM

Any startup script?

You mean something for /etc/init.d? We don't have one but it shouldn't be too difficult to write, maybe someone can contribute one? :)



#17 admin

admin

    Administrator

  • Administrators
  • 2585 posts

Posted 08 December 2014 - 02:37 PM

With the new server and Linux Mint 17 all seems to work fine.

I did not test extensively though.

 

With LInux Mint 16 I get the following error when the iOS app connects to the AirvideoHD-server:

 

process 8815: D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open "/etc/machine-id": No such file or directory
See the manual page for dbus-uuidgen to correct this issue.
  D-Bus not built with -rdynamic so unable to print a backtrace

Aborted 

 

 

Thank you for the Linux build of AirVideo, really appreciate it!

 

Do you have  dbus-uuidgen on Mint16? Have you tried running it (as root probably)? It should create /var/lib/dbus/machine-id file that dbus needs. We use dbus to communicate with avahi to configure bonjour.



#18 lstein

lstein

    Newbie

  • Members
  • Pip
  • 7 posts

Posted 08 December 2014 - 02:45 PM

Great work! Very smooth installation and runs flawlessly (so far) on Linux Mint 17. For me, the most important new feature would be the ability to change the location of the log, runtime data and cache files. Currently they seem to be hard-coded to write into the home directory of the server process owner. I would like to write the logs into /var/log and the runtime/cache data into /var/run.

 

I am enclosing two short init scripts for starting the server at boot. The first init script is for upstart systems, and the second is for SystemV init. Note that the paths and user ids need to be adjusted for where you installed the software and what user account you wish to run under. I have commented out the "respawn" directive in the upstart version; you can uncomment this if you wish init to restart the server in the event that it crashes.

 

For upstart: /etc/init/airvideo.conf:

 

description "AirVideoHD server"
author      "Lincoln Stein <lincoln.stein@gmail.com>"
 
start on (local-filesystems and net-device-up IFACE!=lo)
stop on runlevel [!2345]
 
#respawn
 
script
        UID=airvideo
        GID=airvideo
        AIRVIDEO_DIR=/usr/local/share/AirVideoServerHD
        DBUS_SOCKET=/var/run/dbus/system_bus_socket
       
        SERVER=$AIRVIDEO_DIR/AirVideoServerHD
        OPTIONS="--config=Server.properties"
        export DBUS_SYSTEM_BUS_ADDRESS=unix:path=$DBUS_SOCKET
 
        cd $AIRVIDEO_DIR
        sudo -u $UID -g $GID -E $SERVER $OPTIONS 2>&1 | logger -i -t AirVideoServerHD
end script

 

 

For SystemV Init: /etc/init.d/airvideo

 

#!/bin/sh

 
### BEGIN INIT INFO
# Provides:          AirVideoServerHD
# Required-Start:    $network $local_fs $remote_fs
# Required-Stop:     $network $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: start AirVideoServer HD
### END INIT INFO
 
UID=airvideo
GID=airvideo
AIRVIDEO_DIR=/usr/local/share/AirVideoServerHD
 
SERVER=$AIRVIDEO_DIR/AirVideoServerHD
OPTIONS="--config=Server.properties"
PIDFILE=/var/run/airvideoserverhd.pid
DBUS_SOCKET=/var/run/dbus/system_bus_socket
 
# See if the server is there
test -x $SERVER || exit 0
 
. /lib/lsb/init-functions
 
case $1 in
        start)
                if init_is_upstart; then
                        exit 1
                fi
                log_daemon_msg "Starting AirVideo" AirVideoServerHD
                        export DBUS_SYSTEM_BUS_ADDRESS=unix:path=$DBUS_SOCKET
                        if ! start-stop-daemon -d $AIRVIDEO_DIR -m -b --chuid $UID:$GID --start --quiet --oknodo --pidfile $PIDFILE --exec $SERVER -- $OPTIONS
                        then
                                log_end_msg 1
                                exit 1
                        fi
                        log_end_msg 0
 
                ;;
        stop)
                if init_is_upstart; then
                        exit 0
                fi
 
                log_daemon_msg "Stopping AirVideo name server" AirVideoServerHD
 
                start-stop-daemon --stop --quiet --user $UID --pidfile $PIDFILE --exec $SERVER
                rm -f $PIDFILE
                log_end_msg 0
 
                ;;
        restart|force-reload)
                if init_is_upstart; then
                        exit 1
                fi
                $0 stop
                sleep 1
                $0 start
                ;;
        status)
                status_of_proc -p $PIDFILE $SERVER AirVideoServer
                exit $?
                ;;
        *)
                echo "Usage: /etc/init.d/airvideo {start|stop|restart|force-reload|status}"
                exit 1
                ;;
esac
 
 


#19 lstein

lstein

    Newbie

  • Members
  • Pip
  • 7 posts

Posted 08 December 2014 - 02:46 PM

You mean something for /etc/init.d? We don't have one but it shouldn't be too difficult to write, maybe someone can contribute one? :)

I just posted one. Was actually cutting and pasting it in when the request appeared.



#20 admin

admin

    Administrator

  • Administrators
  • 2585 posts

Posted 08 December 2014 - 03:26 PM

 

Great work! Very smooth installation and runs flawlessly (so far) on Linux Mint 17. For me, the most important new feature would be the ability to change the location of the log, runtime data and cache files. Currently they seem to be hard-coded to write into the home directory of the server process owner. I would like to write the logs into /var/log and the runtime/cache data into /var/run.

 

Thanks for the script. The paths are indeed hardcoded (to ~/.AirVideoServerHD), we should be able to make this configurable. In the meanwhile you could just make symlinks for logs and ApplicationData.






1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users