日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于nginx-rtmp实现电视回看业务

發(fā)布時(shí)間:2024/2/28 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于nginx-rtmp实现电视回看业务 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
  • 阿里云??>??教程中心???>??android教程??>??基于nginx-rtmp實(shí)現(xiàn)電視回看業(yè)務(wù)??
  • 基于nginx-rtmp實(shí)現(xiàn)電視回看業(yè)務(wù)
  • 發(fā)布時(shí)間:2018-01-18 來源:網(wǎng)絡(luò) 上傳者:用戶

    關(guān)鍵字:?基于?實(shí)現(xiàn)?業(yè)務(wù)?電視?nginx?rtmp

    發(fā)表文章
  • 摘要:軟硬件環(huán)境ubuntu16.0464bitAndroidStudio2.2.3OTTBOxwithandroid5.1.1nginx1.11.3nginx-rtmp-module簡介電視回看是數(shù)字電視領(lǐng)域的另一項(xiàng)基礎(chǔ)功能,它能提供一定時(shí)長的電視回放,可以實(shí)現(xiàn)像點(diǎn)播業(yè)務(wù)中的暫停,快進(jìn),快退等功能,一般的運(yùn)營商都會(huì)提供回看的服務(wù).本文講述如何基于nginx-rtmp來實(shí)現(xiàn)電視回看.原理電視回看的核心是節(jié)目的錄制.你可以選擇與直播同步錄制或者指定時(shí)間段錄制,錄制結(jié)束后生成節(jié)目資源的

  • 軟硬件環(huán)境?
    ubuntu 16.04 64bit?
    Android Studio 2.2.3?
    OTT BOx with android 5.1.1?
    nginx 1.11.3?
    nginx-rtmp-module?
    簡介?

    電視回看是數(shù)字電視領(lǐng)域的另一項(xiàng)基礎(chǔ)功能,它能提供一定時(shí)長的電視回放,可以實(shí)現(xiàn)像點(diǎn)播業(yè)務(wù)中的暫停,快進(jìn),快退等功能,一般的運(yùn)營商都會(huì)提供回看的服務(wù).本文講述如何基于nginx-rtmp來實(shí)現(xiàn)電視回看.


    原理?

    電視回看的核心是節(jié)目的錄制.你可以選擇與直播同步錄制或者指定時(shí)間段錄制,錄制結(jié)束后生成節(jié)目資源的播放url,客戶端拿到url進(jìn)行播放,播放的過程和點(diǎn)播一樣.


    實(shí)踐?
    nginx-rtmp配置文件?

    先來看看配置文件nginx.conf


    #user nobody;?
    worker_processes auto;?
    rtmp_auto_push on;?
    error_log logs/error.log debug;?
    #error_log logs/error.log notice;?
    #error_log logs/error.log info;?
    events {?
    worker_connections 1024;?
    }?
    rtmp {?
    server {?
    listen 1935;?
    chunk_size 4000;?
    # HLS?
    application hls {?
    live on;?
    hls on;?
    hls_path /opt/www/live;?
    hls_continuous on;?
    hls_sync 100ms;?
    hls_nested on;?
    wait_key on;?
    hls_playlist_length 5m;?
    hls_cleanup on;?
    hls_fragment 10s;?
    # hls_keys on;?
    # hls_key_path /opt/www/keys;?
    # hls_key_url http://10.10.10.79:8081/keys;?
    # hls_fragments_per_key 10;?
    recorder all {?
    record all manual;?
    record_suffix -%Y-%m-%d-%H_%M_%S.flv;?
    record_unique on;?
    record_path /opt/www/record;?
    }?
    }?
    }?
    }?
    # http?
    http {?
    server {?
    listen 8081;?
    location / {?
    root /opt/www/;?
    }?
    # This URL provides RTMP statistics in XML?
    location /stat {?
    rtmp_stat all;?
    rtmp_stat_stylesheet stat.xsl;?
    }?
    location /stat.xsl {?
    root /home/djstava/Workshop/Web/nginx-rtmp-module/;?
    }?
    location /control {?
    rtmp_control all;?
    }?
    location /hls {?
    types {?
    application/vnd.apple.mpegurl m3u8;?
    video/mp2t ts;?
    }?
    root /opt/www/;?
    add_header Cache-Control no-cache;?
    }?
    location /dash {?
    root /opt/www/;?
    add_header Cache-Control no-cache;?
    }?
    }?
    }?

    主要關(guān)注下rtmp標(biāo)簽下的recorder和http標(biāo)簽下的control,錄制的節(jié)目保存在/opt/www/record,/opt/www是nginx的根目錄,便于http播放.


    直播模擬?

    利用ffmpeg推送本地文件到服務(wù)器模擬直播


    ffmpeg -re -i test.mp4 -vcodec copy -acodec copy -y -f flv rtmp://10.10.10.52/hls/live?
    節(jié)目錄制?

    開始錄制


    curl "http://10.10.10.52:8081/control/record/start?app=hls&;name=live&;rec=all"?

    結(jié)束錄制


    curl "http://10.10.10.52:8081/control/record/stop?app=hls&;name=live&;rec=all"?

    錄制完成后會(huì)在/opt/www/record目錄下生成相應(yīng)的flv文件


    ?
    nginx_rtmp_record?
    客戶端播放?

    播放需要的是url,把錄制的文件名和主機(jī)nginx訪問目錄拼接一下,很簡單,這里的話就是http://10.10.10.52:8081/record/-1483066808-2016-12-30-11_00_08.flv


    參考文獻(xiàn)?
    https://github.com/arut/nginx-rtmp-module/wiki/Control-module?

總結(jié)

以上是生活随笔為你收集整理的基于nginx-rtmp实现电视回看业务的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。