エントリー:
ビデオをアップロードするためのチューブスクリプトのインストールを共有しようとします。
彼らは独自のスクリプトを書くことではなく、サードパーティのソリューションを使用することにしました。
この事件は2010年に始まった。 次に、有料および無料の既存のソリューションを検討しました。
ここに、私が当時見えてい
た小さなリストがあります。 私はすべてを投稿できなかったと思います。
最後に、Kernel Tube Video Sharingに決めました。 製品は支払われます。 まだ検討していない場合は、少なくともその機能と機能を確認する必要があります(最初はアダルトコンテンツに焦点を当てているようです)。
いかなる場合でも、広告にカウントしないでください。 インストールにかかる費用は40ドルです。おそらく私の投稿はそれらを保存し、インストールに必要な時間をわずかに短縮するのに役立ちます。
現在、サーバーにKVSをインストールしているだけで、指示を共有することにしました。 インターネットでは、これを見たことはありません。
プロジェクトページ
-www.kernel-video-sharing.com/enデモサイト
-kvs-demo.comデモ管理者
-kvs-demo.com/adminインストールの機能
1. suexecモジュールmod_ruid2が使用されます-より安全に。 以前は、それなしですべてをセットアップしました。
2. KVSソースを含むパッケージがあります(バージョン1.5以降)-したがって、ionCubeローダーは使用しません。 開発者とこの点を確認してください。
Kernel Tube Video Sharing 2.4.3をUbuntu 12.04にインストールします
サーバー要件最小サーバー要件
- PHP 5.2以降
- Mysql 5.0以降およびPHPでのサポート
- libfaac、libx264、libavfilterをサポートするFFmpeg 0.8以上
- ヤムディ
- Qt-faststart
- Imagemagick
- CurlとPHPでのサポート
- Apache + mod_rewrite +(MultiViewsオプションを無効化)
- ionCubeローダー
- PerlおよびCGI 3.15以降(Nginxを使用する場合は不要)
- 非キリル文字のドメイン名
必要なPHP要件
- zlibライブラリ
- XML拡張
- True TypeフォントをサポートするGD2(必須!)
- exec()を使用してCLIからPHPを実行する機能
- PHP register_globals off
- PHP magic_quotes_gpc off
- PHP safe_mode off
- PHP file_uploads on
- PHP allow_url_fopen on
推奨オプション(非常に望ましい)
- MemcacheとPHPでのサポート
- Nginx + Apache(リバースプロキシ経由)+ NginxHttpUploadProgressModule
前提条件のインストール
Yamdi、Imagemagick
sudo apt-get install yamdi imagemagick
Memcache、MySQL、Apache、Php
sudo apt-get install memcached mysql-server-5.5 apache2 libapache2-mod-rpaf php5 php5-mysql php5-curl php5-cli php5-memcache php5-gd
ビルドツール
sudo apt-get install build-essential checkinstall subversion git unzip
Eximをインストールする
sudo apt-get install exim
Eximセットアップ
sudo dpkg-reconfigure exim4-config
Nginxのインストール
依存関係をインストールする
sudo apt-get install libssl-dev zlib1g-dev
Nginxソースをダウンロードする
cd /usr/local/src/ wget http://nginx.org/download/nginx-1.2.4.tar.gz tar -zxvf nginx-1.2.4.tar.gz cd nginx-1.2.4
追加モジュールをダウンロードする
mkdir modules
ビルド構成スクリプトを実行する
./configure \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/var/log/nginx/error.log \ --pid-path=/var/run/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --http-log-path=/var/log/nginx/access.log \ --http-client-body-temp-path=/var/lib/nginx/body \ --http-proxy-temp-path=/var/lib/nginx/proxy \ --http-fastcgi-temp-path=/var/lib/nginx/fastcgi \ --with-debug \ --with-http_stub_status_module \ --with-http_secure_link_module \ --with-http_gzip_static_module \ --with-http_realip_module \ --with-http_mp4_module \ --with-http_flv_module \ --with-http_ssl_module \ --with-http_dav_module \ --with-md5=/usr/lib \ --add-module=modules/nginx-upload-progress-module \ --add-module=modules/nginx_mod_h264_streaming-2.3.2
GCC-4.6でh264を構築するためのソリューション
日時:NGINX1.0.2 + H264ストリーミング-2.2.7 + Fedora 15 vi auto/cc/gcc
Nginxのアセンブリを開始します
make
debパッケージのアセンブリとインストールを開始します
checkinstall --pkgname=nginx --pkgversion "1.2.4-1.relase.`date +%Y%m%d`" --backup=no --install=yes --default
Nginxのユーザーを作成する
sudo useradd --shell /bin/false --no-create-home nginx
必要なシンボリックリンクとフォルダーを作成する
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx mkdir -p /var/lib/nginx/body mkdir /var/lib/nginx/proxy mkdir /var/lib/nginx/fastcgi chown -R nginx:root /var/lib/nginx/
初期化スクリプトをインストールする
vi /etc/init.d/nginx
DAEMON=/usr/local/nginx/sbin/nginx NGINX_CONF_FILE="/etc/nginx/nginx.conf"
ビデオコンポーネントをインストールする
依存関係をインストールする
x264をインストール既存のx264を削除する sudo apt-get remove x264 libx264-dev
x264ソースをダウンロードする cd /usr/local/src git clone git://git.videolan.org/x264.git x264_`date +"%Y%m%d"` cd x264_`date +"%Y%m%d"`
x264ビルド構成スクリプトを実行します ./configure --enable-static
アセンブリx264を開始します make
debパッケージx264のアセンブリとインストールを開始します sudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes --fstrans=no --install=yes --default
libvpxをインストールします既存のlibvpxを削除します sudo apt-get remove libvpx-dev
libvpxソースをダウンロードする cd /usr/local/src git clone http://git.chromium.org/webm/libvpx.git libvpx_`date +"%Y%m%d"` cd libvpx_`date +"%Y%m%d"`
libvpxビルド構成スクリプトを実行します ./configure
libvpxビルドを実行します make
debパッケージlibvpxのアセンブリとインストールを開始します sudo checkinstall --pkgname=libvpx --pkgversion="1:$(date +%Y%m%d%H%M)-git" --backup=no --install=yes --deldoc=yes --fstrans=no --default
ffmpegをインストールするffmpeg 0.8.xをインストールしたのは、上記のバージョンがプリセットをサポートせず、ビデオに透かしを適用するときに問題が発生したためです(ffmpegのパラメーターの構文は頻繁に変更されます)。 バージョン0.8.12では、すべて正常に動作します。
既存のffmpegを削除する sudo apt-get remove ffmpeg
ffmpegソースをダウンロードする cd /usr/local/src wget https://ffmpeg.org/releases/ffmpeg-0.8.12.tar.gz tar -zxvf ffmpeg-0.8.12.tar.gz cd ffmpeg-0.8.12
ffmpegビルド構成スクリプトを実行します ./configure \ --enable-gpl \ --enable-postproc \ --enable-pthreads \ --enable-swscale \ --disable-debug \ --enable-nonfree \ --enable-libopencore-amrnb \ --enable-libopencore-amrwb \ --enable-version3 \ --enable-libdc1394 \ --enable-libfaac \ --enable-libgsm \ --enable-libmp3lame \ --enable-libtheora \ --enable-libvorbis \ --enable-libx264 \ --enable-libxvid \ --enable-libvpx
アセンブリffmpegを開始します make
debパッケージffmpegのアセンブリとインストールを開始します sudo checkinstall --pkgname=ffmpeg --pkgversion="0.11.1-release-`date +%Y%m%d%H%M`" --backup=no --deldoc=yes --fstrans=no --install=yes --default
qt-faststartをインストールするffmpegソースフォルダーに移動します cd /usr/local/src cd ffmpeg-0.8.12
qt-faststart buildを実行します make tools/qt-faststart
debパッケージqt-faststartのアセンブリとインストールを開始します sudo checkinstall --pkgname=qt-faststart --pkgversion="$(date +%Y%m%d%H%M)-git" --backup=no --deldoc=yes --fstrans=no --default install -Dm755 tools/qt-faststart /usr/local/bin/qt-faststart
インストールされたビデオコンポーネントの確認 x264 ffmpeg ffplay ffprobe qt-faststart
Webサーバーのセットアップ
KVSサイトのユーザーを作成する useradd --shell /bin/false --no-create-home www-kvs
KVS Webサイトの作業ディレクトリを作成します mkdir /home/kvs/
Apacheを構成するApacheのリスニングポートを構成する vi /etc/apache2/ports.conf
NameVirtualHost *:8080 Listen 8080
Apacheモジュールをインストールする
Apacheモジュールを構成する
<IfModule rpaf_module> RPAFenable On RPAFsethostname On RPAFproxy_ips 192.168.1.2 127.0.0.1 RPAFheader X-Real-IP </IfModule>
<IfModule mod_ruid2.c> RMode config RDefaultUidGid www-data www-data RUidGid www-data www-data RGroups www-data </IfModule>
必要なApacheモジュールが含まれています a2enmod rpaf a2enmod ruid2 a2enmod rewrite
KVSログ用のフォルダーを作成する mkdir -p /var/log/www/kvs
ApacheでKVSのサイトを作成します vi /etc/apache2/sites-available/kvs.conf
<VirtualHost 127.0.0.1:8080> ServerAdmin admin@domain.com Servername video.domain.com ServerAlias tube.domain.com RMode config RUidGid www-kvs www-kvs RGroups www-kvs RewriteEngine on RewriteCond %{HTTP_HOST} ^tube.domain.com$ RewriteRule (.*) http://video.domain.com$1 [R=301,L] DocumentRoot /home/kvs/
作成したサイトをアクティブにします a2ensite kvs.conf a2dissite default
Apacheを再起動します service apache2 restart
PHPセットアップApacheのPHP設定の編集 vi /etc/php5/apache2/php.ini
register_globals = Off magic_quotes_gpc = off safe_mode = Off max_execution_time = 9999 allow_url_fopen = On file_uploads = On upload_tmp_dir = /tmp upload_max_filesize = 1024M post_max_size = 1024M memory_limit = 1024M session.gc_maxlifetime = 86400 sendmail_path = "/usr/sbin/sendmail -t -i"
PHP CLI設定の編集 vi /etc/php5/cli/php.ini
memory_limit = 1024M safe_mode = Off allow_url_fopen = On sendmail_path = "/usr/sbin/sendmail -t -i"
PHPロギングを設定します vi /etc/php5/apache2/php.ini
error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR display_errors = Off display_startup_errors = Off log_errors = On log_errors_max_len = 102400 error_log = /var/log/www/php.log
Apacheを再起動します service apache2 reload
Nginxを構成する動作するユーザー、nginxはwww-kvsグループに配置されます usermod -a -G www-kvs nginx
デフォルトのNginx設定を移動する mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bk
新しいNginx構成を作成する vi /etc/nginx/nginx.conf
user nginx; worker_processes 16; error_log /var/log/nginx/error.log info;
KVSの構成を作成する mkdir /etc/nginx/sites-available/ mkdir /etc/nginx/sites-enabled/ vi /etc/nginx/sites-available/kvs.conf
upload_progress proxied 1m; proxy_buffering off; server { listen 192.168.1.3:80; server_name video.domain.com *.video.domain.com tube.domain.com ; access_log /var/log/www/kvs/kvs-nginx-access.log; error_log /var/log/www/kvs/kvs-nginx-error.log; location / { index index.php; if (-f /etc/nginx/maintenance.file) { return 503; } proxy_pass http://127.0.0.1:8080/; proxy_redirect http://video.domain.com:8080/ /; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 1024m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 900; proxy_read_timeout 900; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; charset off; track_uploads proxied 30s; } location ~* ^.+\.(gif|jpg|png|mpg|mp3|mpeg|avi|ico|txt|css|js|html)$ {
作成したサイトをアクティブにします ln -s /etc/nginx/sites-available/kvs.conf /etc/nginx/sites-enabled/kvs.conf
KVS構成のテスト service nginx configtest
Nginxを起動します service nginx start
KVSをカスタマイズする
KVSコンテンツの解凍
unzip KVS_2.4.3_20120426.zip -d /home/kvs cd /home/kvs cat /home/kvs/_INSTALL/install_EN.txt
KVSのベースを作成する
mysql -uroot -p
CREATE DATABASE kvs CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER 'kvs'@'localhost' IDENTIFIED BY '*******'; GRANT ALL PRIVILEGES ON kvs.* TO 'kvs'@'localhost'; FLUSH PRIVILEGES; QUIT;
mysql -uroot -p kvs < _INSTALL/install_db.sql
KVS構成の編集
vi admin/include/setup_db.php
define('DB_HOST','localhost'); define('DB_LOGIN','kvs'); define('DB_PASS','*******'); define('DB_DEVICE','kvs');
vi admin/include/setup_db.php
設定については以下をご覧ください。
KVSファイルのアクセス許可を設定する
kvsroot=/home/kvs kvsuser=www-kvs kvsgroup=www-kvs
インストール後の設定
タスクをcronに追加
crontab -e -u www-kvs
*/1 * * * * cd /home/kvs/admin/include/ && /usr/bin/php cron.php > /dev/null 2>&1
admin / data / conversion / remote_cron.phpファイルのパスを確認してください
vi admin/data/conversion/remote_cron.php
$ffmpeg_path="/usr/local/bin/ffmpeg"; $yamdi_path="/usr/bin/yamdi"; $qtf_path="/usr/local/bin/qt-faststart"; $imagemagick_path="/usr/bin/convert";
デフォルトの管理者パスワードを変更する
サイトの管理部分に移動します。
video.domain.com/admin管理者:123
--> --> --> : ********** -->
変換サーバーを追加する
--> --> : 5 : :
ストレージサーバーを追加
--> --> (*): --> C
--> --> : URL : /home/kvs/contents/videos -->
すべてがKVSに正しくインストールおよび構成されているかどうかを確認します
--> --> * ( ) * * * * ( ) # * ( ) * -->
ビデオをアップロードし、正常に変換され、ウェブサイトで表示できることを確認します
--> -->
_INISTALLフォルダーを削除する
rm -rf _INSTALL
次は個人設定です
ビデオ形式、サイズ、透かし、タイムライン表示。 必要に応じて、これらすべてをカスタマイズできます。
ドックを読んで、自分用にカスタマイズしてください。
好きではなかったもの
1. html5のサポートはありません。現在、Yablokoと最新のAndroid向けのビデオの表示方法について考えています。
2.思い出として補充します...
おわりに
命令は大きくて少し疲れることがわかった。
Kernel Video Sharingを選択した場合に、この投稿がビデオストリーミングサービスを作成するときに役立つことを願っています。