Results 1 to 8 of 8

Thread: Installing Moonlight (Silverlight) from SVN on Intrepid

  1. #1
    Join Date
    Oct 2008
    Beans
    11

    Post Installing Moonlight (Silverlight) from SVN on Intrepid

    NOTE: WORK IN PROGRESS
    Here's a quick recap of my experiences with getting Moonlight to install from their SVN repository. this is only for Moonlight supporting Silverlight 1.0. For Silverlight 2.0 support, Mono libraries version 2.0 or greater are required, which are included in Jaunty. But since I don't have a computer to use as a development computer at the moment, I'll wait until Jaunty is released to update with Silverlight 2.0 instructions.

    1) Download the code for Moonlight
    Code:
    svn co svn://anonsvn.mono-project.com/source/trunk/moon
    This code will create a directory called "moon" where the source is stored.
    Code:
    cd moon
    2) Get FFMPEG configured.
    2a) Download the FFMPEG source
    Code:
    sudo aptitude build-dep ffmpeg
    apt-get source ffmpeg
    cd ffmpeg-debian*
    2b) Configure ffmpeg.
    The Moonlight compile directions recommend the following:
    Code:
     ./configure --disable-static --enable-shared --disable-ffmpeg --disable-ffserver --disable-ffplay --disable-zlib --disable-network --disable-vhook --disable-debug --disable-muxers --disable-encoders --disable-demuxers --disable-bsfs --disable-protocols
    But I used the Ubuntu config flags which can be seen if you type `ffmpeg -v' Which, ironically enough, gives an error about `Unknown option -v' but hey... we got what we needed. For this release of ffmpeg, the config flags are as follows:
    Code:
    ./configure  --enable-gpl --enable-pp --enable-swscaler --enable-x11grab --prefix=/usr --enable-libgsm --enable-libtheora --enable-libvorbis --enable-pthreads --disable-strip --enable-libfaad --enable-libfaadbin --enable-liba52 --enable-liba52bin --enable-libdc1394 --disable-armv5te --disable-armv6 --disable-altivec --disable-vis --enable-shared --disable-static
    2d) Build ffmpeg. This step was a pain in the *** as it took a lot of manual coding on my part to get it to work. I have submitted a bug report. The hot-fix below assumes that you know the basics of coding (sorry for the lack of detail, but I assume this step will be much easier in the future).
    Modify libavcodec/h263.h to look more like this
    Code:
    #if defined(ENABLE_H263_DECODER) || \
                                     defined(ENABLE_H263I_DECODER)   || \
                                     defined(ENABLE_FLV_DECODER)     || \
                                     defined(ENABLE_RV10_DECODER)    || \
                                     defined(ENABLE_RV20_DECODER)    || \
                                     defined(ENABLE_MPEG4_DECODER)   || \
                                     defined(ENABLE_MSMPEG4_DECODER) || \
                                     defined(ENABLE_WMV_DECODER)
    #define ENABLE_ANY_H263_DECODER 1
    #else
    #define ENABLE_ANY_H263_DECODER 0
    #endif
    
    #if defined(ENABLE_H263_ENCODER)    || \
                                     defined(ENABLE_H263P_ENCODER)   || \
                                     defined(ENABLE_FLV_ENCODER)     || \
                                     defined(ENABLE_RV10_ENCODER)    || \
                                     defined(ENABLE_RV20_ENCODER)    || \
                                     defined(ENABLE_MPEG4_ENCODER)   || \
                                     defined(ENABLE_MSMPEG4_ENCODER) || \
                                     defined(ENABLE_WMV_ENCODER)
    #define ENABLE_ANY_H263_ENCODER 1
    #else
    #define ENABLE_ANY_H263_ENCODER 0
    #endif
    Also add all those pesky ENABLE_((SOMETHING))_ENCODER defines anywhere into config.h
    For me it was
    Code:
    #define ENABLE_H261_ENCODER 0
    #define ENABLE_MPEG4_ENCODER 0
    #define ENABLE_MSMPEG4V1_ENCODER 0
    #define ENABLE_MSMPEG4V2_ENCODER 0
    #define ENABLE_MSMPEG4V3_ENCODER 0
    #define ENABLE_MPEG2VIDEO_ENCODER 0
    #define ENABLE_H263_ENCODER 0
    #define ENABLE_H263P_ENCODER 0
    3) Configure Moonlight.

    Code:
     PKG_CONFIG_PATH=$PATH_TO_FFMPEG_SOURCE ./autogen.sh --enable-directfb --enable-ps --enable-pdf --enable-svg --enable-xcb --enable-glitz --enable-user-plugin  --with-ffmpeg=yes --with-alsa=yes --with-pulse-audio=no --with-managed=no --with-ff3=yes
    Where $PATH_TO_FFMPEG_SOURCE is the *absolute* path to your ffmpeg source from step 2.

    3b) If you try to build Moonlight at this point, you'll probably get a lot of errors due to missing components. You'll want to find each component and install the associated "library-dev" package. The only non-obvious one is that, to build a Firefox plugin, you need the xulrunner package.
    Code:
    sudo aptitude install xulrunner-1.9-dev
    If you feel lucky, and wanna try the same one's I did, try this code:
    Code:
    sudo aptitude install libxtst-dev libmagick++9-dev libasound2-dev xulrunner-1.9-dev libdbus-glib-1-dev librsvg2-2 librsvg2-dev libpoppler-glib-dev libdirectfb-dev libglitz-glx1-dev libglitz1-dev xcb xcb-proto ggcov libgtk2.0-dev  libglibmm-2.4-dev  libglibmm-utils-dev libglib2.0-dev
    4) Build Moonlight. If you're lucky, it'll compile without any more errors. The final plugin will be located at
    Code:
    moon/plugin/install/novell-moonlight.xpi
    Last edited by Filmorependrgn; November 25th, 2008 at 04:16 PM.

  2. #2
    Join Date
    Oct 2006
    Location
    /dev/null
    Beans
    1,574
    Distro
    Ubuntu 10.04 Lucid Lynx

    Re: Installing Moonlight (Silverlight) from SVN on Intrepid

    Why bother compiling your own FFmpeg? The existing lib in Intrepid is fine with 8/9 of the SL1.0 codecs, and the last one is rarely used

  3. #3
    Join Date
    Oct 2008
    Beans
    11

    Re: Installing Moonlight (Silverlight) from SVN on Intrepid

    Quote Originally Posted by directhex View Post
    Why bother compiling your own FFmpeg? The existing lib in Intrepid is fine with 8/9 of the SL1.0 codecs, and the last one is rarely used
    Mostly because I wanted to follow the install guide as closely as possible while trying to retain as much of Ubuntu's source as possible. Also, I couldn't quite figure out the proper procedure for using the existing libs.

  4. #4
    Join Date
    Apr 2005
    Beans
    14

    Re: Installing Moonlight (Silverlight) from SVN on Intrepid

    I was able to get Moonlight up and running in Firefox 3 in my Intrepid installation by compiling Moonlight from source, using the Ubuntu-recommended configure line you posted.

    I just installed the libavcodec-dev and libavutil-dev packages along with the existing ubuntu ffmpeg package, instead of compiling ffmpeg from source.

    Many sites don't seem to detect the presence of Moonlight, however (despite the plugin showing up in my Firefox Add-Ons list) and insist that I install Silverlight.

  5. #5
    Join Date
    Oct 2006
    Location
    /dev/null
    Beans
    1,574
    Distro
    Ubuntu 10.04 Lucid Lynx

    Re: Installing Moonlight (Silverlight) from SVN on Intrepid

    Quote Originally Posted by tharsan View Post
    I was able to get Moonlight up and running in Firefox 3 in my Intrepid installation by compiling Moonlight from source, using the Ubuntu-recommended configure line you posted.

    I just installed the libavcodec-dev and libavutil-dev packages along with the existing ubuntu ffmpeg package, instead of compiling ffmpeg from source.

    Many sites don't seem to detect the presence of Moonlight, however (despite the plugin showing up in my Firefox Add-Ons list) and insist that I install Silverlight.
    Right now, you're compiling a SL 1.0-only package (--with-managed=no). If a site has been moved to SL 2.0, you're not gonna get much joy from it - hence the "install silverlight" button

    SL 2.0 support only just had developers start work on it, SL 1.0 support is complete but being bugfixed

  6. #6
    Join Date
    Apr 2007
    Beans
    4

    Re: Installing Moonlight (Silverlight) from SVN on Intrepid

    Thank you for the post. I was able to build and install Silverlight 1.9 with some modifications of your instructions. I set me user agent up to report me as Firefox 3.0 on Windows Vista and went to Netflix. Signed up for their Silverlight Beta program and attempted to watch a video. Got a blank white screen surrounded by black.

    It didn't work, but I am excited. Another few months of development and I will be able to watch Netflix on Linux!

  7. #7
    Join Date
    Oct 2006
    Location
    /dev/null
    Beans
    1,574
    Distro
    Ubuntu 10.04 Lucid Lynx

    Re: Installing Moonlight (Silverlight) from SVN on Intrepid

    Quote Originally Posted by Obnesence View Post
    Thank you for the post. I was able to build and install Silverlight 1.9 with some modifications of your instructions. I set me user agent up to report me as Firefox 3.0 on Windows Vista and went to Netflix. Signed up for their Silverlight Beta program and attempted to watch a video. Got a blank white screen surrounded by black.

    It didn't work, but I am excited. Another few months of development and I will be able to watch Netflix on Linux!
    Very possibly, but I doubt you will with FFmpeg - NetFlix use the DRM functionality in SL 2.0. Moonlight will offer support for the DRM, but only via the closed-source Microsoft Media Pack codec addon. Which may offend on moral grounds (more than Moon does already)

  8. #8
    Join Date
    Apr 2007
    Beans
    4

    Re: Installing Moonlight (Silverlight) from SVN on Intrepid

    Quote Originally Posted by directhex View Post
    Very possibly, but I doubt you will with FFmpeg - NetFlix use the DRM functionality in SL 2.0. Moonlight will offer support for the DRM, but only via the closed-source Microsoft Media Pack codec addon. Which may offend on moral grounds (more than Moon does already)
    Yes, distasteful, I agree. I visited MS's Silverlight site and it prompted me to install their codecs. I did so. Some sites actually worked after I did that. Not Netflix though. All I got was a white rectangle surrounded by black.

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •