欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
CentOS6下基于Nginx搭建mp4/flv流媒體服務(wù)器(可隨意拖動(dòng))并支持RTMP/HLS協(xié)議(含轉碼工具)

1.先添加幾個(gè)RPM下載源

     1.1)安裝RPMforge的CentOS6源
     [root@AY130611215205Z ~]# wget -c http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
     [root@AY130611215205Z ~]# rpm –import http://apt.sw.be/RPM-GPG-KEY.dag.txt
     [root@AY130611215205Z ~]# rpm -i rpmforge-release-0.5.3-1.el6.rf.*.rpm    

     1.2)安裝epel源
     [root@AY130611215205Z ~]# wget -c http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
     [root@AY130611215205Z ~]# rpm -Uvf epel-release-6-8.noarch.rpm

     安裝完成,查看一下源列表,看到rpmforge和epel字樣即可
     [root@AY130611215205Z ~]# ls -lh /etc/yum.repos.d

2.安裝轉碼工具M(jìn)encoder及ffmpeg(約定:每個(gè)小點(diǎn)操作之前先回到用戶(hù)主目錄,即cd ~)

     2.1)安裝一些基礎包,不用擔心重復,已經(jīng)存在的會(huì )自動(dòng)忽略或升級
     [root@AY130611215205Z ~]# yum install gcc make automake bzip2 unzip patch subversion libjpeg-devel
     [root@AY130611215205Z ~]# wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
     [root@AY130611215205Z ~]# tar zxvf yasm-1.2.0.tar.gz
     [root@AY130611215205Z ~]# cd yasm-1.2.0
     [root@AY130611215205Z yasm-1.2.0]# ./configure
     [root@AY130611215205Z yasm-1.2.0]# make && make install
     [root@AY130611215205Z yasm-1.2.0]# cd ~
     
     2.2)卸載系統原有的ffmgeg和x.264,沒(méi)有則跳過(guò)
     [root@AY130611215205Z ~]# yum remove ffmpeg x264

     2.3)先安裝一些Mplayer編碼庫(僅限于64位系統)
     [root@AY130611215205Z ~]# wget -c http://www2.mplayerhq.hu/MPlayer/releases/codecs/essential-amd64-20071007.tar.bz2
     上面這一步可能在部分VPS上無(wú)法下載,比如我的阿里云VPS就提示連接失敗,但是可以用本機瀏覽器下載后上傳到VPS的/root根目錄去,然后繼續下面的操作
     [root@AY130611215205Z ~]# tar xvjf essential-amd64-20071007.tar.bz2
     [root@AY130611215205Z ~]# mkdir /usr/local/lib/codecs
     [root@AY130611215205Z ~]# cp -Rvp essential-amd64-20071007/* /usr/local/lib/codecs/

     編輯下面文件
     [root@AY130611215205Z ~]# vim /etc/ld.so.conf
     添加以下兩行到上面的文件里
     /usr/lib 
     /usr/local/lib
     
     2.4)再安裝一些格式轉換常用的編碼庫
     [root@AY130611215205Z ~]# yum install faac-devel  lame-devel amrnb-devel opencore-amr-devel amrwb-devel  libvorbis-devel libtheora-devel xvidcore-devel
     
     2.5)安裝x.264
     [root@AY130611215205Z ~]# wgetftp://ftp.videolan.org/pub/videolan/x264/snapshots/last_stable_x264.tar.bz2
     [root@AY130611215205Z ~]# tar xvjf last_stable_x264.tar.bz2
     [root@AY130611215205Z ~]# cd x264-snapshot-20140219-2245-stable/     (這可能日期有區別,自己ls一下)
     [root@AY130611215205Z x264-snapshot-20140219-2245-stable]# ./configure –enable-shared –enable-pic
     [root@AY130611215205Z x264-snapshot-20140219-2245-stable]# make && make install
     [root@AY130611215205Z x264-snapshot-20140219-2245-stable]#  cd ~

     2.6)安裝libvpx
     [root@AY130611215205Z ~]# wget http://webm.googlecode.com/files/libvpx-v1.2.0.tar.bz2
     [root@AY130611215205Z ~]# tar xvjf libvpx-v1.2.0.tar.bz2
     [root@AY130611215205Z ~]# cd libvpx-v1.2.0
     [root@AY130611215205Z libvpx-v1.2.0]# ./configure –enable-shared –enable-pic
     [root@AY130611215205Z libvpx-v1.2.0]# make && make install
     [root@AY130611215205Z libvpx-v1.2.0]# cd ~

     2.7)安裝FFmpeg
     [root@AY130611215205Z ~]# wget http://ffmpeg.org/releases/ffmpeg-2.0.1.tar.bz2
     [root@AY130611215205Z ~]# tar xvjf ffmpeg-2.0.1.tar.bz2
     [root@AY130611215205Z ~]# cd ffmpeg-2.0.1
     [root@AY130611215205Z ffmpeg-2.0.1]# ./configure –enable-gpl –enable-version3 –enable-shared –enable-nonfree –enable-postproc –enable-libfaac –enable-libmp3lame –enable-libopencore-amrnb –enable-libopencore-amrwb –enable-libtheora –enable-libvorbis –enable-libvpx –enable-libx264 –enable-libxvid
     [root@AY130611215205Z ffmpeg-2.0.1]# make && make install
     [root@AY130611215205Z ffmpeg-2.0.1]# cd ~
     
     讓動(dòng)態(tài)鏈接庫被系統共享
     [root@AY130611215205Z ~]# ldconfig

     2.8)最后安裝mencoder
     [root@AY130611215205Z ~]# yum install mplayer mencoder flvtool2

     查看一下已經(jīng)安裝好的音頻和視頻編碼器
     查看所有所支持的音頻編碼
     [root@AY130611215205Z ~]# mencoder -oac help
     查看所有所支持的視頻編碼
     [root@AY130611215205Z ~]# mencoder -ovc help
     具體結果可參考http://www.mplayerhq.hu/DOCS/HTML/zh_CN/menc-feat-selecting-codec.html

3.安裝配置Nginx
     
     3.1)先安裝各種依賴(lài)(nginx需要pcre支持,yamdi用來(lái)為flv創(chuàng )建關(guān)鍵幀才能隨意拖動(dòng))
     [root@AY130611215205Z ffmpeg-2.0.1]# yum install gcc gcc-c++ openssl-devel zlib-devel pcre pcre-devel yamdi
     
     3.2)下載所需的nginx模塊
     第一個(gè)是nginx_mod_h264_streaming,讓nginx支持flv/mp4流播放
     [root@AY130611215205Z ~]# wget http://h264.code-shop.com/download/nginx_mod_h264_streaming-2.2.7.tar.gz
     [root@AY130611215205Z ~]# tar zxvf nginx_mod_h264_streaming-2.2.7.tar.gz
     注意:先要修改一下這家伙的源碼,注釋掉nginx_mod_h264_streaming-2.2.7/src/ngx_http_streaming_module.c的158到161行
     /* TODO: Win32 */
     //if (r->zero_in_uri)
     // {
     //   return NGX_DECLINED;
     // }

     第二個(gè)是nginx-rtmp-module,讓nginx支持rtmp/hls協(xié)議
     [root@AY130611215205Z ~]# wget -O nginx-rtmp-module.zip  https://github.com/arut/nginx-rtmp-module/archive/master.zip
     [root@AY130611215205Z ~]# unzip nginx-rtmp-module.zip
     下載清緩存的模塊
     [root@AY130611215205Z ~]# wget -O ngx_cache_purge.ziphttps://github.com/FRiCKLE/ngx_cache_purge/archive/master.zip
     [root@AY130611215205Z ~]# unzip ngx_cache_purge.zip
     
     3.3)下載安裝nginx
     [root@AY130611215205Z ~]# wget http://nginx.org/download/nginx-1.2.9.tar.gz
     [root@AY130611215205Z ~]# tar zxvf nginx-1.2.9.tar.gz
     [root@AY130611215205Z ~]# cd nginx-1.2.9
     [root@AY130611215205Z nginx-1.2.9]# ./configure –user=daemon –group=daemon –prefix=/usr/local/nginx/ –add-module=../nginx-rtmp-module-master –add-module=../ngx_cache_purge-master –add-module=../nginx_mod_h264_streaming-2.2.7 –with-http_stub_status_module –with-http_ssl_module –with-http_sub_module –with-http_gzip_static_module –with-http_flv_module
     [root@AY130611215205Z nginx-1.2.9]# make && make install
     PS:若提示make[1]: *** [objs/addon/src/ngx_http_h264_streaming_module.o] Error 1,請參考3.3.2小節的注意點(diǎn),然后重新運行./configure這一段 
     
     /**———以下是安裝了Tengine后重新編譯的代碼,模塊的路徑自己對一下———**//
./configure –user=www –group=www –prefix=/usr/local/tengine/ –add-module=../../../nginx-rtmp-module-master –add-module=../../../ngx_cache_purge-master –add-module=../../../nginx_mod_h264_streaming-2.2.7 –with-http_stub_status_module –with-http_ssl_module –with-http_sub_module –with-http_gzip_static_module –with-http_flv_module –with-http_concat_module=shared –with-http_sysguard_module=shared –with-google_perftools_module –with-http_image_filter_module
     
     運行一下nginx
     [root@AY130611215205Z ~]# /usr/local/nginx/sbin/nginx
     然后用瀏覽器你的服務(wù)器IP,看到welcome就對了
     或者到nginx的sbin目錄下,運行一下nginx -V,看看列表出來(lái)的modules對不對

     3.4)各種配置nginx
     編輯/usr/local/nginx/conf/nginx.conf文件,最好用sftp軟件(如windows下的flashfxp/Mac下的tramnsmit)下載過(guò)來(lái)本地編輯。
     貼一下我的配置文件:(目錄需要自己改動(dòng),我用的是阿里云的數據盤(pán),所以到/mnt/里面去了)
     ———————————————————————nginx配置文件—————————————————
    #filename:nginx.conf
    #user  nobody;
    worker_processes  1;

    error_log  logs/error.log;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;

    pid        logs/nginx.pid;

    events {
        use epoll;
        worker_connections  1024;
    }

    rtmp {
        server {
            listen 1935;
            chunk_size 4000;

            # video on demand
            application vod {
                play /mnt/media/vod;
            }

            # HLS
            # HLS requires libavformat & should be configured as a separate
            # NGINX module in addition to nginx-rtmp-module:
            # ./configure … –add-module=/path/to/nginx-rtmp-module/hls …
            # For HLS to work please create a directory in tmpfs (/tmp/app here)
            # for the fragments. The directory contents is served via HTTP (see
            # http{} section in config)
            #
            # Incoming stream must be in H264/AAC/MP3. For iPhones use baseline H264
            # profile (see ffmpeg example).
            # This example creates RTMP stream from movie ready for HLS:
            #
            # ffmpeg -loglevel verbose -re -i movie.avi  -vcodec libx264
            #    -vprofile baseline -acodec libmp3lame -ar 44100 -ac 1
            #    -f flv rtmp://localhost:1935/hls/movie
            #
            # If you need to transcode live stream use ‘exec’ feature.
            #
            application hls {
                hls on;
                hls_path /mnt/media/app;
                hls_fragment 10s;
            }
        }
    }

    http {

        include mime.types;
        default_type application/octet-stream;
        sendfile on;
        keepalive_timeout 65;
        gzip on;
        
         #log format

        log_format  access  ‘$remote_addr – $remote_user [$time_local] “$request” ‘
                 ‘$status $body_bytes_sent “$http_referer” ‘
                 ‘”$http_user_agent” $http_x_forwarded_for’;    
        
         #定義一個(gè)名為addr的limit_zone,大小10M內存來(lái)存儲session
        limit_conn_zone $binary_remote_addr zone=addr:10m;     

        server {
            listen 8080;
             server_name localhost;

             # HTTP can be used for accessing RTMP stats
            # This URL provides RTMP statistics in XML
            location /stat {
                rtmp_stat all;
                rtmp_stat_stylesheet stat.xsl;
            }
            location /stat.xsl {
                root /mnt/soft/nginx-rtmp-module-master;
            }
             location /control {
                rtmp_control all;
            }
            location / {
                root /mnt/soft/nginx-rtmp-module-master/test/rtmp-publisher;
            }
        }
        
         server {
            listen 80;
             server_name localhost;
             
            location / {
                    root /mnt/wwwroot;
                    index index.html;
                  }         

             location ~ \.flv$ {
                   root /mnt/media/vod;
                 flv;
                 limit_conn addr 20;
                 limit_rate 200k;
            }
            location ~ \.mp4$ {
                 root /mnt/media/vod;
                 mp4;
                 limit_conn addr 20;
                 limit_rate 200k;
            }

             location /hls {
                # Serve HLS fragments
                alias /mnt/media/app;
            }

             access_log  logs/nginxflv_access.log access;
        }
        
           
    }
     ——————————————————nginx配置文件——————————————
     
4.把自己的電影轉換成mp4和flv格式來(lái)測試nginx搭的環(huán)境

     4.1)準備兩部電影,硬盤(pán)上隨便找,我找了“諜影重重A.mp4”和“鹿鼎記033.rmvb”,盡量找小一點(diǎn)十來(lái)分鐘的,等下我們還要看完測試一下轉換的結果有沒(méi)有音影不同步的情況。
     我把兩部電影重命名為 movie1.mp4和 movie2.rmvb,并上傳到服務(wù)器/mnt/media/video下面,這里目錄用來(lái)存放我們的原始視頻。還有一個(gè)目錄是/mnt/media/vod 用來(lái)存放轉換后的視頻。
     我這里的具體目錄結構為:
     /mnt/media/video -> 存放原始視頻
     /mnt/media/app  -> 存放轉成m3u8的視頻,供http訪(fǎng)問(wèn)(HLS)
     /mnt/media/vod  -> 存放轉換后的flv和mp4視頻,供http或rtmp訪(fǎng)問(wèn)

     4.2)用ffmpeg轉換mp4文件(ffmpeg不支持rmvb)
     [root@AY130611215205Z ~]# cd /mnt/media/video/
     [root@AY130611215205Z video]# ffmpeg -i movie1.mp4 -y -vcodec libx264 -vf scale=”640:-1″ -r 15 -acodec libfaac ../vod/movie1.flv
     -y:文件覆蓋,-vf scale=”640:-1”:尺寸調整為寬度640高度自動(dòng),-r 15:幀數15fps,這里用libfaac音頻編碼防止轉成ts格式時(shí)iPhone沒(méi)有聲音
     
     添加關(guān)鍵幀用來(lái)支持拖動(dòng)播放
     [root@AY130611215205Z video]# cd ../vod
     [root@AY130611215205Z vod]# mv movie1.flv movie1-src.flv
     [root@AY130611215205Z vod]# yamdi -i movie1-src.flv -o movie1.flv
     [root@AY130611215205Z vod]# rm -rf movie1-src.flv

     接下來(lái)測試的話(huà),下載VLC Player到本地測試(VLC有時(shí)候會(huì )花屏,用JWPlayer就好了),或者不行麻煩的話(huà)裝一個(gè)apache服務(wù)器并下載JWPlayer來(lái)測試。
     測試播放地址為(地址已失效,請勿訪(fǎng)問(wèn))
     HTTP形式訪(fǎng)問(wèn):      http://121.199.47.208/movie1.flv
     RTMP形式訪(fǎng)問(wèn):      rtmp://121.199.47.208/vod/movie1.flv

     4.3)用mencoder轉換rmvb文件
     
     4.4)把flv轉換成hls的m3u8
     下載安裝segmenter
     [root@AY130611215205Z ~]# yum install -y curl curl-devel zlib-devel openssl-devel perl perl-devel cpio expat-devel gettext-devel git
     [root@AY130611215205Z ~]# git clone https://github.com/johnf/m3u8-segmenter.git
     [root@AY130611215205Z ~]# cd m3u8-segmenter/
     [root@AY130611215205Z m3u8-segmenter]# gcc -Wall -g m3u8-segmenter.c -o segmenter -lavformat
     [root@AY130611215205Z m3u8-segmenter]# cp segmenter /usr/bin/
     
     轉換成ts,片源大小及清晰度等取決于flv文件,所以轉成flv的時(shí)候一定要統一起來(lái)
     [root@AY130611215205Z vod]# cd /mnt/media/vod
     [root@AY130611215205Z vod]# mkdir /mnt/media/app/movie1/
     [root@AY130611215205Z vod]# ffmpeg -y -i movie1.flv -f mpegts -c:v copy -c:a copy -vbsf h264_mp4toannexb /mnt/media/app/movie1/main.ts
     
     切片
     [root@AY130611215205Z movie1]# cd /mnt/media/app/movie1/
     [root@AY130611215205Z movie1]# segmenter -i main.ts -d 10 -p movie1 -m movie1.m3u8 -u http://121.199.47.208/hls/movie1/
     -d 10:每個(gè)切片為10秒,-p movie1:切片的名字的前綴
     -u URL地址:m3u8中播放列表的地址前綴,自己cat一下生成的movie1.m3u8就知道什么用 了
     

     測試一下,用iPhone的Safari訪(fǎng)問(wèn)一下http://121.199.47.208/hls/movie1/movie1.m3u8

     注:安裝日志記錄于半年前的evernote,現在才貼出來(lái)的,所以文中的視頻訪(fǎng)問(wèn)地址都已經(jīng)失效了。


本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
??禂z像頭開(kāi)發(fā)SRS+ffmpeg+http
支持轉碼[流媒體]通讀SRS后的總結文檔以及搭建直播平臺的初次嘗試
H5直播起航
音視頻開(kāi)發(fā)——通信直播協(xié)議和視頻推流丨RTMP-RTSP
視頻直播點(diǎn)播nginx
基于Nginx搭建RTMP/HLS視頻直播服務(wù)器
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久