EasyNVR & EasyNVS 視頻監(jiān)控系統(tǒng)測試部署文檔

一希柿、項(xiàng)目需求

每臺(tái)豆二的方倉部署攝像頭拓瞪,通過遠(yuǎn)端部署easynvr服務(wù),云平臺(tái)部署easynvs來實(shí)現(xiàn)所有方倉的集中監(jiān)控直播

要求攝像頭支持ONVIF和RTSP協(xié)議

如果設(shè)備是各種廠家都有,而且不固定负乡,建議采用的是RTSP這種國際標(biāo)準(zhǔn)的取流方式

@注: IPC 網(wǎng)絡(luò)攝像機(jī)

EasyNVR介紹

EasyNVR能夠通過簡單的網(wǎng)絡(luò)攝像機(jī)通道配置榜田,將傳統(tǒng)監(jiān)控行業(yè)里面的高清網(wǎng)絡(luò)攝像機(jī)IP Camera益兄、NVR等具有RTSP協(xié)議輸出的設(shè)備接入到EasyNVR,EasyNVR能夠?qū)⑦@些視頻源的音視頻數(shù)據(jù)進(jìn)行拉取箭券,轉(zhuǎn)換為RTMP/HLS净捅,進(jìn)行全平臺(tái)終端H5直播(Web、Android辩块、iOS)蛔六,并且EasyNVR能夠?qū)⒁曨l源的直播數(shù)據(jù)對(duì)接到第三方CDN網(wǎng)絡(luò),實(shí)現(xiàn)互聯(lián)網(wǎng)級(jí)別的直播分發(fā)废亭。

EasyNVS介紹

EasyNVS云管理平臺(tái)是一套專門用于集中化管理EasyNVR 的解決方案. EasyNVR 采用主動(dòng)注冊的方式接入到 EasyNVS, 再由 EasyNVS 云管理平臺(tái)進(jìn)行統(tǒng)一的視頻能力輸出, 并配套提供一整套的云端設(shè)備可視化運(yùn)維功能, 方便于用戶進(jìn)行云端的視頻大數(shù)據(jù)處理

EasyNVR

二国章、EasyNVR

1.EasyNVR的優(yōu)點(diǎn)

  • RTSP視頻流到RTMP/HLS的轉(zhuǎn)碼,并提供了一套api和一個(gè)可視化管理平臺(tái)來便于調(diào)用豆村。同時(shí)支持ONVIF協(xié)議進(jìn)行云臺(tái)控制

  • 用easyNVR必須要有RTSP協(xié)議的支持液兽!想通過云臺(tái)控制必須有ONVIF的支持!

  • EasyNVR的部署很方便掌动,無論是windows還是linux四啰,非常綠色,解壓完后直接運(yùn)行就可以坏匪,根目錄下的easynvr.ini也提供了非常清晰的配置項(xiàng)拟逮。

2.EasyNVR的缺點(diǎn)

  • 價(jià)格略貴,不開源适滓,目前永久使用版本需要經(jīng)過授權(quán)才能商業(yè)使用
  • 網(wǎng)上的相關(guān)技術(shù)支持文檔不全面

3. EasyNVR要面臨的問題

  • 成本問題:在無固定公網(wǎng)IP的監(jiān)控現(xiàn)場敦迄,當(dāng)需要將NVR接入到公網(wǎng)進(jìn)行直播的時(shí)候,必須在監(jiān)控現(xiàn)場安裝部署EasyNVR凭迹,由EasyNVR進(jìn)行音視頻數(shù)據(jù)的橋接罚屋,對(duì)接到公網(wǎng)進(jìn)行各種直播、錄像嗅绸、檢索與回放操作脾猛,但是這樣,會(huì)增加接入成本鱼鸠,每一個(gè)現(xiàn)場都需要增加一臺(tái)設(shè)備猛拴;
  • 條件限制:由于很多現(xiàn)場是比較偏遠(yuǎn)的羹铅、或者臨時(shí)的,這些情況下的IPC可能都是采用4G或者其他簡單的方式搭建的愉昆,無法再承載一臺(tái)EasyNVR云終端進(jìn)行對(duì)接轉(zhuǎn)發(fā)职员,只能由IPC自己對(duì)接到平臺(tái);
  • 接入通用性:當(dāng)我們需要從現(xiàn)場的各種IPC跛溉、NVR取錄像的時(shí)候焊切,如果涉及到各種廠家,而且各種不同的版本芳室,我們無法通過各個(gè)廠家的SDK一個(gè)一個(gè)接入专肪,這樣開發(fā)成本和穩(wěn)定的周期會(huì)很長,而且一旦涉及SDK直接對(duì)接設(shè)備堪侯,不可避免可能就會(huì)需要EasyNVR云終端部署在現(xiàn)場的情況嚎尤,所以,如果有條件抖格,IPC/NVR直接將錄像數(shù)據(jù)對(duì)接到平臺(tái)端是最合適的方案诺苹。
  • 中斷問題:集成視頻流直播咕晋,幾分鐘就會(huì)出現(xiàn)中斷問題雹拄,由于EasyNVR自身默認(rèn)開啟的是按需直播(有用戶觀看該路視頻流才會(huì)拉取對(duì)應(yīng)視頻流進(jìn)行直播),因此我們在視頻播放過程中需要定期向服務(wù)端發(fā)送視頻播放心跳掌呜,以此來保證服務(wù)端不間斷拉流滓玖。在播放過程中30秒調(diào)用一次touchchannelstream接口,就可以保持視頻流不間斷直播(具體接口參數(shù)見接口文檔)

4. EasyNVR無法解決的方案

  • 國標(biāo)GB28181協(xié)議采用的是主動(dòng)注冊的方式對(duì)接到平臺(tái)质蕉,菏拼郏康、大華模暗、宇視的設(shè)備都共有的屬性就是國標(biāo)GB/T28181禁悠;
  • 主動(dòng)注冊的方式完美地解決了設(shè)備網(wǎng)絡(luò)無固定IP的問題,只要平臺(tái)地址固定兑宇,設(shè)備就可以找到平臺(tái)碍侦,并對(duì)接進(jìn)來;
  • 國標(biāo)GB28181完整定義了整個(gè)安防過程需要的直播隶糕、錄像瓷产、云臺(tái)控制、報(bào)警等全部過程枚驻,那么也就是說濒旦,這些過程咱們無需再一個(gè)廠家一個(gè)廠家地對(duì)接SDK了,直接按照一套協(xié)議進(jìn)行開發(fā)平臺(tái)再登,就可以接入所有廠家的設(shè)備了尔邓;
  • EasyGBS國標(biāo)流媒體解決方案是由EasyDSS團(tuán)隊(duì)研發(fā)的一款專門用于接入國標(biāo)設(shè)備的視頻解決方案晾剖,不但從設(shè)備接入層面上,完整地接入了內(nèi)網(wǎng)或者公網(wǎng)的國標(biāo)設(shè)備梯嗽,而且在輸出層面上钞瀑,完全采用了最新的互聯(lián)網(wǎng)思維方式,國標(biāo)IPC/NVR能通過平臺(tái)同步輸出RTMP/HLS/HTTP-FLV多種視頻流格式慷荔,非常好地解決了傳統(tǒng)安防與互聯(lián)網(wǎng)之間的銜接雕什。

5. EasyNVR主要功能

包括通過RTSP協(xié)議接入攝像機(jī)、支持Onvif協(xié)議显晶,支持云臺(tái)控制贷岸;焦距縮放、全平臺(tái)(web/Android/iOS/微信/H5)觀看磷雇;支持RTMP偿警、HLS、http-flv協(xié)議唯笙、支持CDN接入螟蒸;直接在每一個(gè)通道配置填寫?yīng)毩⒌陌⒗镌?騰訊云CDN的RTMP推流地址即可;支持全網(wǎng)頁配置管理崩掘;支持用戶管理七嫌,權(quán)限驗(yàn)證;支持錄像點(diǎn)播苞慢、錄像計(jì)劃诵原、時(shí)間錄像檢索播放。且EasyNVR能夠?qū)⒁曨l源的直播數(shù)據(jù)對(duì)接到第三方CDN網(wǎng)絡(luò)挽放,實(shí)現(xiàn)互聯(lián)網(wǎng)級(jí)別的直播分發(fā)</font>

6. EasyNVR錯(cuò)誤碼解釋

RTSP錯(cuò)誤碼
401: 未被授權(quán)绍赛,密碼錯(cuò)誤
404: 未發(fā)現(xiàn)設(shè)備
Socket錯(cuò)誤碼
10057: socket沒有連接到目標(biāo)
11004: 請求的類型的名字或數(shù)據(jù)錯(cuò)誤

三、EasyNVS

1. EasyNVS的優(yōu)點(diǎn)

  • 主動(dòng)注冊:每個(gè)EasyNVR現(xiàn)場無需固定IP辑畦,即可實(shí)現(xiàn)公網(wǎng)對(duì)所有設(shè)備的綜合管理
  • 統(tǒng)一接口:統(tǒng)一管理吗蚌、統(tǒng)一輸出,屏蔽各種類型的設(shè)備纯出,各種網(wǎng)絡(luò)條件的因素導(dǎo)致的接入問題
  • 云端復(fù)用:云端分發(fā)蚯妇、H5快速起播,解決EasyNVR現(xiàn)場帶寬有限潦刃、HLS類起播較慢的問題

2. EasyNVR失控

  • 監(jiān)控現(xiàn)場增加或者減少一個(gè)直播攝像頭侮措,或者有攝像頭無法直播需要排查問題,我們都需要安排人員去現(xiàn)場進(jìn)行運(yùn)維支撐乖杠,還有一種情況分扎,可能運(yùn)營者需要定期做各個(gè)IPC設(shè)備的巡檢,統(tǒng)計(jì)設(shè)備在線率和故障率胧洒,應(yīng)該如何能夠快速達(dá)到我們想要的結(jié)果畏吓。

3.為什么用EasyNVS管理平臺(tái)

先從EasyNVR智能云終端(以前稱之為EasyNVR無插件直播服務(wù)器墨状、EasyNVR流媒體服務(wù)器等)的應(yīng)用場景說起,在使用EasyNVR接入監(jiān)控現(xiàn)場的IPC網(wǎng)絡(luò)攝像機(jī)或者NVR網(wǎng)絡(luò)硬盤錄像機(jī)菲饼。

如果想要做公網(wǎng)的觀看和直播會(huì)遇到幾個(gè)需求痛點(diǎn)問題:

  • IPC和NVR所在的現(xiàn)場是有公網(wǎng)固定IP的,將EasyNVR部署在云端直接可以通過公網(wǎng)RTSP地址是可以直接接入攝像機(jī)的肾砂,但是對(duì)大部分企業(yè)來說,固定IP的這個(gè)成本太高了宏悦,不值得镐确。
  • 規(guī)模較小,如果是一兩個(gè)EasyNVR直播現(xiàn)場需要固定IP饼煞,成本還算基本可控源葫;但是一旦現(xiàn)場較多,帶寬成本和管理成本就會(huì)較高砖瞧,如果能夠 現(xiàn)場無需固定IP + 云端直接配置管理和直播息堂,那對(duì)于系統(tǒng)的管理者來說,將會(huì)省去很多運(yùn)營成本和運(yùn)維成本块促。
  • 對(duì)于開發(fā)者這一面荣堰,當(dāng)企業(yè)部署超過多套的EasyNVR時(shí),EasyNVR作為能力平臺(tái)被開發(fā)者調(diào)用接入時(shí)竭翠,多個(gè)現(xiàn)場的EasyNVR信息歸檔振坚、接口調(diào)用、視頻能力調(diào)用逃片,開發(fā)者都要自行維護(hù)現(xiàn)場列表屡拨、設(shè)備列表數(shù)據(jù)庫,這將會(huì)增加開發(fā)者的開發(fā)周期和難度褥实,如果能夠將多個(gè)現(xiàn)場的EasyNVR都統(tǒng)一到一套EasyNVS管理平臺(tái)來進(jìn)行能力輸出,對(duì)于開發(fā)者集成裂允,也將是一道福音损离。
  • 比較于云端帶寬資源,非固定IP和固定IP的帶寬绝编,上行輸出帶寬都太少了僻澎,完全不能夠滿足安防互聯(lián)網(wǎng)化直播的多路分發(fā)需求,如果有一個(gè)平臺(tái)十饥,能夠做到現(xiàn)場EasyNVR一個(gè)通道的直播流只需要一路上行窟勃,即可在云端進(jìn)行多客戶端的復(fù)用,充分利用云端的帶寬能力做視頻分發(fā)逗堵,那將會(huì)是對(duì)安防設(shè)備互聯(lián)網(wǎng)化直播能力的一次巨大提升秉氧。

4. EasyNVS管理平臺(tái)使用方式

  • EasyNVS管理平臺(tái)就是專門用來跟EasyNVR智能云終端做配合的;
  • EasyNVR能通過主動(dòng)注冊的方式注冊到EasyNVS管理平臺(tái)蜒秤,屏蔽了各種網(wǎng)絡(luò)環(huán)境問題汁咏,無論是有線亚斋、WIFI、4G攘滩、專網(wǎng)帅刊,只要有通道口子能讓EasyNVR訪問到EasyNVS管理平臺(tái),即可實(shí)現(xiàn)平臺(tái)對(duì)接漂问;
  • EasyNVS管理平臺(tái)能獲取到EasyNVR的所有能力赖瞒,并進(jìn)行互聯(lián)網(wǎng)化輸出,同時(shí)進(jìn)行統(tǒng)一化的管理和接口輸出蚤假;
  • EasyNVS管理平臺(tái)自帶流媒體分發(fā)功能冒黑,同一個(gè)EasyNVR設(shè)備的同一個(gè)通道流,只需要一路流上行到EasyNVS即可在EasyNVS管理平臺(tái)端進(jìn)行多路分發(fā)勤哗;
  • EasyNVS管理平臺(tái)帶有在線統(tǒng)計(jì)和分析功能抡爹,能實(shí)時(shí)輸出EasyNVS所有接入的EasyNVR設(shè)備、通道的在線率芒划,流量占用以及硬件使用等綜合信息冬竟!

有了EasyNVS,可以通過一套平臺(tái)在云端就能進(jìn)行一站式的集中管控民逼,極大地節(jié)省了運(yùn)維的成本泵殴!

四、部署安裝

  1. 硬件推薦配置

官網(wǎng)下載鏈接

1. EasyNVR

下載安裝包并解壓

cd /server/tools/
wget https://easynvr-1257312146.cos.ap-shanghai.myqcloud.com/EasyNVR/EasyNVR-linux-3.3.5-1910280228.tar.gz
tar xf EasyNVR-linux-3.3.5-1910280228.tar.gz -C /opt/EasyNVR

端口配置

EasyNVR配置web端口:10810(easynvr.ini中配置port)
nginx web端口:10800(nvrnginx/easydss.conf中http listen配置)
nginx rtmp端口:10935(nvrnginx/easydss.conf中rtmp listen配置)

[root@nvr opt]# cat EasyNVR/easynvr.ini 
[base_config]
port=10810  #NVR web端口
; token 超時(shí)時(shí)間(秒)
token_timeout=604800
; 直播頁面鑒權(quán), 即是否要求登錄后觀看視頻(0-關(guān)閉, 1-開啟)
live_streaming_auth=0
; 接口返回流地址類型(0-RTMP優(yōu)先輸出, 1-強(qiáng)制HLS輸出)
flash_stream_type=0
; 快照抓取時(shí)鐘周期(分)
channel_snap_interval=1
; 快照抓取超時(shí)時(shí)間(秒)
channel_snap_timeout=10
; 通道重連時(shí)鐘周期(秒)
channel_connect_interval=30
; 通道列表內(nèi)部遍歷時(shí)鐘周期(秒)
channel_loop_interval=10
; 播放逼床裕活超時(shí)時(shí)間(秒)
channel_touch_timeout=60
; ONVIF 發(fā)現(xiàn)內(nèi)部時(shí)鐘周期(秒)
onvif_discover_interval=30
; 通道啟動(dòng)間隔時(shí)間(毫秒)
channel_delay_ms=100
; 清理錄像時(shí)鐘周期(秒)
channel_clean_record_interval=60
; 是否需要接口鑒權(quán)(0-關(guān)閉, 1-開啟)
api_auth=1
; 是否需要開啟智能分析(0-關(guān)閉, 1-開啟)
ai_filter=0
; 直播鑒權(quán)第三方回調(diào)地址, HTTP GET
; 請求參數(shù): 除透傳流地址參數(shù)外, 固定參數(shù): app, call, name
; 響應(yīng): 200 - 鑒權(quán)通過, 其它 - 鑒權(quán)不通過
; 比如: http://demo.easynvr.com:10800/api/v1/check/stream/auth
stream_auth_url=

[https]
; 可選配置開啟 HTTPS 服務(wù)
port=
ssl_cert_file=
ssl_key_file=
[root@nvr EasyNVR]# cat nginx/conf/easydss.conf |grep listen
        listen 10935;   #rtmp
        listen 10800;   #web

使用軟件

執(zhí)行軟件根目錄下的腳本 start.sh 停止軟件執(zhí)行stop.sh

訪問EasyNVR

端口默認(rèn)為10810(http://ip:10810

api接口文檔:http://ip:10810/apidoc

默認(rèn)用戶名/密碼為 easynvr/easynvr

進(jìn)行通道設(shè)置連接攝像頭

輸入接入攝像機(jī)的IP地址笑诅、端口、RTSP地址疮鲫、用戶名吆你、密碼、按需直播等選項(xiàng)俊犯,支持Onvif控
制的可以填入Onvif地址妇多,配置完成后點(diǎn)擊確定。
如果攝像機(jī)接入RTSP地址選項(xiàng)中可以配置賬號(hào)和密碼的盡量在這個(gè)url里面配置好賬號(hào)和密碼燕侠,地址格式正確
就可以正常訪問者祖。而在配置項(xiàng)里面給出的攝像機(jī)用戶名和攝像機(jī)密碼選項(xiàng)是為了兼容有些url里面不能帶有用戶名和密碼。兩個(gè)并不沖突绢彤。

RTSP協(xié)議規(guī)則配置

各個(gè)攝像機(jī)/NVR廠家的RTSP規(guī)則不一樣七问,我們列舉幾個(gè)常用的廠家的設(shè)備RTSP規(guī)則:

TP-Link攝像頭:rtsp://username:password@ip:port/stream1(2)

@注:stream1是主碼流 stream是子碼流

探測ONVIF IP

image

錄像保留設(shè)置

image

通道配置設(shè)置完成

image

視頻廣場查看

image

image

手機(jī)APP的EasyNVR進(jìn)行觀看

image

image

2. EasyNVS(云上)

下載安裝包

cd /server/tools/
wget https://easynvr-1257312146.cos.ap-shanghai.myqcloud.com/EasyNVS/EasyNVS-linux-2.0.0-1907011734.tar.gz

端口使用

TCP 端口 : 10811(HTTP), 10812(接入認(rèn)證端口)

[root@lcx-01 EasyNVS]# vim easynvs.ini 
[http]
port=10811
; token 超時(shí)時(shí)間(秒)
token_timeout=604800
[https]
; 可選配置開啟 HTTPS 服務(wù)
port=
ssl_cert_file=
ssl_key_file=

[nvs]
port=10812
; 設(shè)備統(tǒng)一接入密碼
device_password=<passwd>

執(zhí)行軟件根目錄下的腳本 start.sh 停止軟件執(zhí)行stop.sh

進(jìn)行訪問:

? web頁面:http://ip:10811

? api接口:http://ip:10811/apidoc

賬號(hào)密碼默認(rèn)admin/admin

image
image

配置 EasyNVR 接入

在這里插入圖片描述

接入成功后, 即可在 EasyNVS 主界面設(shè)備下拉列表中看到接入的 EasyNVR

image

image

五像吻、ONVIF Device Test Tool測試工具

ONVIF Device Test Tool測試工具使用方法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末沟娱,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子帽哑,更是在濱河造成了極大的恐慌,老刑警劉巖坟比,帶你破解...
    沈念sama閱讀 211,561評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件芦鳍,死亡現(xiàn)場離奇詭異,居然都是意外死亡葛账,警方通過查閱死者的電腦和手機(jī)柠衅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來籍琳,“玉大人菲宴,你說我怎么就攤上這事∏骷保” “怎么了喝峦?”我有些...
    開封第一講書人閱讀 157,162評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長呜达。 經(jīng)常有香客問我谣蠢,道長,這世上最難降的妖魔是什么查近? 我笑而不...
    開封第一講書人閱讀 56,470評(píng)論 1 283
  • 正文 為了忘掉前任眉踱,我火速辦了婚禮,結(jié)果婚禮上霜威,老公的妹妹穿的比我還像新娘谈喳。我一直安慰自己,他們只是感情好戈泼,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評(píng)論 6 385
  • 文/花漫 我一把揭開白布婿禽。 她就那樣靜靜地躺著,像睡著了一般大猛。 火紅的嫁衣襯著肌膚如雪扭倾。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,806評(píng)論 1 290
  • 那天胎署,我揣著相機(jī)與錄音吆录,去河邊找鬼。 笑死琼牧,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的哀卫。 我是一名探鬼主播巨坊,決...
    沈念sama閱讀 38,951評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼此改!你這毒婦竟也來了趾撵?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,712評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎占调,沒想到半個(gè)月后暂题,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,166評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡究珊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評(píng)論 2 327
  • 正文 我和宋清朗相戀三年薪者,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片剿涮。...
    茶點(diǎn)故事閱讀 38,643評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡言津,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出取试,到底是詐尸還是另有隱情悬槽,我是刑警寧澤,帶...
    沈念sama閱讀 34,306評(píng)論 4 330
  • 正文 年R本政府宣布瞬浓,位于F島的核電站初婆,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏猿棉。R本人自食惡果不足惜磅叛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望铺根。 院中可真熱鬧宪躯,春花似錦、人聲如沸位迂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽掂林。三九已至臣缀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間泻帮,已是汗流浹背精置。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留锣杂,地道東北人脂倦。 一個(gè)月前我還...
    沈念sama閱讀 46,351評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像元莫,于是被迫代替她去往敵國和親赖阻。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評(píng)論 2 348