XWikiTube Application
Application to upload, encode and play videos |
Type | XAR |
Category | Application |
Developed by | |
Active Installs | 23 |
Rating | |
License | GNU Lesser General Public License 2.1 |
Table of contents
Description
Application to upload, encode and play videos.
The objective of the XWikiTube Application is to upload videos and transcode them in order to play them using Dynamic Adaptive Streaming over HTTP (DASH) technique.
It works by detecting a user's bandwidth and CPU capacity in real time and adjusting the quality of a video stream accordingly.
You can find more information about uploading, encoding and playing processes.
XWikitube uses the FFmpeg library to encode videos.
Using
To upload a new video or show created video go to the XWikiTube application main page (XWikiTube.WebHome).
XWikiTube main page
Upload and play a new video
- To upload a new video just click on the <Add new entry> button in the top of the XWikiTube application main page.
- Enter the video information: Title, category and description.
- Click <Save and View> button.
- You will be redirected to the view page of the new video.
- If a video has not been yet uploaded then you will have the possibility to upload a video via the <Select video> input.
Upload a new video
Uploading progress
- Once the uploading process is completed click on the Encode button to start encoding the video.
- You will see the progress on each step of the encoding process.
Encode a video
Encoding progress
- Once the encoding process is completed click on the <View the video> link to view the view.
Encoding completed, view the video
- The view page of the uploaded video will be organized into 2 tabs.
- The first tab will show a DASH player that will allow you to play the video.
- The second tab will contain infromation and video streams generated during encoding process.
- XWikiTube allows you to integrate your video wherever you want in the wiki.
Play a video
Prerequisites & Installation Instructions
We recommend using the Extension Manager to install this extension (Make sure that the text "Installable with the Extension Manager" is displayed at the top right location on this page to know if this extension can be installed with the Extension Manager). Note that installing Extensions when being offline is currently not supported and you'd need to use some complex manual method.
You can also use the following manual method, which is useful if this extension cannot be installed with the Extension Manager or if you're using an old version of XWiki that doesn't have the Extension Manager:
- Log in the wiki with a user having Administration rights
- Go to the Administration page and select the Import category
- Follow the on-screen instructions to upload the downloaded XAR
- Click on the uploaded XAR and follow the instructions
- You'll also need to install all dependent Extensions that are not already installed in your wiki
Install FFmpeg
Install from sources
Copy and paste the whole code box for each step.
Get the build dependencies
sudo apt-get -y --force-yes install autoconf automake build-essential libass-dev libfreetype6-dev \
libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev \
libxcb-xfixes0-dev pkg-config texinfo zlib1g-dev yasm
Get the video encoders which are available on debian
Build the rest
Now make a directory for the source files that will be downloaded later in this guide:
Compilation & Installation
wget -O fdk-aac.tar.gz https://github.com/mstorsjo/fdk-aac/tarball/master
tar xzvf fdk-aac.tar.gz
cd mstorsjo-fdk-aac*
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
make distclean
wget http://storage.googleapis.com/downloads.webmproject.org/releases/webm/libvpx-1.4.0.tar.bz2
tar xjvf libvpx-1.4.0.tar.bz2
cd libvpx-1.4.0
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests
PATH="$HOME/bin:$PATH" make
make install
make clean
wget http://ffmpeg.org/releases/ffmpeg-2.7.2.tar.bz2
tar xjvf ffmpeg-*.tar.bz2
cd ffmpeg*
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
--prefix="$HOME/ffmpeg_build" \
--pkg-config-flags="--static" \
--extra-cflags="-I$HOME/ffmpeg_build/include" \
--extra-ldflags="-L$HOME/ffmpeg_build/lib" \
--bindir="$HOME/bin" \
--enable-gpl \
--enable-libass \
--enable-libfdk-aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libtheora \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-nonfree
PATH="$HOME/bin:$PATH" make
make install
make distclean
sudo cp ~/bin/ff* /usr/local/bin/
hash -r
Install on mac
Dependencies
Dependencies for this extension (org.xwiki.contrib:application-xwikitube 1.5.1):
- org.webjars.bower:bootstrap-filestyle 1.2.1
- org.xwiki.contrib:api-commandrunner 1.2
- org.xwiki.contrib:macro-video 1.11