中文字幕人妻中文_99精品欧美一区二区三区综合在线_精品久久久久一区二区_色月丁香_免费福利在线视频_欧美大片免费观看网址_国产伦精品一区二区三区在线播放_污污污污污污www网站免费_久久月本道色综合久久_色69激情爱久久_尹人香蕉久久99天天拍_国产美女www_亚洲国产精品无码7777一线_五月婷婷六月激情_看免费一级片_精品久久久久久成人av_在线色亚洲_女人另类性混交zo_国产精品青青在线观看爽香蕉_人人澡人人添人人爽一区二区

主頁 > 知識庫 > Nginx-rtmp實現直播媒體實時流效果

Nginx-rtmp實現直播媒體實時流效果

熱門標簽:電銷機器人價值 大連400電話如何申請 電銷機器人怎么接線路 新余高德地圖標注怎么修改 高德地圖標注好做嗎 撫順地圖標注 如何分析地圖標注 外呼系統坐席費計入會計哪個科目 達亞電銷機器人官網

0. 前言

  這段時間在搭建一個IPCamera項目服務器。視頻點對點通話,客戶端會查看設備端的音視頻實時流。為了省流量,是通過P2P進行穿透。但是由于NAT設備的原因和IPV4的枯竭。有些設備是無法進行點對點傳輸實時流。所以需要進行服務器轉發。這里為了快速實現原型,同時參考現在主流的流媒體協議。發現很多使用的是RTMP協議。

  下圖是總體設計圖,為了整合多平臺,會自建RTMP流媒體服務器和使用云廠商SaaS的RTMP流媒體服務。但是由于有時候會傳輸一些非流媒體數據,需要傳輸一些二進制文件,所以會需要自定義媒體轉發服務。

  以下是我實際項目中,用到的架構實現流程圖。

 1. 客戶端A無法進行P2P穿透,請求業務服務器要進行轉發。
 2. 業務服務器根據客戶端A,請求類型,返回對應的轉發服務器地址和對應的房間號RoomID/Token等信息
 3. 上述請求類型,可以是請求自建RTMP流媒體服務,購買于云廠商RTMP流媒體服務或者自定義協議媒體轉發服務
 4. 客戶端A得到業務服務器返回的媒體服務器地址和RoomID/Token
 5. 通過信令服務器或者MQTT服務器,把對應的媒體服務器地址和RoomID/Token告訴另一端客戶端B
 6. 客戶端A和客戶端B同時進入相同房間Room,客戶端A進行推流,客戶端B進行拉流
 7. 其他媒體信息,如編解碼格式,清晰度,播放,暫停,拍照等命令,通過上述信令或MQTT服務器進行命令控制

1. 編譯Nginx

  RTMP流媒體服務器,現成的開源方案有很多,有SRS,Red5,wowoza,FMS等,我這里使用的是Nginx的rtmp插件實現實時流轉發。

  下載 nginx-rtmp-module  https://github.com/arut/nginx-rtmp-module

  重新編譯nginx

--prefix=/opt/nginx --with-stream --with-http_ssl_module --with-stream_ssl_module --with-debug --add-module=../nginx-rtmp-module

2. 配置Nginx.conf

  基本的nginx配置,這里就不進行介紹了,需要了解的可以參考我其他博客,里面有介紹。這里只介紹rtmp段的定義。

rtmp{
  server{
    listen 8081;
    access_log logs/rtmp_access.log;
    on_connect http://127.0.0.1:8080/v1/rtmp/on_connect;
    application rtmp {
      live on;
      notify_method get;
      on_play http://127.0.0.1:8080/v1/rtmp/on_play;
      on_publish http://127.0.0.1:8080/v1/rtmp/on_publish;
      on_done http://127.0.0.1:8080/v1/rtmp/on_done;
      on_play_done http://127.0.0.1:8080/v1/rtmp/on_play_done;
      on_publish_done http://127.0.0.1:8080/v1/rtmp/on_publish_done;
      on_record_done http://127.0.0.1:8080/v1/rtmp/on_record_done;
      on_update http://127.0.0.1:8080/v1/rtmp/on_update;
      notify_update_timeout 10s;
    }
    application vod {
      play /opt/openresty/video;
    }
  }
}

3. HTTP異步通知回調

   Nginx-rtmp-module插件實現了針對RTMP協議的一些命令做了事件通知。這里我通過一個簡單的SpringBoot項目,快速搭建一個HTTP服務來接收RTMP的回調。

 package com.wunaozai.rtmp.notify.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping(value="/v1/rtmp/")
public class RTMPNotifyController {
  @GetMapping(value="/on_connect")
  public String onConnect(HttpServletRequest request){
    debug(request, "on_connect");
    return "on_connect";
  }
  @GetMapping(value="/on_play")
  public String onPlay(HttpServletRequest request){
    debug(request, "on_play");
    return "on_play";
  }
  @GetMapping(value="/on_publish")
  public String onPublish(HttpServletRequest request){
    debug(request, "on_publish");
    return "on_publish";
  }
  @GetMapping(value="/on_done")
  public String onDone(HttpServletRequest request){
    debug(request, "on_done");
    return "on_done";
  }
  @GetMapping(value="/on_play_done")
  public String onPlayDone(HttpServletRequest request){
    debug(request, "on_play_done");
    return "on_play_done";
  }
  @GetMapping(value="/on_publish_done")
  public String onPublishDone(HttpServletRequest request){
    debug(request, "on_publish_done");
    return "on_publish_done";
  }
  @GetMapping(value="/on_record_done")
  public String onRecordDone(HttpServletRequest request){
    debug(request, "on_record_done");
    return "on_record_done";
  }
  @GetMapping(value="/on_update")
  public String onUpdate(HttpServletRequest request){
    debug(request, "on_update");
    return "on_update";
  }
  private String debug(HttpServletRequest request, String action){
    String str = action + ": " + request.getRequestURI() + " " + request.getQueryString();
    System.out.println(str);
    return str;
  }
}

4. 運行效果

  (1) 啟動nginx和SpringBoot

  (2) 以下是SpringBoot打印信息(各位可以簡單分析一下這些日志的)

on_connect: /v1/rtmp/on_connect app=rtmp&flashver=FMLE/3.0%20(compatible%3B%20FMSc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&epoch=178269841&call=connect
on_publish: /v1/rtmp/on_publish app=rtmp&flashver=FMLE/3.0%20(compatible%3B%20FMSc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=541&call=publish&name=room&type=live
on_update: /v1/rtmp/on_update app=rtmp&flashver=FMLE/3.0%20(compatible%3B%20FMSc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=541&call=update_publish&time=10&timestamp=3999&name=room
on_done: /v1/rtmp/on_done app=rtmp&flashver=FMLE/3.0%20(compatible%3B%20FMSc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=541&call=done&name=room
on_publish_done: /v1/rtmp/on_publish_done app=rtmp&flashver=FMLE/3.0%20(compatible%3B%20FMSc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=541&call=publish_done&name=room
on_connect: /v1/rtmp/on_connect app=rtmp&flashver=FMLE/3.0%20(compatible%3B%20FMSc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&epoch=178305623&call=connect
on_publish: /v1/rtmp/on_publish app=rtmp&flashver=FMLE/3.0%20(compatible%3B%20FMSc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=publish&name=room&type=live
on_update: /v1/rtmp/on_update app=rtmp&flashver=FMLE/3.0%20(compatible%3B%20FMSc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=10&timestamp=7296&name=room
on_update: /v1/rtmp/on_update app=rtmp&flashver=FMLE/3.0%20(compatible%3B%20FMSc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=20&timestamp=17248&name=room
on_update: /v1/rtmp/on_update app=rtmp&flashver=FMLE/3.0%20(compatible%3B%20FMSc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=30&timestamp=27328&name=room
on_update: /v1/rtmp/on_update app=rtmp&flashver=FMLE/3.0%20(compatible%3B%20FMSc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=40&timestamp=37280&name=room
on_update: /v1/rtmp/on_update app=rtmp&flashver=FMLE/3.0%20(compatible%3B%20FMSc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=50&timestamp=47296&name=room
on_update: /v1/rtmp/on_update app=rtmp&flashver=FMLE/3.0%20(compatible%3B%20FMSc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=60&timestamp=57312&name=room
on_update: /v1/rtmp/on_update app=rtmp&flashver=FMLE/3.0%20(compatible%3B%20FMSc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=70&timestamp=67264&name=room
on_connect: /v1/rtmp/on_connect app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&epoch=178380351&call=connect
on_play: /v1/rtmp/on_play app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=557&call=play&name=room&start=4294966296&duration=0&reset=0&pass=12345
on_play_done: /v1/rtmp/on_play_done app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=557&call=play_done&name=room&pass=12345
on_done: /v1/rtmp/on_done app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=557&call=done&name=room&pass=12345
on_update: /v1/rtmp/on_update app=rtmp&flashver=FMLE/3.0%20(compatible%3B%20FMSc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=80&timestamp=77344&name=room
on_connect: /v1/rtmp/on_connect app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&epoch=178388202&call=connect
on_play: /v1/rtmp/on_play app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=563&call=play&name=room&start=4294966296&duration=0&reset=0&pass=12345
on_done: /v1/rtmp/on_done app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=563&call=done&name=room&pass=12345
on_play_done: /v1/rtmp/on_play_done app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=563&call=play_done&name=room&pass=12345
on_update: /v1/rtmp/on_update app=rtmp&flashver=FMLE/3.0%20(compatible%3B%20FMSc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=90&timestamp=87360&name=room
on_connect: /v1/rtmp/on_connect app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&epoch=178396146&call=connect
on_play: /v1/rtmp/on_play app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=569&call=play&name=room&start=4294966296&duration=0&reset=0&pass=12345
on_done: /v1/rtmp/on_done app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=569&call=done&name=room&pass=12345
on_play_done: /v1/rtmp/on_play_done app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=569&call=play_done&name=room&pass=12345
on_connect: /v1/rtmp/on_connect app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&epoch=178403666&call=connect
on_play: /v1/rtmp/on_play app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=574&call=play&name=room&start=4294966296&duration=0&reset=0&pass=12345
on_update: /v1/rtmp/on_update app=rtmp&flashver=FMLE/3.0%20(compatible%3B%20FMSc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=100&timestamp=97311&name=room
on_update: /v1/rtmp/on_update app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=574&call=update_play&time=10&timestamp=105504&name=room&pass=12345
on_update: /v1/rtmp/on_update app=rtmp&flashver=FMLE/3.0%20(compatible%3B%20FMSc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=110&timestamp=107199&name=room
on_done: /v1/rtmp/on_done app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=574&call=done&name=room&pass=12345
on_play_done: /v1/rtmp/on_play_done app=rtmp&flashver=&swfurl=&tcurl=rtmp://rtmp.wunaozai.com:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=574&call=play_done&name=room&pass=12345
on_update: /v1/rtmp/on_update app=rtmp&flashver=FMLE/3.0%20(compatible%3B%20FMSc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=120&timestamp=117344&name=room
on_update: /v1/rtmp/on_update app=rtmp&flashver=FMLE/3.0%20(compatible%3B%20FMSc/1.0)&swfurl=&tcurl=rtmp://120.24.210.62:8081/rtmp&pageurl=&addr=113.74.127.195&clientid=547&call=update_publish&time=130&timestamp=122815&name=room

(3) 客戶端進行推流,這里的推流軟件,我是使用這個 http://www.iavcast.com/html/ruanjian/iavcast.html

  (4) 移動端,我使用微信小程序里的 騰訊視頻云  這個小程序里面有RTMP測試

  (5) nginx-rtmp 日志

1 113.74.127.195 [05/Aug/2018:16:18:08 +0800] PUBLISH "rtmp" "room" "" - 2646572 687 "" "FMLE/3.0 (compatible; FMSc/1.0)" (1m 46s)
 2 113.74.127.195 [05/Aug/2018:16:19:49 +0800] PLAY "rtmp" "room" "pass=12345" - 413 542 "" "" (4s)
 3 113.74.127.195 [05/Aug/2018:16:19:57 +0800] PLAY "rtmp" "room" "pass=12345" - 413 542 "" "" (4s)
 4 113.74.127.195 [05/Aug/2018:16:20:05 +0800] PLAY "rtmp" "room" "pass=12345" - 413 542 "" "" (4s)
 5 113.74.127.195 [05/Aug/2018:16:20:13 +0800] PLAY "rtmp" "room" "pass=12345" - 413 542 "" "" (4s)
 6 113.74.127.195 [05/Aug/2018:16:30:39 +0800] PLAY "rtmp" "room" "pass=12345" - 413 871 "" "" (4s)
 7 113.74.127.195 [05/Aug/2018:16:30:54 +0800] PLAY "rtmp" "room" "pass=12345" - 413 647163 "" "" (12s)
 8 113.74.127.195 [05/Aug/2018:16:31:08 +0800] PUBLISH "rtmp" "room" "" - 4961955 409 "" "FMLE/3.0 (compatible; FMSc/1.0)" (1m 30s)
 9 113.74.127.195 [05/Aug/2018:23:06:47 +0800] PUBLISH "rtmp" "room" "" - 425763 529 "" "FMLE/3.0 (compatible; FMSc/1.0)" (13s)
10 113.74.127.195 [05/Aug/2018:23:08:29 +0800] PLAY "rtmp" "room" "pass=12345" - 413 871 "" "" (4s)
11 113.74.127.195 [05/Aug/2018:23:08:37 +0800] PLAY "rtmp" "room" "pass=12345" - 413 871 "" "" (4s)
12 113.74.127.195 [05/Aug/2018:23:08:45 +0800] PLAY "rtmp" "room" "pass=12345" - 413 871 "" "" (4s)
13 113.74.127.195 [05/Aug/2018:23:09:05 +0800] PLAY "rtmp" "room" "pass=12345" - 413 926026 "" "" (17s)
14 113.74.127.195 [05/Aug/2018:23:09:30 +0800] PUBLISH "rtmp" "room" "" - 7061016 409 "" "FMLE/3.0 (compatible; FMSc/1.0)" (2m 20s)

5. RTMP鑒權方式

   一般商用的話,為了防止被其他人使用和安全性考慮,所以需要對RTMP進行鑒權處理。鑒權如果有特殊性的,可以通過修改nginx-rtmp-module的源代碼,然后進行修改,其實就是增加個auth函數,這個函數可以查詢數據庫之類的,然后決定返回0成功還是-1表示失敗。

  除了上面說到的方式,還可以通過簡單的方式,就是上面提到的HTTP回調。如果HTTP回調返回的HTTP狀態碼是2xx的,表示成功。如果是返回5xx的狀態碼,那么表示失敗。那樣的話,服務器就是斷開RTMP連接。

  就是在 rtmp://rtmp.wunaozai.com/rtmp_live/room?username=username&password=password

  至于實現,這里暫時還沒有,其實就是在SpringBoot項目中對每個請求,判斷一下參數即可。如果后面有機會就詳細寫一下,關聯Redis數據庫,實現房間號功能。但是可能不會寫了,因為實際上不難。就是整個流程跑通還是比較多代碼要寫的,在博客里貼太多代碼有點不好。博客最主要的還是提供思路。實際實現就應該在項目中實現了。

6. 其他

  這里是一些配置說明和示例

Application 創建一個RTMP應用,這里有點區別于http的location
Timeout 60s 
stocket超時,可以配合keepalive和ping值來實現不讓服務器端長期處于監聽連接客戶端狀態,實現快速關掉socket
Ping 3m
ping_timeout 30s
RTMP ping用于檢查活動連接的協議。發送一個特殊的包遠程連接,在ping_timeout指定時間內期待一個回復,如果沒有收到回復,連接斷開
max_streams 32
設置RTMP流的最大數目,單一流數據最大限制,一般默認的32就可以了
ack_window 5000000
設置RTMP窗口的大小
chunk_size 4096
數據塊大小 設置值越大CPU負載就越小
max_queue
最大隊列數,一般默認即可
max_message 1M
輸入數據消息的最大大小。所有輸入數據消息都會保存在內存中,等待完成流媒體轉發。在理論上傳入的消息可以是非常大,對服務器穩定性影響較大,所以一般默認即可。
out_queue
out_cork
Buflen 5s
設置默認緩沖區長度。通常客戶端發送播放前RTMP set_buflen命令并重置該設置
訪問控制
Access
Allow/deny
允許來自指定地址或者所有地址發布/播放
Allow public 127.0.0.1
Deny publish all;
Allow play 192.168.0.0/24
Deny play all;
Exec命令
Exce 
exec_options on;
啟動一些exec指令選項,通過一些exec事件來干預整個RTMP流
可以仔細一些外部編解碼功能
Exec ffmpeg -i rtmp://localhost?src/$name -vcodec libx264 -vprofile baseline -g 10 -s 300x200 -acodec libfaac -ar 44100 -ac 1 -f flv rtmp://localhost/hls/$name 2>> /var/log/ffmpeg-$name.log;
Exce_statc 
類似exce,屬于靜態命令,不支持傳遞上下文參數
Exec_kill_signal term;
Exec_kill_signal user1;
Exec_kill_signal 3;
Exec_pull 
Exec_push
Exec_publish
指定與參數外部命令要在發布事件執行。
Exec_play
指定與要在打開事件執行外部命令
Exec_play_done
指定要在打開完成事件執行外部命令
Exec_publish_done
Exec_record_done
例子
exec_play bash -c “echo $addr $pageurl >> /tmp/clients”
Exec_publish base -c “echo $addr $flashver >> /tmp/publishers”
轉錄
Exec_record_done ffmpeg -y -i $path -acodec libmp31ame -ar 44100 -ac 1 -vcodec libx264 $dirname/$basename.mp4
Live 模式
Live on
切換直播模式,即一對多廣播
Meta on/copy/off
奇幻發送元數據到客戶端 默認on
Interleave on/off
切換交叉模式。在該模式下,音視頻會在同一個RTMPchunk流中傳輸。默認為off
wait_key on|off
使視頻流從一個關鍵幀開始,默認為off
wait_video on|off
在一個視頻幀發送前禁用音頻。默認off
通過wait_key/wait_video進行組合以使客戶端可以收到具有所有其他數據的視頻關鍵幀。但這樣會增加連接延遲。不過可以通過編解碼器中調整關鍵幀間隔來減少延遲。
Publish_notify on
發送NetStream.Publish.Start和NetStream.Publish.Stop給用戶,默認off
Drop_idle_publisher 10s
終止指定時間內閑置(沒有音頻、視頻)的發布連接,默認為off。注意這個僅僅對于發布模式的連接起作用(發送publish命令之后)
Sync 10ms
同步音視頻流。如果用戶帶寬不足以接收發布率,服務器會丟棄一些幀。這將導致同步問題。當時間戳差超過sync指定值,將會發送一個絕對幀來解決這個問題,默認為300ms
Play_restart off
使nginx-rtmp能夠在發布啟動或者停止時發送NetStream.Play.Start 和 NetStrem.Play.Stop到每個用戶。如果關閉的話,那么每個用戶就只能在回放的開始結束時收到該通知了。默認為on
Record 模式
Record off|all|audio|video|keyframes|manual
切換錄制模式,流可以被記錄到flv文件
Off 不錄制
All 錄制音頻和視頻
Audio
Video
Keyframes 只錄制關鍵視頻幀
Manual 不自動啟動錄制,使用控制接口來進行啟動和停止
Record_path /tmp/rec
指定錄制的flv文件存放目錄
Record_suffix -%d-%b-%y-%T.flv
錄制后綴strftime格式
Record_unique on|off
是否添加時間戳到錄制文件,防止文件被覆蓋,默認off
record_append on|off
切換文件附加模式。開啟后,錄制時將新數據附加到舊文件后面。默認off
record_lock on|off
鎖定文件,調用系統的fcntl
record_max_size 128K
設置錄制文件的最大值
Record_max_frames 2
設置每個錄制文件的視頻幀最大數量
Record_interval 1s/15m
在這個指令指定的時間之后重啟錄制。默認off設置為0表示錄制中無延遲。如果record_unique為off時所有的記錄都會被寫到同一個文件中。否則就會以時間戳區分在不同文件
Record_notify on|off
奇幻當定義錄制啟動或者停止文件時發送NetStream.Record.Start和NetStream.Record.Stop狀態信息onStatus到發布者。
應用
Application rtmp{
Live on;
Record all;
Record_path /var/rec;
Recorder audio{
Record audio;
Record_suffix .audio.flv;
}
Recorder chunked{
Record all;
Record_interval 15s;
Record_path /var/rec/chunked;
}
}
創建錄制塊。可以在單個application中創建多個記錄 。
VOD媒體
Play dir|http://loc 
播放指定目錄或者HTTP地址的flv或者mp4文件。注意HTTP播放是要在整個文件下載完后才開始播放。同一個play可以播放多個視頻地址(用于負載)。MP4格式要在編解碼都被RTMP支持才可以播放。一般常見的就是H264/AAC
Application vod{
Play /var/flvs;
}
Application vod_http{
Play http://localhost/vod;
}
Play_temp_path /www
設置遠程VOD文件完全下載之后復制于play_temp_path之后的路徑。空值的話禁用此功能。
Play_local_path dir
在播放前設置遠程存儲VOD文件路徑,默認/tmp
Play_local_path /tmp/videos;
Paly /tmp/videos http://localhost/videos
表示播放視頻,先播放本地緩存,如果沒有的話,從localhost/videos下載到本地/tmp/videos后,在進行播放
Relay模式
Pull url [key=value]
創建pull中繼。主要是從遠程服務器拉取流媒體。并進行重新發布。
Url語法 [rtmp://]host[:port][/app[/playpath]] 如果application找不到那么將會使用本地application名,如果找不到playpath那么久用當前流名稱。
參數如下(使用Key=Value方式)
app 明確application名
Name 捆綁到relay的bending流名稱。如果為空,那么會使用application中所有本地流
tcUrl
pageUrl
swfUrl
flashVer
playPath
Live
Start
Stop
Static
Pull rtmp://cdn.example.com/main/ch?id=1234 name=channel;
Push url [key=value]
與pull類似,只是push推送發布流到遠程服務器。
Push_reconnect 1s
在斷開連接后,在push重新連接錢等待的時間,默認3秒
Session_relay on;
切換會話relay模式。在這種情況下關閉時relay銷毀。
Notify 模式
這個功能主要是提供HTTP回調。當發送一些連接操作是,一個HTTP請求異步發送。命令處理會被暫停掛起,知道它返回結果代碼。當HTTP返回2xx成功狀態碼時,RTMP會話繼續。3xx狀態碼會使RTMP重定向到另一個從HTTP返回頭獲取到的application,否則連接丟失。其他狀態碼,連接斷開。目前用來做簡單的鑒權。
On_connect url
設置HTTP連接回調。當客戶分發連接命令時。
例子:
On_connect http://localhost/my_auth;
Location /on_connect{
If($arg_flashver != “my_secret_flashver”){
Rewrite ^.*$ fallback?permanent;
}
}
On_play url
設置HTTP播放回調。分發客戶分發播放命令時。
http {
Location /redirect {
Rewrite ^.*$ newname?permanent;
}
}
Rtmp{
Application myqpp{
Live on;
On_play http://localhost/redirect;
}
}
On_publish
On_doone
On_play_done
On_publish_done
On_record_done
On_update
Notify_update_timeout
設置on_update回調時間
Notify_update_strict on|off
Notify_relay_redirect on
Notify_method get
設置HTTP方法通知,默認是application/x-www-form-urlencodeed 的POST內容類型。有時候可能會需要GET方法,在nginx的http{}部分處理調用。在這種情況下可以使用arg_*變量去訪問參數。
例如如果是method為get時
Location /on_play{
If($arg_pageUrl ~* localhost){
Return 200;
}
Return 500;
}
HLS 模式
Hls on|off
使application 切換HLS協議直播
Hls_path /tmp/hls;
設置HLS播放列表和分段目錄。這一目錄必須在nginx啟動前就已經存在。
Hls_fragment 15s;
設置HLS分段長度,默認5秒,這個跟直播延遲有比較大的影響
Hls_playlist_length 20m;
設置HLS播放列表長度,默認30秒。這個跟直播緩存有關。
Hls_sync time
設置HLS時間戳同步閾值。默認2ms。這個功能防止由低分辨率RTMP(1KHz)轉換到高分辨率MPEG-TS(90KHz)之后出現的噪音。
Hls_continuous on|off
切換HLS連續模式,默認off。
Hls_nested on|off
切換HLS嵌套模式。默認off。
Hls_cleanup on|off;
切換HLS清理。默認on
AccessLog日志
Access_log off|path [format_name]
Log_format new_format ‘$remote_addr';
Access_log logs/rtmp_access.log new_format;
Log_format 指定日志格式
創建指定的日志格式。日志格式看起來很像 nginx HTTP 日志格式。日志格式里支持的幾個變量有:
* connection - 連接數。
* remote_addr - 客戶端地址。
* app - application 名。
* name - 上一個流名。
* args - 上一個流播放/發布參數。
* flashver - 客戶端 flash 版本。
* swfurl - 客戶端 swf url。
* tcurl - 客戶端 tcUrl。
* pageurl - 客戶端頁面 url。
* command - 客戶端發送的播放/發布命令:NONE、PLAY、PUBLISH、PLAY+PUBLISH。
* bytes_sent - 發送到客戶端的字節數。
* bytes_received - 從客戶端接收到的字節數。
* time_local - 客戶端連接結束的本地時間。
* session_time - 持續連接的秒數。
* session_readable_time - 在可讀格式下的持續時間。
默認的日志格式叫做 combined。這里是這一格式的定義:
$remote_addr [$time_local] $command "$app" "$name" "$args" - 
$bytes_received $bytes_sent "$pageurl" "$flashver" ($session_readable_time)
Limits限制
max_connections number;
設置rtmp引擎最大連接數,默認off
Application hls{
Live on;
Hls on;
Hls_path /tmp/hls;
Hls_fragment 15s;
}

總結

以上所述是小編給大家介紹的Nginx-rtmp實現直播媒體實時流效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

標簽:楊凌 湖南 衡水 海東 遼源 新鄉 黃石 南通

巨人網絡通訊聲明:本文標題《Nginx-rtmp實現直播媒體實時流效果》,本文關鍵詞  Nginx-rtmp,實現,直播,媒體,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Nginx-rtmp實現直播媒體實時流效果》相關的同類信息!
  • 本頁收集關于Nginx-rtmp實現直播媒體實時流效果的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 芜湖科翔动力机械有限公司| 句容立成强机械有限公司| 浙江远信印染机械有限公司| 温州利波机械有限公司| 安阳锻压机械有限公司| 上海信烨精密机械有限公司| 广州机械自动化有限公司| 上海卓越机械有限公司| 襄阳博亚机械有限公司| 成都蓉诚机械设备有限公司| 青岛 机械制造有限公司| 福建东亚机械有限公司| 均强机械苏州有限公司| 济南大鹏机械设备有限公司| 重庆海迅机械制造有限公司| 武汉机械制造有限公司| 晋工机械有限公司官网| 广州日森机械有限公司| 上海震伦机械有限公司| 青州市晨光机械有限公司| 河南柴油机重工有限公司| 中交天和机械设备制造有限公司| 潍坊浩泰机械有限公司| 爱可机械深圳有限公司| 常州富丽康精密机械有限公司 | 济南鼎业机械制造有限公司| 烟台 机械有限公司| 汉虹精密机械有限公司| 佛山市宝捷精密机械有限公司| 上海恒启机械设备有限公司| 南通凯迪自动机械有限公司| 上海玉兆精密机械有限公司| 河南柴油机重工有限公司| 江阴化工机械有限公司| 镇江机械设备有限公司| 上海枫信传动机械有限公司| 中山市凌宇机械有限公司| 曲阜志成机械有限公司| 东莞利瀚机械有限公司| 河南江河机械有限公司| 湖州汇大机械有限公司| 佛山市创利宝包装机械有限公司 | 烟台精密机械有限公司| 徐州徐工施维英机械有限公司| 江苏恒悦机械有限公司| 遂宁华能机械有限公司| 宏强机械设备有限公司| 临沂正大机械有限公司| 临沂美联重工有限公司| 重庆巨泰机械有限公司| 浙江万龙机械有限公司| 宏信机械制造有限公司| 中材重型机械有限公司| 上海梯诺机械设备有限公司| 台州市双辉机械设备有限公司| 成都弘林机械有限公司| 吉川机械设备有限公司| 安徽鑫宏机械有限公司| 上海二和机械有限公司| 台州瑞达机械有限公司| 食品机械制造有限公司| 科尼起重机设备(上海)有限公司| 新世纪机械有限公司| 中联恒通机械有限公司| 日照山东钢铁有限公司| 重庆机械租赁有限公司| 西安机械制造有限公司| 沈阳华盛机械有限公司| 烟台瑞进精密机械有限公司| 新乡市威远机械有限公司| 华东油压机械制造有限公司| 东莞市鑫国丰机械有限公司| 江苏联顺机械有限公司| 河北农哈哈机械有限公司| 青岛高通机械有限公司| 淄博中升机械有限公司| 北京航天振邦精密机械有限公司| 温州市润新机械制造有限公司 | 百赞精密机械有限公司| 青岛高通机械有限公司| 安阳锻压机械有限公司| 浙江环兴机械有限公司| 赣州群星机械有限公司| 江苏优轧机械有限公司| 无锡包装机械有限公司| 河南启瀚机械设备有限公司| 上海盟申机械设备有限公司| 聊城日发纺织机械有限公司| 上海北阅机械设备有限公司| 吉林吉钢铁有限公司| 天津工程机械有限公司| 东莞市峰茂机械设备有限公司| 东莞市鸿企机械有限公司| 苏州牧天动力机械有限公司| 河北联港废钢铁回收有限公司| 潍坊西泰机械有限公司| 江苏沃元精密机械有限公司| 东莞伟机械有限公司| 连云港机械有限公司| 沈阳奎鑫钢铁有限公司| 重庆双腾机械制造有限公司| 潍坊宝润机械有限公司| 泉州泉盛机械有限公司| 河南丰泉机械有限公司| 江西鑫通机械制造有限公司| 上海派协包装机械有限公司| 青岛云龙纺织机械有限公司| 湛江恒润机械有限公司| 山东省机械施工有限公司| 东莞%机械制造有限公司| 苏州阔泽精密机械有限公司| 广州永晋机械有限公司| 昆山六丰机械工业有限公司| 上海玉兆精密机械有限公司| 广州永晋机械有限公司| 常州制药机械有限公司| 江苏东邦机械有限公司| 开封良益机械有限公司| 浩博海门机械有限公司| 张家港同大机械有限公司| 大禾众邦机械有限公司| 沈阳黎明机械有限公司| 苏州华致鑫精密机械有限公司| 浙江富龙钢铁有限公司| 佐竹机械苏州有限公司| 南京 机械设备 有限公司| 盐城市成功机械制造有限公司| 营口金辰机械有限公司| 唐山化工机械有限公司| 滨州 机械 有限公司| 广州文穗塑料机械有限公司| 山东天元建设机械有限公司| 飞扬机械制造有限公司| 广东森人机械有限公司| 山东日发纺织机械有限公司| 广州南头机械有限公司| 上海梯诺机械设备有限公司| 江门携成机械有限公司怎样| 宁波博纳机械有限公司| 深圳机械院建筑设计有限公司| 江苏中圣机械制造有限公司| 上海众德机械有限公司| 重庆地泽机械有限公司| 杭州迪迪机械有限公司| 山东枭隆机械有限公司| 南通机械设备有限公司| 昆山奥德机械有限公司| 上海冠隆阀门机械有限公司| 湖南华菱湘潭钢铁有限公司| 油机机械工业有限公司| 山东鲁成起重机械有限公司| 天津传动机械有限公司| 浙江嘉益机械有限公司| 宁波久力数控机械有限公司| 广东仕诚塑料机械有限公司| 德州宝鼎液压机械有限公司| 苏州工业园区嘉宝精密机械有限公司 | 常州液压机械有限公司| 辽阳腾龙钢铁有限公司| 南通精密机械有限公司| 青岛国森机械有限公司| 河南双鑫钢铁有限公司| 郑州宇机械有限公司| 山东兴华机械有限公司| 浙江小伦制药机械有限公司| 上海铁杉机械有限公司| 东方机械制造有限公司| 泰州机械制造有限公司| 山东冠成机械有限公司| 鞍山宝得钢铁有限公司招聘岗位| 雄雄精密机械有限公司| 盾建重工制造有限公司| 佛山市万为包装机械有限公司| 宁波达峰机械有限公司| 中意机械苏州有限公司| 天津 起重有限公司| 浙江佳成机械有限公司| 重庆华渝重工机电有限公司| 山东重工机械有限公司| 青岛铸造机械有限公司| 上海力净洗涤机械制造有限公司| 山东动力机械有限公司| 江苏江海机械有限公司| 基伊埃机械设备天津有限公司| 厦门机械工业有限公司| 张家港机械制造有限公司| 山东欧劲工程机械有限公司| 合肥 机械有限公司| 华宇机械制造有限公司| 万金机械配件有限公司| 江苏银华春翔机械制造有限公司| 娄底 有限公司 机械| 人和弹簧机械有限公司| 沈阳斗山工程机械有限公司| 宝鸡 机械有限公司| 江苏中热机械设备有限公司| 莱州聚峰机械有限公司| 合肥至信机械有限公司| 设备机械制造有限公司| 重庆足航钢铁有限公司| 江苏新益机械有限公司| 上海霏润机械设备有限公司| 深圳市精密机械有限公司| 浙江名博机械有限公司| 临沂金立机械有限公司| 上海西马特机械制造有限公司| 纸箱机械设备有限公司| 昆成机械机械有限公司| 新疆八一钢铁有限公司| 河北 机械 有限公司| 霸州新利钢铁有限公司| 上海高敦精密机械有限公司| 塑料机械 有限公司| 成都鑫泽机械有限公司| 均强机械苏州有限公司| 上海汉普机械有限公司| 上海喜曼机械有限公司| 东莞市茂丰机械有限公司| 合肥华运机械有限公司| 三莲机械制造有限公司| 千机械制造有限公司| 河北澳金机械设备有限公司| 金属制品有限公司起名| 石家庄钢铁有限公司| 无锡速波精密机械有限公司| 山东祥远机械有限公司| 江阴戎辉机械设备制造有限公司| 东莞机械制造有限公司| 上海机械成套设备有限公司| 上海机械装备有限公司| 甘肃机械化建设工程有限公司| 东莞市千岛机械制造有限公司| 泰安煤矿机械有限公司| 上海红重机械装备有限公司| 常州艾隆精密机械有限公司| 山东临工工程机械有限公司招聘| 济南龙安机械有限公司| 亿传玻璃机械有限公司| 杭州诺迈机械有限公司| 厦门天一精密机械有限公司| 武汉餐至饮机械设备有限公司 | 佛山丰堡精密机械有限公司| 诸城市华钢机械有限公司| 杭州天杨机械有限公司| 杭州灵达机械有限公司| 南通昭和机械有限公司| 潍坊瑞发机械有限公司| 才美机械制造(上海)有限公司| 佛山市中牌机械有限公司| 浙江东雄重工有限公司| 常州坤世精密机械有限公司| 宝鸡忠诚制药机械有限公司| 永华机械有限公司招聘| 佛山市洛德机械设备有限公司 | 徐州机械制造有限公司| 浙江麒龙起重机械有限公司| 上海紫永机械有限公司| 温州市春来包装机械有限公司| 三星重工业宁波有限公司招聘| 苏州市大华精密机械有限公司 | 永 机械 有限公司| 上海华预机械制造有限公司| 注册机械设备有限公司有什么要求| 佛山市信虹精密机械有限公司| 深圳市兴合发齿轮机械有限公司 | 西安科迅机械制造有限公司| 研精舍上海精密机械加工有限公司| 东莞达成机械设备制造有限公司| 阳煤化工机械有限公司| 青岛佳友包装机械有限公司 | 福建联丰机械有限公司| 上海申虎包装机械设备有限公司| 金田豪迈木业机械有限公司| 福宁船舶重工有限公司| 浙江豪盛印刷机械有限公司| 山西建龙钢铁有限公司| 佛山市强源钢铁有限公司| 汕头市伟力塑料机械厂有限公司 | 北京精密机械有限公司| 常德烟草机械有限公司| 河北 机械 有限公司| 浙江康思特动力机械有限公司| 上海包装机械设备有限公司| 美心翼申机械有限公司| 新麦机械有限公司官网| 上海德托机械有限公司| 山东小康机械有限公司| 江苏别具匠心机械设备有限公司| 山东国新起重机械有限公司| 三一重工昆山有限公司| 山东威海机械有限公司| 上海冬松精密机械有限公司| 上海奉业包装机械有限公司| 科尼乐机械设备有限公司| 中核机械工程有限公司| 群鑫机械有限公司电话| 保定兴旺机械有限公司| 北京精密机械有限公司| 广西柳工机械有限公司| 潍坊华耀磁电机械有限公司| 亚泰重工机械有限公司| 宜兴市华鼎机械有限公司| 济南腾越机械制造有限公司| 万金机械配件有限公司| 安徽永成电子机械技术有限公司 | 天津钢铁贸易有限公司| 常州先电机械有限公司| 萨克米机械有限公司| 无锡锡科机械制造有限公司| 山东华伟重工机械有限公司| 江苏先电机械有限公司| 山东 食品机械 有限公司| 山西中德科工机械制造有限公司| 鲁山万通通机械制造有限公司| 上海固好包装机械有限公司| 常州铭盈包装机械有限公司| 常州道铖精密机械有限公司 | 温州市春来包装机械有限公司| 湖北仙粮机械有限公司| 张家口机械有限公司| 江阴市中立机械工业有限公司| 郑州矿山机械有限公司| 食品包装机械有限公司| 广州汉达机械有限公司| 宣城 机械 有限公司| 徐州彭贝机械制造有限公司| 上海航空机械有限公司| 泰兴机械制造有限公司| 佛山丰堡精密机械有限公司| 全精密机械有限公司| 江西晟浔机械有限公司| 启益电器机械有限公司| 安丰钢铁有限公司地址| 青州泰达机械有限公司| 广州市 包装机械有限公司| 济南恒迪机械有限公司| 象山机械制造有限公司| 凯斯纽荷兰机械 哈尔滨 有限公司| 沧州重诺机械制造有限公司| 山东华伟重工机械有限公司| 东莞恒力机械有限公司| 佛山市康思达液压机械有限公司| 上海瑞派机械有限公司| 肇庆市机械有限公司| 苏州擎邦机械有限公司| 河南矿山起重有限公司| 南京巴蜀机械有限公司| 纸箱机械 有限公司| 力顺源机械有限公司| 长春机械制造有限公司| 浙江路杰机械有限公司| 上海宝闽钢铁有限公司| 山东问云机械有限公司| 宝鸡南车时代工程机械有限公司| 洛阳洛北重工机械有限公司| 唐山利军机械有限公司| 济南食品机械有限公司| 杭州旭众机械设备有限公司| 巩义市人和机械有限公司| 无锡威华机械有限公司| 张家港同大机械有限公司 | 张家港亿塑机械有限公司| 桂林机械制造有限公司| 无锡宝露重工有限公司| 临汾志强钢铁有限公司| 盐城丰炜机械制造有限公司| 上海起重机有限公司| 山东长城起重机械有限公司| 洛阳市机械有限公司| 河南豪丰机械制造有限公司| 苏州凯威塑料机械有限公司| 山东天瑞重工有限公司| 同鼎机械设备有限公司| 机械(常州)有限公司| 唐山鑫达钢铁有限公司| 南通中船机械制造有限公司| 青岛重工机械有限公司| 山东威宝机械有限公司| 湖南中一惠龙机械设备有限公司 | 昆山机械 有限公司| 浙江海重重工有限公司| 昆山市众捷塑料机械有限公司| 浙江海蜜机械有限公司| 济南金迈达机械有限公司| 工程机械设备有限公司| 环保机械设备有限公司| 盐城三益石化机械有限公司| 重庆 机械有限公司| 盐城万富隆机械制造有限公司| 江阴机械制造有限公司怎么样 | 沧州瑞创机械制造有限公司| 宁波精密机械有限公司| 洛阳天宇机械制造有限公司| 江阴派格机械设备有限公司| 河南省起重机有限公司| 佛山机械设备有限公司| 江苏华夏重工有限公司| 机械租赁有限公司名字| 河钢乐亭钢铁有限公司| 上海梯诺机械设备有限公司| 浙江恒齿传动机械有限公司| 上海钊凯包装机械有限公司| 上海服装机械有限公司| 桂林恒达矿山机械有限公司| 日晗精密机械有限公司| 上海高敦精密机械有限公司| 本源兴(上海)包装机械材料有限公司 | 洛阳泰红农业机械有限公司| 安徽远鸿机械有限公司| 安徽 机械设备有限公司| 苏州德扬数控机械有限公司| 珠海飞马传动机械有限公司| 重庆墨龙机械有限公司| 苏州松发机械有限公司| 南京彩途机械设备有限公司| 宜兴市机械有限公司| 河北文丰钢铁有限公司| 东方液压机械有限公司| 济南庚辰钢铁有限公司| 首钢长白机械有限公司| 长沙建鑫机械有限公司| 石家庄博锐食品机械有限公司| 芜湖良仕机械有限公司| 上海精密机械制造有限公司| 上海钢铁贸易有限公司| 镇江机械设备有限公司| 江阴凯迈机械有限公司| 戴氏印刷机械有限公司| 上海景林包装机械有限公司| 大洋食品机械有限公司| 江阴宗承钢铁有限公司| 山东三牛机械有限公司| 温州锐光机械有限公司| 东莞市泽源机械有限公司| 青岛鲁奥机械有限公司| 苏州友众传动机械有限公司| 济南中唐机械设备有限公司| 广州新成机械技术有限公司| 杭州灵达机械有限公司| 合肥康恒机械有限公司| 河南广泰机械有限公司| 兴鑫钢铁有限公司电话| 中山冠力机械有限公司| 金格瑞机械有限公司| 大连日立机械设备有限公司 | 洛阳震动机械有限公司| 天津文洲机械有限公司| 深圳市硕方精密机械有限公司| 上海神农机械有限公司| 山东德工机械有限公司| 河北雪龙机械制造有限公司 | 辽阳新达钢铁有限公司| 上海永策机械设备有限公司| 佛山海之力机械有限公司| 台州嘉瑞机械有限公司| 保定兴旺机械有限公司| 昆山优能机械有限公司| 力顺源机械有限公司| 沈阳世润重工有限公司| 中机建重工有限公司| 浙江锦峰纺织机械有限公司| 山西建龙钢铁有限公司| 工程机械销售有限公司| 河北政博机械制造有限公司| 上海御流包装机械有限公司| 仙游东亚机械有限公司| 河南华北起重吊钩有限公司| 昌利机械制造有限公司| 爱克苏州机械有限公司| 特斯克机械有限公司| 河南 机械设备有限公司| 河南佳德机械有限公司| 台一精工机械有限公司| 广州萱裕机械有限公司| 佛山市永盛达机械有限公司| 常州辉机械有限公司| 烟台 机械设备有限公司| 佛山市万为包装机械有限公司| 诸城科翔机械有限公司| 嘉兴市宏丰机械有限公司| 上海益达机械有限公司| 山东国丰机械有限公司| 上海 包装机械 有限公司| 上海纳丰机械设备有限公司| 佛山突破机械有限公司| 龙口中宇机械有限公司| 济南钢铁贸易有限公司| 潍坊中迪机械有限公司| 铜陵富鑫钢铁有限公司| 河南起重机有限公司| 德国机械制造有限公司| 金沙机械制造有限公司| 上海力净洗涤机械制造有限公司 | 苏州全彩机械设备有限公司| 秦皇岛宏兴钢铁有限公司| 宜昌 机械有限公司| 昆山乔地精密机械有限公司| 浩博机械制造有限公司| 杭州方圆塑料机械有限公司| 久隆久兴机械有限公司| 东莞市柯达机械有限公司| 昆山北钜机械有限公司| 山东钢铁有限公司招聘| 青岛日川精密机械有限公司| 江苏万宝机械有限公司| 云南机械制造有限公司| 广州工友起重设备制造有限公司 | 杭州博创机械有限公司| 无锡建仪仪器机械有限公司| 开封市茂盛粮食机械有限公司| 扬州凯勒机械有限公司| 洛阳中德重工有限公司| 濮阳市名利石化机械设备制造有限公司| 济南沃德机械制造有限公司| 上海诚达机械有限公司| 德州市启泰机械设备有限公司| 东泰盛机械有限公司| 山西中升钢铁有限公司| 南京儒一航空机械装备有限公司 | 江苏炬峰机械有限公司| 金韦尔机械有限公司| 山东创铭机械有限公司| 济宁天鸿机械有限公司| 东莞市科机械有限公司| 上海星贝包装机械有限公司| 洛阳起重机厂有限公司| 宁波博旺机械有限公司| 山东隆盛钢铁有限公司| 精雕精密机械有限公司| 济宁五创机械有限公司| 烟台精越达机械设备有限公司 | 唐山东方钢铁有限公司| 昌利机械制造有限公司| 长沙威沃机械制造有限公司| 苏州联佳精密机械有限公司| 龙岩市机械有限公司| 常州双鸟起重机械有限公司| 山东钢铁有限公司招聘| 四川腾中重工机械有限公司| 丹阳荣嘉精密机械有限公司| 太仓九本机械有限公司| 欧诺机械 有限公司| 盐城市成功机械制造有限公司 | 河南茂盛机械制造有限公司| 杭州中亚机械 有限公司| 昆山优能机械有限公司| 北京 钢铁贸易有限公司| 贵州力顺机械有限公司| 临沂机械设备有限公司| 武汉九州龙工程机械有限公司| 传动机械设备有限公司| 烟台飞达机械设备有限公司| 浙江 料机械有限公司| 启东丰顺重工有限公司| 南丰 机械有限公司| 浙江斯耐达机械工具有限公司| 杭州食品机械有限公司| 扬州凯勒机械有限公司| 广州工程机械有限公司| 上海相宜机械有限公司| 江苏仁达机械有限公司怎么样| 湖北机械设备有限公司| 东莞市途锐机械有限公司| 舞钢中加钢铁有限公司| 佛山市科鹰机械有限公司| 苏州德扬数控机械有限公司| 宁波壬鼎机械有限公司| 郑州华郑机械有限公司| 浙江中意机械有限公司| 南京明瑞机械设备有限公司 | 马鞍山钢铁有限公司| 重庆瀚源机械有限公司| 广州日富机械有限公司| 东莞正扬电子机械有限公司怎么样 | 安庆恒昌机械有限公司| 青岛唐宇机械制造有限公司| 聊城新泺机械有限公司| 河北石阀机械设备有限公司| 上海起帆电线电缆有限公司| 无锡邦得机械有限公司| 合肥市春晖机械制造有限公司| 广东富华机械装备制造有限公司| 陆丰机械郑州有限公司| 常州起重机械有限公司| 青岛新型建设机械有限公司| 上海星申机械有限公司| 天津市申成包装机械有限公司| 福建南方路面机械有限公司| 浙江中意机械有限公司| 合肥市春晖机械制造有限公司 | 济宁市福瑞得机械有限公司| 浙江立洋机械有限公司| 北京中车重工机械有限公司| 山东纺织机械有限公司| 山东曲阜 机械有限公司| 鑫成机械设备有限公司| 潍坊爱地植保机械有限公司| 江阴市三 机械有限公司| 长沙起重机厂有限公司| 河北新利钢铁有限公司| 江 诚机械有限公司| 重庆金丰机械有限公司| 济南捷迈数控机械有限公司| 青岛诺恩包装机械有限公司| 临沂铸信机械有限公司| 河南三兄重工有限公司| 昆山市升达机械制造有限公司 | 浙江长江机械有限公司| 湘东化工机械有限公司| 东莞奥锐机械有限公司| 河北安丰钢铁有限公司| 扬州金威机械有限公司| 广州赛思达机械设备有限公司 | 河南省起重机有限公司| 河南矿山起重机有限公司地址| 大连龙尧塑料机械有限公司| 粮食机械设备有限公司| 青岛德维机械制造有限公司| 上海兴享机械工业有限公司| 安徽格瑞德机械制造有限公司| 新乡市东振机械制造有限公司| 海宁亚东机械有限公司| 东莞市今塑精密机械有限公司 | 烟台华隆机械有限公司| 无锡鹰贝机械有限公司| 烟台利丰机械有限公司| 重庆江峰机械有限公司| 湖南 机械设备有限公司| 山东起重设备有限公司| 百超玻璃机械有限公司| 佳先机械制造有限公司| 珠海华亚机械有限公司| 江苏中热机械设备有限公司怎么样| 浙江南山传动机械有限公司| 温州设备机械有限公司| 河北新钢钢铁有限公司| 山东平安工程机械有限公司| 河北天冠环保机械有限公司| 苏州澳克机械有限公司| 铜陵富鑫钢铁有限公司| 东营市机械有限公司| 江苏金梧机械有限公司| 格润德机械制造有限公司| 宏强机械设备有限公司| 湖南一田农业机械有限公司 | 久海机械制造有限公司| 天工机械制造有限公司| 中山市凌宇机械有限公司| 泰州市海锋机械制造有限公司| 长城重工机械有限公司| 江苏特佳机械有限公司| 安溪永兴机械有限公司| 重庆磐达机械有限公司| 东莞港重机械有限公司| 东莞市嘉鲁特注塑机械有限公司| 温州杰福机械设备有限公司| 蚌埠行星机械有限公司| 江苏久盛机械设备有限公司| 上海德元机械设备有限公司| 南京重霸起重设备有限公司 | 青岛橡塑机械有限公司| 牡丹江机械有限公司| 济南铭机械有限公司| 河南郑州机械有限公司| 苏州动力机械有限公司| 威海欧东机械有限公司| 上海容安木工机械设备有限公司| 无锡环保机械有限公司| 台州市双辉机械设备有限公司 | 浏阳 机械有限公司| 无锡盛达机械制造有限公司| 南京机械电子有限公司| 上海塑料机械 有限公司| 潍坊大众机械有限公司| 江阴古川机械有限公司| 新乡市西贝机械有限公司| 保定市机械制造有限公司| 海狮洗涤机械有限公司| 福建东钢钢铁有限公司| 山西瑞飞机械制造有限公司| 华丽木工机械有限公司| 大连工进机械制造有限公司| 温州市友田包装机械有限公司| 江西钧天机械有限公司奔驰| 济南弘川包装机械有限公司| 合肥食品机械有限公司| 溧阳布勒机械有限公司| 沈阳黎明机械有限公司| 宣化华泰矿冶机械有限公司| 重庆智茂机械制造有限公司| 鑫成机械设备有限公司| 众旭食品机械有限公司| 道依茨法尔机械有限公司| 厦门 机械有限公司| 山东川大机械设备有限公司| 济南大鹏机械设备有限公司 | 天津国际机械阀门有限公司| 山东明沃机械有限公司| 萨克米机械有限公司| 江苏冶金机械有限公司| 沈阳瑞熠机械有限公司| 昆山乙盛机械有限公司招聘启事 | 天津达亿钢铁有限公司| 浙江希望机械有限公司| 瑞安市机械有限公司| 河南省力神机械有限公司| 潍坊元鸣机械有限公司| 江苏申特钢铁有限公司| 昌乐 机械 有限公司| 山东常美机械有限公司| 杭州海铭钢铁有限公司| 亿佰通机械有限公司| 浙江易锋机械有限公司| 昆山 机械有限公司| 扬州伏尔坎机械制造有限公司| 广东华冠钢铁有限公司| 抚顺机械设备制造有限公司| 武汉金火旺机械设备有限公司 | 绍兴市 机械有限公司| 湖南嘉龙机械设备贸易有限公司 | 江西龙工机械有限公司| 成都机械制造有限公司| 无锡鹰普机械有限公司| 无锡大昌机械工业有限公司| 海的动力机械有限公司| 高明鸿溢机械有限公司| 泰安市民乐机械制造有限公司 | 扬州市天发试验机械有限公司 | 玉环宝捷机械有限公司| 永胜机械工业有限公司| 天津天重江天重工有限公司| 河南机械制造有限公司| 上海满鑫机械有限公司| 成都鑫泽机械有限公司| 江门广力机械有限公司| 裕民机械工业有限公司| 固耐重工苏州有限公司| 安徽金庆龙机械制造有限公司| 广州九盈机械有限公司| 青岛兰石重型机械设备有限公司| 山东临工工程机械有限公司招聘| 台州精密机械有限公司| 杭州液压机械有限公司| 摩德娜机械有限公司| 三一工程机械有限公司| 广州汉牛机械设备有限公司| 扬州禹笑水利机械有限公司| 西安新起航营销策划有限公司| 扬州意得机械有限公司| 宝鸡石油机械有限公司| 山西太行钢铁有限公司| 山东闽源钢铁有限公司| 溧阳布勒机械有限公司| 三友重工机械有限公司| 福建三联机械有限公司| 兰州兰石重工有限公司| 临清 机械有限公司| 上海牛力机械有限公司| 佶缔纳士机械有限公司| 常州富丽康精密机械有限公司| 上海板换机械设备有限公司 | 江苏华光双顺机械制造有限公司 | 湖南中联陶瓷机械有限公司| 江山重工机械有限公司| 浙江为尚机械有限公司| 江苏迎阳无纺机械有限公司| 泉州精镁机械有限公司| 包头吉宇钢铁有限公司| 九江萍钢钢铁有限公司| 青岛奥硕数控机械有限公司 | 云南科玛机械设备有限公司| 河南龙工机械制造有限公司| 常州玫尔机械有限公司| 信息技术有限公司起名| 上海昱钢包装机械有限公司| 浙江博创机械有限公司| 唐山文丰钢铁有限公司| 上海丰禾精密机械有限公司| 新乡市威远机械有限公司| 安徽起重机械有限公司| 青岛软控重工有限公司| 河南省矿山起重有限公司| 天盛机械制造有限公司| 山东精诺机械有限公司| 济南沃德机械制造有限公司| 辽宁春光机械有限公司| 威马农业机械有限公司| 宝鸡万工机械制造有限公司| 上海竹达机械设备有限公司| 山东建筑机械有限公司| 华电曹妃甸重工装备有限公司 | 福清市机械有限公司| 东莞高臻机械设备有限公司| 重庆市机械有限公司| 富利源机械有限公司| 山东山推工程机械结构件有限公司 | 曲阜机械设备有限公司| 南京三友机械有限公司| 浙江鼎业机械设备有限公司| 浙江上洋机械有限公司| 广州领新机械实业有限公司| 江苏苏能机械有限公司| 青岛雷沃工程机械有限公司 | 北京包装机械有限公司| 长沙盛泓机械有限公司| 宁波壬鼎机械有限公司| 诸城市志诺机械有限公司| 昆山烽禾升精密机械有限公司 | 长城机械制造有限公司| 霸州新利钢铁有限公司| 金旺机械设备有限公司| 新乡市豫新起重机械有限公司 | 瑞安包装机械有限公司| 江苏合丰机械制造有限公司| 常熟通江机械有限公司| 陕西 机械 有限公司| 河北航天振邦精密机械有限公司 | 俊杰机械深圳有限公司| 上海福源机械有限公司| 邯郸市复液液压机械有限公司| 曲阜天阳机械有限公司| 上海楷钛机械制造有限公司| 宁波友杰机械有限公司| 章丘市机械有限公司| 张家港长力机械有限公司| 河南华北起重吊钩有限公司| 东莞市金联吹塑机械有限公司 | 安徽远鸿机械自动化有限公司| 莱州 机械有限公司| 山东国丰机械有限公司| 瑞安市华东包装机械有限公司 | 东莞市浈颖机械设备有限公司 | 潍坊裕川机械有限公司| 海宁亚东机械有限公司| 东莞利瀚机械有限公司| 四川久进机械制造有限公司| 久海机械制造有限公司| 宝钢湛江钢铁有限公司| 宁波华骏机械有限公司| 杭州双林机械有限公司| 兴鑫钢铁有限公司电话| 杭州灵达机械有限公司| 青岛正机械有限公司| 安徽远鸿机械自动化有限公司| 上海凯奇机械设备有限公司| 德林机械制造有限公司| 苏州鸿安机械有限公司| 杭州岛文机械有限公司| 成都金瑞建工机械有限公司| 上海腾迈机械有限公司| 浙江速成精密机械有限公司| 江苏国天锻压机械有限公司| 温州设备机械有限公司| 深圳精密达机械有限公司| 昆山市机械制造有限公司| 上海旭恒精工机械制造有限公司| 张家港斯依格机械设备制造有限公司 | 常州聚武机械有限公司| 上海捷舟工程机械有限公司| 江西欧克机械有限公司| 杭州苹果机械有限公司| 新乡市中天机械有限公司 | 无锡市康晖机械制造有限公司| 马鞍山钢铁有限公司| 河南卫华起重机有限公司| 杭州兴达机械有限公司| 山东神州机械有限公司| 浙江胜祥机械有限公司| 常州亚美柯机械设备有限公司| 杭州兴达机械有限公司| 山东隆盛钢铁有限公司| 山东六丰机械工业有限公司| 长兴军毅机械有限公司| 宁波东泰机械有限公司| 嘉善远景机械有限公司| 宁波五峰机械有限公司| 宁波北仑机械有限公司| 佛山市机械设备有限公司| 大连 机械制造有限公司| 辽阳筑路机械有限公司| 鄂州鸿泰钢铁有限公司| 上海昌强重工机械有限公司| 东莞市机械设备有限公司| 张家港精密机械有限公司| 佛山市强源钢铁有限公司| 鹤壁市豫星机械制造有限公司| 汉邦机械制造有限公司| 西安冠杰机械设备有限公司| 佛山市中牌机械有限公司| 宁波安德机械有限公司| 山东起重机械有限公司| 矿山起重机有限公司| 机械进出口有限公司| 昆山乔地精密机械有限公司| 台州启运机械有限公司| 厦门华峰辊压机械有限公司| 上海二和机械有限公司| 江阴长达钢铁有限公司| 兰州机械设备有限公司| 汕头机械有限公司招聘| 江苏润明机械设备有限公司怎么样 | 千机械制造有限公司| 广东力丰机械有限公司| 广州众起办公用品有限公司| 上海申虎包装机械设备有限公司| 广东三浦重工有限公司| 华劲机械制造有限公司| 上海达辉机械有限公司| 临清 机械有限公司| 常州杭钢卓信机械装备有限公司| 河南兴邦重工机器有限公司| 恒天九五重工有限公司| 浙江印刷机械有限公司| 锦辉五金机械有限公司| 上海德元机械设备有限公司| 大丰奥泰机械有限公司| 常州光明包装机械有限公司| 保定市机械制造有限公司| 西安华欧精密机械有限公司| 泸州长江工程机械成套有限公司| 大连龙尧塑料机械有限公司| 新麦机械 无锡 有限公司| 山东钢铁日照有限公司| 南京工程机械有限公司| 上海福源机械有限公司| 苏州派普机械有限公司| 苏州德扬数控机械有限公司| 上海钢铁贸易有限公司| 合肥逸飞包装机械有限公司| 宁波天辉机械有限公司| 辽宁富一机械有限公司| 延边鸿起实业有限公司| 东芝机械上海有限公司| 浙江飞挺机械有限公司| 深圳恒盛力包装机械有限公司| 合肥康恒机械有限公司| 临沂盖氏机械有限公司| 无锡起重机械有限公司| 宏祥建筑机械有限公司| 豪利机械苏州有限公司| 瑞安市机械制造有限公司| 江西钧天机械有限公司奔驰| 安来动力机械有限公司| 商丘机械设备有限公司| 玉环中本机械有限公司| 长沙众宇机械有限公司| 上海升立机械制造有限公司 | 孝感金达钢铁有限公司| 固精密机械有限公司| 广东金凯锐机械技术有限公司| 群韵饮料机械有限公司| 江阴市药化机械有限公司| 上海天勇机械设备有限公司| 丝网机械设备有限公司| 杭州中亚机械 有限公司| 苏州友众传动机械有限公司| 埃比西斯机械有限公司| 浙江包装机械有限公司| 台州市四海机械有限公司| 宁波伟隆传动机械有限公司| 东莞市纳金机械有限公司| 宝力机械有限公司招聘| 三明 机械有限公司| 三友重工机械有限公司| 湖南省湘粮机械制造有限公司| 德州市机械有限公司| 湖南正中制药机械有限公司| 顺兴机械制造有限公司| 杭州海特机械有限公司| 山东环保机械有限公司| 肥城云宇机械有限公司| 福州四兴机械有限公司| 湖州机械制造有限公司| 莱州市鲁樽机械有限公司| 潍坊润达机械有限公司| 广州市金王机械设备有限公司 | 闽源钢铁有限公司停产| 宁波天瑞精工机械有限公司| 北京恒博立华机械设备有限公司| 山西万泽锦达机械制造有限公司 | 浙江万龙机械有限公司| 浙江佑天元包装机械制造有限公司| 常州豪凯机械有限公司| 宁波威恩精密机械有限公司 | 青岛岛宇机械有限公司| 上海全众机械有限公司| 漳州 机械有限公司| 江苏大明重工有限公司| 德实机械平湖有限公司| 上海嘉迪机械有限公司| 东莞市鼎祥通用机械设备有限公司| 浙江长江机械有限公司| 许昌 机械有限公司| 上海紫光机械有限公司| 江阴宏达机械有限公司| 浙江胜祥机械有限公司| 温州正钻机械有限公司| 南京南特精密机械有限公司| 陆丰机械郑州有限公司|