-
Notifications
You must be signed in to change notification settings - Fork 975
Restream
Here's an improved version of your text, preserving the images:
Restreaming with AVideo
Restreaming is an advanced feature that enables users to simultaneously broadcast their video content across multiple platforms and social networks, such as Facebook, YouTube, Twitch, Mixer, LinkedIn, and even another AVideo platform.
Getting Started with Restream:
Before diving into the technicalities, ensure you have:
- Installed and set up the Live Plugin.
- Made a copy and configured the restreamer.json.php file.
- Properly set up your plugin parameters or configured the Live Server Parameters.
For users with streaming permission, they'll have access to a dedicated page to input restream information fetched from social media platforms.
Restreaming to RTMPS:
Platforms like Facebook often use the RTMPS protocol for streaming. To support this, FFMPEG must be compiled with OpenSSL, as it doesn't support RTMPS by default.
-
Dependencies Installation:
Begin by installing all necessary dependencies:
apt-get -y install build-essential autoconf automake cmake libtool git checkinstall nasm yasm libass-dev libfreetype6-dev libsdl2-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo wget zlib1g-dev libchromaprint-dev frei0r-plugins-dev ladspa-sdk libcaca-dev libcdio-paranoia-dev libcodec2-dev libfontconfig1-dev libfreetype6-dev libfribidi-dev libgme-dev libgsm1-dev libjack-dev libmodplug-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libopenjp2-7-dev libopenmpt-dev libopus-dev libpulse-dev librsvg2-dev librubberband-dev librtmp-dev libshine-dev libsmbclient-dev libsnappy-dev libsoxr-dev libspeex-dev libssh-dev libtesseract-dev libtheora-dev libtwolame-dev libv4l-dev libvo-amrwbenc-dev libvpx-dev libwavpack-dev libwebp-dev libx264-dev libx265-dev libxvidcore-dev libxml2-dev libzmq3-dev libzvbi-dev liblilv-dev libmysofa-dev libopenal-dev opencl-dev gnutls-dev libfdk-aac-dev libwebp-dev
-
Clone FFMPEG:
Navigate to your directory of choice and execute:
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg && cd ffmpeg
-
Compilation:
Use the following commands to configure and install:
./configure --enable-libwebp --disable-shared --enable-static --enable-pthreads --enable-gpl --enable-nonfree --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-filters --enable-openssl --enable-runtime-cpudetect --extra-version=patrickz make make install
Setting up restreamer.json.php:
Copy this file to any server equipped with FFMPEG. Ideally, place it on the same server running the live stream where FFMPEG has been compiled.
Key Configurations:
-
$streamerURL: Define your streaming site URL. It verifies the provided token, ensuring the legitimacy of the request.
-
$logFileLocation: Logs will be generated to diagnose any potential issues. You can specify the location of this log file.
-
$separateRestreams: This option determines whether to use separate or combined FFMPEG processes for each restream.
-
$ffmpegBinary: By default, Ubuntu uses the FFMPEG binary located at
/usr/bin/ffmpeg
. If you've compiled a newer version without overwriting the original, it's typically found at/usr/local/bin/ffmpeg
. Adjust this setting to choose the desired FFMPEG version for restreaming.
This revised content streamlines the process while preserving all vital information and the images you've provided. Adjustments are made for clarity, coherence, and reader engagement.