{"id":8,"date":"2014-08-13T08:16:00","date_gmt":"2014-08-12T22:16:00","guid":{"rendered":"https:\/\/www.serenux.com\/?p=8"},"modified":"2021-01-11T09:11:34","modified_gmt":"2021-01-10T23:11:34","slug":"howto-install-flumotion-streaming-server-on-ubuntu-14-04","status":"publish","type":"post","link":"https:\/\/www.serenux.com\/index.php\/2014\/08\/13\/howto-install-flumotion-streaming-server-on-ubuntu-14-04\/","title":{"rendered":"HowTo: Install Flumotion Streaming Server on Ubuntu 14.04"},"content":{"rendered":"\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/web.archive.org\/web\/20150206051556im_\/http:\/\/www.serenux.com\/wp-content\/uploads\/2014\/08\/FlumotionLogo_Big.png\" alt=\"Flumotion Logo\"\/><\/figure><\/div>\n\n\n\n<p><em>EDIT: Flumotion is no longer suitable for modern Ubuntu distros such as Ubuntu 18.04 or 20.04 onwards. Use MistServer instead.<\/em><\/p>\n\n\n\n<p>Flumotion Streaming Server is a great open-source application that is available in the Ubuntu repositories that can easily allow you to broadcast a live stream from a video camera, or broadcast pre-recorded media. The end-user can view this media in any capable HTML5 web browser such as Google Chrome.<\/p>\n\n\n\n<p>Unfortunately Flumotion (version 0.10.0-1 at the time of writing) relies on some deprecated Twisted Python network functions&nbsp;that prevent the software from working properly on&nbsp;any release of Ubuntu from 13.04 and upwards.<\/p>\n\n\n\n<p>The obvious solution is to simply install Flumotion under Ubuntu 12.04 but then you will find that Flumotion in the 12.04&nbsp;repository is buggy and out of date anyway, requiring you to update Flumotion from the official developer PPA to the stable release that is already in Ubuntu 14.04.<\/p>\n\n\n\n<p>There is a way to get Flumotion working properly under Ubuntu 14.04 however, without too much fuss. Essentially all you need to do is downgrade the three affected Twisted&nbsp;Python packages down to 11.1.0, which is the version from Ubuntu 12.04.<\/p>\n\n\n\n<p>Here\u2019s how you do it.<\/p>\n\n\n\n<p><em>WARNING:&nbsp;Ubuntu has a high reliance on Python. By downgrading to an older release, you run the risk of other parts of Ubuntu that rely on Python either breaking or behaving unusually.<\/em><\/p>\n\n\n\n<p><em>So far I have only found the Flumotion Assistant UI to suffer some minor issues with rendering text fields, preventing you from adding values for things like framerate which will upset Flumotion because that data is missing, but you should be able to get around it by generating the XML configuration elsewhere (I will update this article in due course once I\u2019ve done more testing).<\/em><\/p>\n\n\n\n<p><em>I would recommend that you dedicate a PC to be used as your Flumotion server so you don\u2019t have to install other applications or regularly have to perform updates.<\/em><\/p>\n\n\n\n<p><em>Please also be aware that the next time you perform a package update, Python is likely to be upgraded to the current release automatically again, but you can follow these instructions from Step 3 to downgrade Python again afterwards.<\/em><\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>First up, install Flumotion as normal:<br><br><code>$ sudo apt-get install flumotion<\/code><br><\/li><li>Once it is installed, we now need to download three Python packages from Ubuntu 12.04 that we are going to downgrade to:<br><br><code>$ wget -c http:\/\/au.archive.ubuntu.com\/ubuntu\/pool\/main\/t\/twisted\/python-twisted-bin_11.1.0-1ubuntu2_amd64.deb<br>$ wget -c http:\/\/au.archive.ubuntu.com\/ubuntu\/pool\/main\/t\/twisted\/python-twisted-core_11.1.0-1ubuntu2_all.deb<br>$ wget -c http:\/\/au.archive.ubuntu.com\/ubuntu\/pool\/main\/t\/twisted-web\/python-twisted-web_11.1.0-1_all.deb<\/code><br><br>(Note: If you are using 32-bit Ubuntu, change \u201camd64\u2033 to \u201ci386\u2033 for the \u201cpython-twisted-bin\u201d download)<br><\/li><li>Now we need to uninstall the newer version of Python components that is currently installed without uninstalling the applications that rely on it (basically we\u2019re going to force the system to break its dependencies):<br><br><code>$ sudo dpkg -r --force-all&nbsp;python-twisted-bin python-twisted-core python-twisted-web<\/code><br><\/li><li>Now let\u2019s install our replacement downloaded packages:<br><br><code>$ sudo dpkg -i *.deb<\/code><br><\/li><li>Finally, let\u2019s restart Flumotion:<br><br><code>$ sudo service flumotion restart<\/code><\/li><\/ol>\n\n\n\n<p>That\u2019s basically it. You can now start the Flumotion Administration interface and this time the&nbsp;Manager and Workers will all start without an issue this time (login with the default username and password of \u201cuser\u201d and \u201ctest\u201d respectively).<\/p>\n\n\n\n<p>As before, remember that installing future system updates&nbsp;to the system will automatically upgrade the three Python packages we just changed to their current releases which will break Flumotion, so just go back to step 3 to undo that and reinstall the older packages.<\/p>\n\n\n\n<p>This issue will be resolved once Flumotion is updated to no longer use the deprecated network-related functions in Twisted Python.<\/p>\n\n\n\n<p>Pat yourself on the back. Job done.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>EDIT: Flumotion is no longer suitable for modern Ubuntu distros such as Ubuntu 18.04 or 20.04 onwards. Use MistServer instead. Flumotion Streaming Server is a great open-source application that is available in the Ubuntu repositories that can easily allow you to broadcast a live stream from a video camera, or broadcast pre-recorded media. The end-user [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-8","post","type-post","status-publish","format-standard","hentry","category-tutorials"],"_links":{"self":[{"href":"https:\/\/www.serenux.com\/index.php\/wp-json\/wp\/v2\/posts\/8","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.serenux.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.serenux.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.serenux.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.serenux.com\/index.php\/wp-json\/wp\/v2\/comments?post=8"}],"version-history":[{"count":2,"href":"https:\/\/www.serenux.com\/index.php\/wp-json\/wp\/v2\/posts\/8\/revisions"}],"predecessor-version":[{"id":12,"href":"https:\/\/www.serenux.com\/index.php\/wp-json\/wp\/v2\/posts\/8\/revisions\/12"}],"wp:attachment":[{"href":"https:\/\/www.serenux.com\/index.php\/wp-json\/wp\/v2\/media?parent=8"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.serenux.com\/index.php\/wp-json\/wp\/v2\/categories?post=8"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.serenux.com\/index.php\/wp-json\/wp\/v2\/tags?post=8"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}