User Tools

Site Tools


build_ffmpeg_linux

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
build_ffmpeg_linux [2013/07/04 15:47]
zip [Build Procedure]
build_ffmpeg_linux [2017/02/12 15:56] (current)
cmd [Overview]
Line 2: Line 2:
  
 ====Overview==== ====Overview====
-This guide aims to provide the details on building the latest version of [[http://ffmpeg.org/|FFmpeg]] from source on Linux (as well as some other important dependencies) with the aim to provide the best support for Serviio; it is adapted from [[https://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide|this guide]] and assumes that [[http://en.wikipedia.org/wiki/Advanced_Packaging_Tool|APT]] is the package manager of choice. This can likely be adapted to build FFmpeg on Windows using [[http://www.cygwin.com/|Cygwin]] or [[http://www.mingw.org/|MinGW]].+This guide aims to [[http://www.mesincuci.co/harga-mesin-cuci-panasonic|Mesin Cuci Panasonic Terbaru]] provide the details on building the latest version of [[http://ffmpeg.org/|FFmpeg]] from source on Linux (as well as some other important dependencies) with the aim to provide the best support for Serviio; it is adapted from [[https://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide|this guide]] and assumes that [[http://en.wikipedia.org/wiki/Advanced_Packaging_Tool|APT]] is the package manager of choice. This can likely be adapted to build FFmpeg on Windows using [[http://www.cygwin.com/|Cygwin]] or [[http://www.mingw.org/|MinGW]].
  
  
Line 8: Line 8:
 2nd June 2013 2nd June 2013
 <code> <code>
-*Updated to cover x264 requirements in Serviio 1.3 (Not yet released at this point)+*Updated to cover x264 requirements in Serviio 1.3
 *Moved libvpx to optional section at the end *Moved libvpx to optional section at the end
 *Removed yasm from the initial apt-get install list seeing as its now built from source *Removed yasm from the initial apt-get install list seeing as its now built from source
Line 19: Line 19:
  
 ====Build Procedure==== ====Build Procedure====
 +The below process is written by Serviio users [[http://www.mesincuci.co/harga-mesin-cuci-toshiba-1-tabung-2017|Harga Toshiba 1 Tabung]]. It will replace all existing libraries and tools with the new ones.
  
-Note: The below process is written by Serviio users. You can also follow a [[http://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide|guide supplied by FFmpeg developers]] themselves.+You can also follow a [[http://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide|guide supplied by FFmpeg developers]] themselves, which will instead build ffmpeg in an isolated location. If you do this, you will need to use the ffmpeg.location [[http://www.serviio.org/component/content/article?id=21#q3|system property]] to tell Serviio which ffmpeg binary to use e.g. add <code>-Dffmpeg.location=/home/username/ffmpeg_sources/ffmpeg/ffmpeg</code> to bin/serviio.sh.
  
 ===Remove Existing Versions of Packages=== ===Remove Existing Versions of Packages===
 The first step to ensuring a good install of FFmpeg is to remove any exisiting installations of the libraries and utilities which will be built from source throughout this guide to ensure that there are no conflicts which can lead to problems which are difficult to diagnose: The first step to ensuring a good install of FFmpeg is to remove any exisiting installations of the libraries and utilities which will be built from source throughout this guide to ensure that there are no conflicts which can lead to problems which are difficult to diagnose:
 +
 +<note warning>On some Linux systems (i.e. Ubuntu), removing //librtmp0// will cause half the system to uninstall and do irreparable damage.  If you get asked to remove ~500MB of software when running the command above, remove //librtmp0// from the command above and re-run it.</note>
  
 <code> <code>
Line 29: Line 32:
 </code> </code>
  
-**NOTE:**  On some Linux systems (i.e. Ubuntu), removing //librtmp0// will cause half the system to uninstall.  If you get asked to remove ~500MB of software when running the command above, remove //librtmp0// from the command above and re-run it. 
  
 ===Install Essential Build Tools and Libraries=== ===Install Essential Build Tools and Libraries===
Line 43: Line 45:
  
 ===Yasm=== ===Yasm===
-Yasm is an assembler and is recommended for x264 and FFmpeg. Version 1.is required to build the latest x264 and FFmpeg sources.+Yasm is an assembler and is recommended for x264 and FFmpeg. Version 1.is required to build the latest x264 and FFmpeg sources.
  
 <code> <code>
Line 49: Line 51:
 mkdir src mkdir src
 cd src cd src
-wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz +wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz 
-tar xzvf yasm-1.2.0.tar.gz +tar xzvf yasm-1.3.0.tar.gz 
-cd yasm-1.2.0+cd yasm-1.3.0
 ./configure ./configure
 make make
-sudo checkinstall --pkgname=yasm --pkgversion="1.2.0" --backup=no \+sudo checkinstall --pkgname=yasm --pkgversion="1.3.0" --backup=no \
   --deldoc=yes --fstrans=no --default   --deldoc=yes --fstrans=no --default
 </code> </code>
Line 61: Line 63:
 [[http://www.videolan.org/developers/x264.html|x264]] is one of the most popular implementations of the [[http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC|H.264]] video compression algorithm which is used to compress video on blu-ray discs and is often the codec of choice for distributing high definition content on the internet. FFmpeg supports using the x264 library to compress video content. [[http://www.videolan.org/developers/x264.html|x264]] is one of the most popular implementations of the [[http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC|H.264]] video compression algorithm which is used to compress video on blu-ray discs and is often the codec of choice for distributing high definition content on the internet. FFmpeg supports using the x264 library to compress video content.
  
-x264 is not used prior to Serviio 1.3. In Serviio 1.3, it is required for streaming to iOS devices using MediaBrowser, and for the HLS profile option in ServiiGo.+x264 is required for streaming to iOS devices using MediaBrowser, and for the Enhanced profile option in ServiiGo.
  
 To acquire and build x264, perform the following: To acquire and build x264, perform the following:
  
 <code> <code>
-cd src+cd ~/src
 git clone git://git.videolan.org/x264 git clone git://git.videolan.org/x264
 cd x264 cd x264
Line 76: Line 78:
 </code> </code>
  
-**NOTE:** New version of x264 contains by default support of OpenCL. If not installed or without sense (example Ubuntu 12.04LTS on VMWare) add to configure additional option --disable-opencl. Without this option ffmpeg could not be configured (ERROR: libx264 not found).+**NOTE:** New version of x264 contains by default support of OpenCL. If not installed or without sense (example Ubuntu 12.04LTS on VMWare) add to configure additional option --disable-opencl.  
 + 
 +<code> 
 +./configure --disable-opencl 
 +</code> 
 +Without this option ffmpeg could not be configured (ERROR: libx264 not found).
  
 ===Build and Install librtmp=== ===Build and Install librtmp===
Line 93: Line 100:
 It is now time to build FFmpeg: It is now time to build FFmpeg:
  
-<note warning>This guide uses latest FFmpeg source, Serviio is tailored to work with a certain version though - the source can be downloaded at http://www.serviio.org/download</note>+<note warning>This guide uses latest FFmpeg source, Serviio is tailored to work with a certain version though - the source can be downloaded at http://www.serviio.org/download 
 +There have been a number of reports that you must use the version of FFmpeg source that is provided on the Serviio download page on Ubuntu if you want Http Live Streaming to work (required for MediaBrowser iOS and ServiiGo Enhanced profiles).</note>
  
 <code> <code>
 cd ~/src cd ~/src
 +</code>
 +
 +To use the lastest version of ffmpeg
 +<code>
 git clone --depth 1 git://git.videolan.org/ffmpeg git clone --depth 1 git://git.videolan.org/ffmpeg
 +</code>
 +
 +Else, to use the version that Serviio ships with
 +<code>
 +wget http://download.serviio.org/opensource/ffmpeg-2.4.x.tar.bz2
 +bzip2 -d ffmpeg-2.4.x.tar.bz2
 +tar xvf ffmpeg-2.4.x.tar
 +</code>
 +
 +Then
 +<code>
 cd ffmpeg cd ffmpeg
 ./configure --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb \ ./configure --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb \
Line 116: Line 139:
 <code> <code>
 cd ~/src cd ~/src
-git clone http://git.chromium.org/webm/libvpx.git+git clone https://chromium.googlesource.com/webm/libvpx
 cd libvpx cd libvpx
 ./configure ./configure
Line 129: Line 152:
 </code> </code>
 to the long ./configure command to the long ./configure command
- 
  
 ====Add Additional Support to x264 (Lavf)==== ====Add Additional Support to x264 (Lavf)====
Line 147: Line 169:
  
 ====Conclusion==== ====Conclusion====
-At this point, FFmpeg is installed and Serviio should now use the newly built version. Please visit the [[http://forum.serviio.org/|forum]] if you need assistance with this guide.+At this point, FFmpeg is installed and Serviio should now use the newly built version. Please visit the [[http://forum.serviio.org/|forum]] if you need [[http://www.mesincuci.co/cara-merawat-dan-membersihkan-mesin-cuci|Cara Membersihkan Mesin Cuci]] assistance with this guide. 
 + 
 +====Note==== 
 +If you receive error: 
 +**ffmpeg: error while loading shared libraries: librtmp.so.1: cannot open shared object file: No such file or directory** 
 + 
 +Then do as follows 
 + 
 +sudo nano /etc/ld.so.conf 
 + 
 +Add the following line to the file 
 + 
 +<code>include /usr/local/lib/</code> 
 + 
 +Save the file <ctrl>+x   y <enter> 
 + 
 +Now enter: sudo ldconfig 
 + 
 +Now reboot machine: sudo reboot 
  
 ~~NOTOC~~ ~~NOTOC~~
build_ffmpeg_linux.1372952857.txt.gz · Last modified: 2013/07/04 15:47 by zip