前言
5 W# O1 Z5 G8 d$ b) S由于nas下载影片较多,导致了203找影片需要翻页很多次,好在OPPO UDP-203的排序是按文件名(吐槽下先锋完全是乱序),OPPO UDP-203还是可以相对轻松翻到。但是很多种子命名都是乱来的,看文件名完全无法理解是什么影片(有做种需求,所以无法修改文件名),所以自行做了搜刮匹配数据后的海报墙。在每次看影片时需要先搜索到对应的文件名,再到播放器去寻找,还是比较麻烦。当发现机器有RS232接口时,瞬间找到了希望,官方很良心的提供了完整的操作文档,并且还提供了TCP协议文档《链接查看》,操作起来更加便捷。
+ d1 z: A$ O# F; T本文最终实现效果为,在点击海报墙的同时 播放器自动播放影片。
1 s! ~2 A* ^# W; L; q
9 [5 ^( m( x2 h# m# w! c k
% Q% |" A( v8 H+ f0 M6 T* X
x3 A6 |- D% U3 g7 aOPPO RS-232 & IP 控制协议这部分协议提供了完整的操控方法,但无法满足我的需求,所以使用了APP的协议,细节可看到下一章节。
9 a0 ], n" m( n% O, O播放器广播播放器联网后,会通过UDP每十秒的间隔向局域网内7624端口广播自己的连接信息(其中换行为\n) - Notify:OPPO Player Start. I3 f9 u% U' `! x5 _; u
- <div>Server IP:192.168.1.2
]. W5 B+ @0 i" a9 S( F - Server Port:23% @4 C5 O# f' c+ S' U- A
- Server Name:OPPO UDP-203</div>
复制代码
^ N4 U4 n. c8 {0 H. u注:此处23端口为固定,且非Telnet 发送/接收指令消息体已#开头,\n结束 示例 - ASCII:#EJT\nHEX:23 45 4a 54 0a
复制代码
! X; r, {2 Q! F3 u发送后播放器会返回
# k3 T& K8 l4 F5 S2 T- ASCII:OK OPEN\nHEX:4f 4b 20 4f 50 45 4e 0a
复制代码 8 ?5 I9 b# ^; ^5 s) ~: M0 r
按键类1 [0 E+ D! M) d) G- O$ m
指令 | 遥控按键 | 功能 | 响应示例 | POW | POWER | 切换电源待机/开启 | OK ON z3 E$ w2 m7 n i7 a
OK OFF | EJT | OPEN | 弹出/收起碟仓 | OK OPEN! b4 x9 T U9 w1 e+ U4 S
OK CLOSE | PON | ON | Discrete on | OK ON | POF | OFF | Discrete off | OK OFF | DIM | DIMMER | 前面板显示屏变暗 | OK ON
/ T4 v" g7 a$ C5 e) ]OK DIM" d% C( w8 o: a7 F
OK OFF | PUR | PURE | 纯音频模式(无视频 | OK ON
+ v) u+ E% t9 p( A- z; COK OFF | VUP | VOL + | 调大音量 | OK n (n是音量7 y) Q9 Y: M) ~. k( h- f# V% e
范围:0 – 100) | VDN | VOL - | 调小音量 | OK n (n是音量
( T6 m7 m8 M( J) l: m+ \: W范围:0 – 100) | MUT | MUTE | 静音 | OK MUTE
. Z) _- W/ C H r, C( ^ C! A: p5 N6 UOK UNMUTE | NU1 | 1 | 数字按键1 | OK | NU2 | 2 | 数字按键2 | OK | NU3 | 3 | 数字按键3 | OK | NU4 | 4 | 数字按键4 | OK | NU5 | 5 | 数字按键5 | OK | NU6 | 6 | 数字按键6 | OK | NU7 | 7 | 数字按键7 | OK | NU8 | 8 | 数字按键8 | OK | NU9 | 9 | 数字按键9 | OK | NU0 | 0 | 数字按键0 | OK | CLR | CLEAR | 清除数字输入 | OK | GOT | GOTO | Play from a specified location | OK | HOM | HOME | 进入主菜单 | OK | PUP | PAGE UP | 显示上一页 | OK | PDN | PAGE DOWN | 显示下一页 | OK | OSD | INFO | 显示/隐藏屏幕显示 | OK | TTL | TOP MENU | 显示BD顶部菜单或DVD标题 | OK | MNU | POP-UP MENU | 显示BD弹出菜单 | OK | NUP | Up Arrow | 上键 | OK | NLT | Left Arrow | 左键 | OK | NRT | Right Arrow | 右键 | OK | NDN | Down Arrow | 下键 | OK | SEL | ENTER | 确定 | OK | SET | SETUP | 进入播放器设置菜单 | OK | RET | RETURN | 返回上级菜单或模式 | OK | RED | RED | 红色功能按键 | OK | GRN | GREEN | 绿色功能按键 | OK | BLU | BLUE | 蓝色功能按键 | OK | YLW | YELLOW | 黄色功能按键 | OK | STP | STOP | 停止 | OK | PLA | PLAY | 开始 | OK | PAU | PAUSE | 暂停 | OK | PRE | PREV | Skip to previous | OK | REV | REV | 快退 | OK 1X | FWD | FWD | 快进 | OK 1X | NXT | NEXT | Skip to next | OK | AUD | AUDIO | 声音 | OK | SUB | SUBTITLE | 字幕 | OK | ANG | ANGLE | 改变摄像机角度 | OK a/b (a: 当前角度! P( l3 R2 L; z" N4 B8 ^
b: 全部角度) | ZOM | ZOOM | Zoom in/out and adjust aspect
6 C; {9 _7 J" w6 D# z3 |9 u( u5 bratio | OK (zoom ratio text) | SAP | SAP | Turn on/off Secondary Audio
2 R7 P, W# I4 Z q/ u9 VProgram | OK (音轨信息)
. F% y% m* P5 ~, r. C) dOK Off | ATB | AB REPLAY | 重复播放所选部分 | OK AOK A-B
2 s. s8 L6 j. z5 ]. `OK OFF | RPT | REPEAT | 重放 | OK Repeat Chapter; a3 y( t+ c# ] k
OK Repeat Title
, X5 z6 x+ i+ n# IOK OFF | PIP | PIP | 显示/隐藏画中画 | OK (PIP program info)' V+ J! X4 [6 F+ ^" J
OK Off | HDM | RESOLUTION | 切换输出分辨率 | OK | SUH | SUBTITLE (按住) | 按住字幕键,进行字幕位移 | OK | OPT | OPTION | 显示/隐藏选项菜单 | OK | M3D | 3D | 显示/隐藏 2D转3D调整或3D调整菜单 | OK | SEH | PIC | 显示图片调整菜单 | OK | HDR | HDR | 显示 HDR 选择菜单 | OK | INH | INFO (按住) | 显示详细信息 | OK | RLH | RESOLUTION
9 q1 N' c Q# u(按住) | 将分辨率设为自动 | OK | AVS | | Displaythe A/V Sync adjustment
+ w3 O$ P/ J! C/ K O! O8 I! s% xmenu | OK | GPA | | 无缝播放 | OK | NOP | | 空操作 | OK | SRC | INPUT | 显示输入菜单
2 b2 p# S9 r" q! }! _2 {) _例:#SRC followed by #NU1 | OK |
2 g! y% V5 D1 S. B7 N8 C1 P查询类指令 | 功能 | 响应示例 | QVM | Query verbose mode | OK 01 o9 k4 w+ I' @; k E6 b0 W/ k
OK 1
) x) ^# a4 [' @/ J3 mOK 27 v( y% S. L$ H6 b, Y- {/ t3 v- M
OK 3 | QPW | 查询电源状态 | OK ON: }3 H6 {6 u" `4 M: M- N, M( T
OK OFF | QVR | 查询固件版本 | OK UDP20X-xx-xxxx | QVL | 查询音量 | OK 100
# c: f9 i2 h& P c8 nOK MUTE | QHD | 查询HDMI分辨率 | OK 480I: Z' [' A5 }0 u- A* u# R
OK 480P
8 k! {; G" {' |3 o8 }; x$ C1 q/ K3 hOK 576I5 E5 ~- r; b. ~1 s0 O# e q$ ?
OK 576P
+ _6 J6 @; L! Q- l; sOK 720P50
4 t5 j$ g6 d8 q- Z$ _) [OK 720P60
. f+ L2 w6 ?" gOK 1080I50. ]$ _- J6 h, n8 C- v9 H* r0 n
OK 1080I60
* R% \! P% o" y1 X" h( I* w% }8 jOK 1080P247 Y5 Q1 q C* L1 ?' W* T5 N! c
OK 1080P50( b% _+ a- t$ |
OK 1080P60
c' p: t7 J& s, e/ `, q, sOK 1080PAUTO
6 x1 Z; y: M' `, Z% |OK UHD24
9 E" n1 b, w% Z2 r gOK UHD500 g, u+ K4 w* D! B( V
OK UHD60
% t( O; a( r _) B( [: Y3 lOK UHD_AUTO
) O. ~* _ O! z+ sOK AUTO' V. V9 l% I+ y9 G2 M7 U3 |9 l
OK Source Direct | QPL | 查询播放状态 | OK PLAY% C- H- ?. q$ D; i8 `
OK PAUSE: d. z! n! D$ J; G- R3 z2 _8 P( |7 o
OK STOP
* D: K3 \" T P5 I- mOK STEP8 l; M% p( d, T* b/ i
OK FREV
9 E" }, i B( p2 _OK FFWD
" F; y. Z; r& ?9 G g1 yOK SFWD# c' s8 R% D. T( @4 |* g
OK SREV& f5 U7 a( r7 d5 j# J
OK SETUP5 e8 R' V+ J6 R. z6 g9 g; R3 q
OK HOME MENU2 [, Z. F$ N5 w1 {
OK MEDIA CENTER
9 P# y# D# i( W4 ?" `( P |OK SCREEN SAVER
% }( S+ K# r5 D3 k3 {3 GOK DISC MENU | QTK | Query Track/Title | OK 02/10 | QCH | 查询章节 | OK 03/03 | QTE | Query Track/Title elapsed time | OK 00:01:34 | QTR | Query Track/Title remaining time | OK 01:20:23 | QCE | Query Chapter elapsed time | OK 00:01:34 | QCR | Query Chapter remaining time | OK 00:12:22 | QEL | Query Total elapsed time | OK 00:05:12 | QRE | Query Total remaining time | OK 01:34:44 | QDT | Query disc type | OK BD-MV- O% n$ x9 ~. T8 j# |- W4 R
OK DVD-VIDEO: i ^; j+ M( B0 [1 W
OK DVD-AUDIO% b" G$ d1 H3 y/ Q& G
OK SACD
2 m8 r3 K D& p6 x$ COK CDDA; P5 v$ ]' I# D! g
OK DATA-DISC, e; S- S/ j: a1 ?
OK UHBD- |, O% N( ?/ j' e) b+ A4 @0 o2 p
OK NO-DISC! Y5 {, H. y5 r& H
OK UNKNOW-DISC | QAT | Query audio type | OK DD 1/10 Z `! k3 b' J; Q4 {9 l
OK DD 1/5 English
* t/ O) J- l( P+ ^5 X8 bOK DTS 2/5 English
0 S/ ^1 M/ _7 l3 k" O R) X; c/ M& ?OK LPCM
( z' T- D Q+ O, B5 h! IOK DTS-HD 1/4 English | QST | Query subtitle type | OK OFF
$ k; |2 v2 G: Y7 f9 U6 N9 ~2 rOK 1/1 English | QSH | Query subtitle shift | OK -10
' t+ y1 `8 x' M w' ]0 B(valid returns are -10 .. 0 .. 10) | QOP | Query OSD position | OK 0% @/ |9 Y) K- X9 g- Q( s
(valid returns are 0 .. 5) | QRP | Query Repeat Mode | OK 00 Off
4 b& \4 R) T0 U# A" l(OK followed by a repeat mode code and: ?2 r/ b* d2 A% S' ?. u1 R8 c
text:! W$ W1 v" I- O! N1 |5 p
00 Off
& B1 V$ e7 D9 z# @5 d- z, o1 z01 Repeat One
# f) w N" A4 t* ~02 Repeat Chapter/ ]3 s( z, P( I9 Y( L, M& r
03 Repeat All' ^6 c9 Q0 M2 t' J2 s
04 Repeat Title6 m% M; D. k; p! Y2 O+ L. V
05 Shuffle1 d0 I( D, f( j/ ^
06 Random) | QZM | Query Zoom Mode | OK 00
$ i! N4 }6 }- q" p5 B% n5 S(OK followed by a zoom mode code:8 l2 ^) d# m; ~' E) K4 A: V# Y
00 Off. |2 `) i; M7 L
01 Stretch
# I: P* ~: r p02 Full
) r# }! ]7 Y: b. g3 [/ r" h9 \03 Underscan6 |2 g; o0 z o% V: q5 w
04 1.2x
8 N; \3 M3 P0 |0 } V9 H! b; [05 1.3x
$ `. z+ C/ L3 o( z06 1.5x& p* h; `1 c" c9 t8 G( P- b1 ]- L
07 2x
: K# `: F' A5 z' N' c7 L08 3x
4 B, `. ]7 T9 r8 T09 4x- W, c) b0 ~) o& C5 V' N! t# E
10 1/2" m1 j; p9 `. ]( ~* X+ s$ ]7 b
11 1/3
' H# z5 ^( K9 G6 i6 _12 1/4)
* L/ |3 F9 v* tQHR Query HDR Setting
' v b3 u5 y5 ~) MOK Auto
2 l2 r4 z' O1 H" H1 p e x! I2 @OK On
% E8 E5 a) s0 x- I$ k, |8 [OK Off
* `2 M; h) |5 q7 \. KOK StripMetadata | Q3D | Query 3D Status | OK 2D
) g4 g+ \+ H* qOK 3D( B. A+ K% Y% N* `
(returns the actual video output status) | QHS | Query HDR Status | OK HDR
. I! p3 M+ }' eOK SDR
* L" E5 P7 A' c4 \OK DOV
1 _5 e8 |: \# z/ S(returns the actual video output status) | QIS | Query Input Source | OK 0 BD-PLAYER
( r2 V, O0 s& ROK 1 HDMI-IN, Y8 v( n7 s4 g5 q* g. B' u9 z ^8 f2 L
OK 2 ARC-HDMI-OUT
; n: U0 x7 D \1 y: W/ v8 @6 DOK 3 OPTICAL-IN& \9 Z! ]) ^; w% h
OK 4 COAXIAL-IN
- n) j# g/ P! s) v2 V, I1 ]0 o; bOK 5 USB-AUDIO-IN# G {- a d: B) q3 s% e
(Return the currently selected input source) | QCD | Query CDDB number | QC1 OK XXYY1 @) D' Q' Q) {: V2 E/ v
QC2 OK YYZZ6 x, _6 s5 f+ |2 h3 r
ER INVALID: s& k) U2 A8 c8 Q Q* i
(OK followed by the CDDB number of the9 u" f: S! {2 V* y) _
CD being played) | QFT | Query media file format | OK FLAC8 R2 v: b5 V4 P" f
OK WAV3 X) W* j- f2 `- p6 V, C7 {
OK MKV
" [) ?: y+ J* U1 cOK JPG) U% b$ q3 p; Y! R
(OK followed by the media file format)
1 I: v# n' I4 q4 H7 b) VER INVALID | QFN | Query media file name | OK Rocky Mou*.wav
6 y2 S% j J) Z- _: N* ~(OK followed by the file name)
8 B: M+ v9 \# C& KER INVALID | QTN | Query track name | OK Rocky Mountain*
$ Z- P, V q; p6 U) Z8 {& x& P(OK followed by the current track name)& W# C) u" _) y1 ?
ER INVALID | QTA | Query track album | OK Rise And Fall, Rage*
+ I* |/ m% ?, ` r h' A4 h; d(OK followed by the current track album)5 L7 H- N0 F) w# W: Z* g
ER INVALID | QTP | Query track performer | OK The Offspring# E4 x. E; e4 L; s% @
(OK followed by the current track
9 Q) H) O" D/ Z' t0 y, d2 }performer)
; J+ R( h$ |3 MER INVALID | QDS | Query directory size | OK 120+ I- p; U' j. W. ?7 x, V1 I- O9 O
(OK followed by the number of entries in3 E8 ^, c! F- m1 D5 [
the current directory. This command is only( X1 U, B" Y8 I& l) s2 }
valid when the player is navigating a data" ~! v. w, [& b4 z
disc, USB drive or network share.)9 k8 f8 E1 i0 M" d3 b2 ?: _
ER INVALID | QAR | Query aspect ratio setting | OK 16WW (16:9 Wide)- M+ [6 p/ P6 E/ Q% s
OK 16AW (16:9 Wide Auto, currently wide)
* Y3 x( x4 _" w. o: m! L# l- R( _9 ZOK 16A4 (16:9 Wide Auto, currently
4 Q8 b" {& ~$ m7 T+ K) w! qplaying 4:3)
- m) b8 K5 B- s& ]0 e1 h) gOK 21M0 (21:9 Movable, currently full
5 @2 p' q- K7 G9 Jscreen mode)
- P# T& I- Q: Y' ]6 POK 21M1 (21:9 Movable, currently playing
( W; y f% g0 Q. H+ m* |, q5 h16:9 or 4:3 content)
8 e. d) b, t: r' L* K0 aOK 21M2 (21:9 Movable, currently playing
( h& U5 k9 h" T1 F4 W21:9 content)
8 W& c# X6 ?; A2 _9 mOK 21F0 (21:9 Fixed, currently full screen. y2 K( c1 A: q3 w5 g
mode)
' |# b6 _& D5 q' W5 `6 @. R! v. kOK 21F1 (21:9 Fixed, currently playing) a& u! Y# A7 H: N
16:9 or 4:3 content)& h# N. }& I4 @& Y" R$ M$ Q
OK 21F2 (21:9 Fixed, currently playing$ T$ a0 k$ @3 q: v; J
21:9 content) A9 `; K5 Y5 o1 C7 U5 ~
OK 21C0 (21:9 Cropped, currently full: z$ B: |8 g7 Y, |2 ], y
screen mode)# ~ Z! C% d/ [9 n/ v
OK 21C1 (21:9 Cropped, currently playing
+ D6 o* H( t2 A+ N0 b% t. l16:9 or 4:3 content); ], j( l& Q% N% Y8 C& y& ]+ |8 ~8 a
OK 21C2 (21:9 Cropped, currently playing! K5 M l# P, R9 T& m6 i3 t; K
21;9 content) |
; v3 u( E: y% B专家类指令 | 参数 | 功能 | 响应示例 | SVM | 0" |% r4 ^* O7 X& y
1
0 G/ ~: k) c9 e8 l2
& ]$ `4 h, z' e. \3 | 0 – Set Verbose Mode to off
- g( \5 H. L, `# W1 – Not in use (for backwards: Z4 B+ @2 M; i- @0 }4 \
compatibility)
1 E4 C$ f' C2 G2 – Enable unsolicited status updates.
. E7 C1 s* t- fOnly major status changes are
9 F6 S' V6 D& g& r& d7 V+ Lreported.+ f7 w& X" O( f
3 – Enable detailed status updates./ ~$ G9 J# l) v8 s, L3 I
When content is playing, the player& i. m- {. Z: m6 n
sends out playback time updates
2 F$ m. \- E5 Nevery second. | OK 0
. y- }1 G" [. L. yOK 1
3 [5 d" @: B- z3 Q/ Q/ @; iOK 23 `" W% _/ U! O0 R# ^9 D
OK 3 | SHD | AUTO
9 C1 j6 D, p/ O N9 G1 vSRC
- `5 Q- f5 F) zUHD_AUTO8 X7 @: n1 g/ j. S ]1 A
UHD24+ r/ O- r: J e& L; P
UHD501 { A, `7 C4 [7 u9 j
UHD600 x' r% H$ u7 @: m! B$ k- _
1080P_AUTO! b8 x2 I7 D( C
1080P24
) t9 [6 \8 ~: y* I# |1080P50) g3 C9 w/ O! F
1080P60# i- T5 e/ U2 [! Y9 m0 |
1080I50
9 \; d. y' I2 `# ^1080I602 U8 P4 h: d+ \& A" V1 M3 w
720P50
8 f1 ~# c1 T4 A5 i720P60
4 ^; Y2 `7 y" c# M/ \576P5 x$ v6 J9 V4 j$ T4 H$ K/ j1 ^+ R
576I
4 d" L4 o: W8 t480P+ |7 P9 \# p/ x% r) j
480I | Set HDMI output resolution. If a9 a! C2 V3 P; s1 h
custom resolution parameter is given,' T3 @! y0 P/ c: J( F
this command changes the “Custom
( Z# X Y) C' f7 T5 H7 C: s% ZResolution” setting in the Setup Menu
2 D8 f$ x2 h! {2 }and sets the “Output Resolution” to- _/ I% }+ {* C( v# B
“Custom” at the same time. | OK 480P
* c1 o6 X- B6 d/ Y( a. {" Y(OK followed by the8 P- g! C0 ^% S. s' {
original parameter) | SZM | 1! D6 D+ }5 G% ]' Y
AR
) G; w% t) P) g- SFS) N8 I& {$ K2 ~( m
US
+ o* \& t0 v0 e1.2* m( l$ _/ U3 c. ^2 }& R
1.3! i& f+ V7 z$ w* Q8 I, K
1.5
! l* {; |( K5 d- m- I1 {2
$ R4 F7 E, Y# C, F1 F* v' H/ ~7 S; t1/28 G6 W% \ y- z) |
3& F2 k2 Q5 O8 Q/ a
4
3 R' w+ L1 o' c1/3
2 L z6 c n9 a, _" V$ l1/4 | Set zoom ratio.
/ Z4 V ]8 v. t4 `! e$ q3 ~AR – Aspect ratio correction (Stretch,
8 n- I2 x; O1 U- `. sLetterbox or Pillarbox), Q- t1 _ I' s! l9 W4 i& n2 C
FS – Full Screen
+ i# h/ z3 _/ G- w& @( w# z9 }US – Under scan# x" p, } \ V
1, 1.2, 1.3, 1.5, 2, 1/2 – Specified7 \2 Q8 E& q3 I' o& F8 d( L
zoom ratio.- d& m2 [: _% \2 d- f/ t. P6 @
(When the TV Aspect Ratio is set to
( x: Y! t. e! {2 M1 \0 Q4 G; y# v21:9 Movable/Fixed/Cropped in the
- ?& e; L0 p2 k5 CSetup Menu, the only valid parameters8 B5 J6 O+ |+ q7 Q+ M4 |
are 1, AR, and FS. 1 for 16:9 mode,0 O' {' q. F$ Q2 C! a
AR for 21:9 mode, and FS for full2 D _) n# [+ Y+ Q8 k1 i- M9 ?# A
screen mode.) | OK 1.2: t T/ `( p, q) @' E
(OK followed by the zoom- @" k# [. F7 m; q! H: @% l7 m
ratio)
4 a' w$ h* Q3 c4 NER INVALID | SVL | 0 – 100
: g8 I2 N1 z8 zMUTE | Set volume control | OK 100( i8 t0 u, o0 `! @* l0 `
OK MUTE | SRP | CH
c1 g; S9 C* @" DTT
% C5 L; l( @+ n0 J6 O+ F% IALL
. R: M. S- T ^OFF
- [3 O& _8 L3 i! u- w' c1 lSHF1 P' l: k1 y9 k8 y% x3 w
RND | Repeat chapter
% y$ A1 h- i# c; z8 ?3 HRepeat title or CD track
3 ?1 v) T# _5 D' p( ?% P2 N. iRepeat all2 D# H0 {3 S h2 ~
Repeat off
9 T1 `+ s _1 o/ @# pShuffle r7 i& T& Q7 x5 `7 w
Random | OK CH
& J; E8 p5 f* Z(OK followed by the
. g( H6 L; j/ Q4 U% V& V' q6 Trepeat mode)
" \1 s1 C$ L0 ?# c2 H; ZER INVALID | SRH | T3 A7 u2 `- W2 |7 t3 C/ N3 ^0 N" `
C10) J. F2 ]& V4 b9 J5 g' [
C 0:00:34
- b% l3 }2 l$ T) o3 v( C6 iT 0:12:13
3 V' L3 ^& E: y4 ?; Y6 R+ {0:12:13 | Search to Title 3
5 B2 A# l* S: _+ c) MSearch to Chapter 10' o1 h/ |1 e4 j. b* r% e+ y2 U
Search to 0:00:34 of the current0 c4 I' {7 t" h5 Q" a
chapter or track
) I8 M# @$ j6 B U4 f% F4 j9 k+ H% tSearch to 0:12:13 of the current title or
/ g$ a8 B% c3 U7 K0 Xdisc2 y8 a2 v" C [9 e7 m" _
Search to 0:12:13 of the current title or
& B- e9 y4 J# u v x" ?: X! d2 ?disc | OK
* x9 p( z$ z% a: P0 a0 mER INVALID | DPL | | Direct play | OK | RST | | Reset Command – Clean all command1 h% q G) r. K; J0 x
buffers, do not wait for any4 m# v/ R; s9 J6 t1 g
pending/executing commands. Start
; G) L, u6 [# J+ F8 ]over again. | OK | SSH | -10 ... 10 | Set subtitle shift | OK -10 (OK followed by
8 V x( V7 @( V+ a" g/ E, ~the shift level)
6 u8 w) e* I- J# M! Q- {! oER INVALID | SOP | 0 … 5 | Set OSD position | OK 5 (OK followed by the5 l1 s2 |& [/ B* e
position value), f' W) c' {4 r) W- }
ER INVALID | STC | E
3 L" h1 `$ \4 F! }, uR9 G8 {8 Q, Q5 Y- x. F
T& N' J) J6 c% x# G1 D
X
" k0 q- t! a/ C% @6 }7 u" S' d1 T* @! JC# }) C) |4 I, C! M8 `; @- h
K | Set the time information display:, H& U0 ^% \& Y! m$ @: ~1 R( ~# d
E – Total Elapsed time2 M$ ~* S! c& t+ u4 \3 F* E6 Z4 E: Z
R – Total Remaining time# e- ~* U- Q$ P% I
T – Title Elapsed time
3 M0 k0 v0 M+ j! u% ^3 uX – Title Remaining time# v2 t9 ~6 h$ V2 x R' _! i
C – Chapter/track Elapsed time3 ^/ W2 j: f7 z* f$ X1 Y; `
K – Chapter/track Remaining time | OK E, u+ |- J( V1 q$ g# o: I* g& ~
(OK followed by the
% C' ] Y8 q+ A0 f6 ndisplay type)
, u% u5 m5 o% d0 }) R* UER INVALI | SHR | Auto
: }6 J! [8 b5 |5 ^On
' ?) c/ X ~7 k$ Z% B# vOff | Set HDR setting | OK Auto | SIS | 0
; a& h9 l' Y5 x" R- P+ K" `1
2 m( v V" t0 c6 P! q ~& X2
@9 n: ~4 s! y3
; g0 ^. |, v% ]% D& p: Z( X/ Q4
( i! l2 g' e# n( i, d6 ?% ]5 | Select the input source:9 p& |4 Q& D. Z
0 – Blu-ray player
3 B6 T" ^* d/ C9 V! V& L- q1 – HDMI IN2 D; X1 Z; v2 [; T4 G, E
2 – ARC: HDMI OUT
/ |% o) P) X2 {5 E! S, U* y' W3 – OPTICAL IN* d( g4 Y+ j# B1 V; r7 b; C
4 – COAXIAL IN
8 Z, T# m2 n. _0 K5 – USB AUDIO IN; I% W. h0 j: L: R( ]# t) N( `# R
(Parameters 3 – 5 are only available
* \( J ]( ], i" K zfor UDP-205) | OK 0 BD-PLAYER
- ?3 W5 I6 P A, A$ M( D1 }OK 1 HDMI-IN$ K8 r$ ?* ]' z8 q1 V" W
OK 2 ARC-HDMI-OUT" P8 N6 s' \- v j
OK 3 OPTICAL-IN
3 ]4 n+ g# t/ V: ^8 I" IOK 4 COAXIAL-IN8 X+ C6 t6 j7 g5 j
OK 5 USB-AUDIO-IN
9 D( f' L% u) C4 k) @+ t7 t7 }ER INVALID | SSA | ON7 q) ~1 |6 R6 {) S% i3 d% s
OFF* I) N2 n* v* Q
SAVE | Set the parameters for Screen Saver
7 y$ `7 G! q* q' f4 g- \in the Setup Menu – Playback Setup –
, \4 m0 x( j! k5 w1 N5 G3 PScreen Saver. | OK ON
6 n2 v0 r4 y* O. R4 sOK OFF+ G% N6 e9 Y" }& r3 v
OK SAVE* O/ W6 U5 F$ D5 K4 S; P: v% w; v
ER INVALID | APP | DIS. S8 X# V) j) \1 @ u( R; w' l- y1 W
MUS5 i* X; y3 Y- R I
PHO
3 T# l. s) R" j/ ^) F3 D* fMOV9 O) H! m: O# j0 k
NET
U" T$ `' _8 |0 u$ TSET | Stop current playback and start the9 w. H8 Q0 y8 v2 p
corresponding application from the
$ [4 c& H8 z+ c4 l; h7 \- uhome menu:! E( I; @* A/ t5 E" f6 r
DIS – Disc4 i3 u5 |! m9 v( V
MUS – Music
; `( K D( `- R Z) _7 a; LPHO – Photo, e8 c( K/ A7 t( h
MOV – Movie
+ _! P" q3 ~! o' K8 l# MNET – Network
* w. F$ d* q* k5 P }. CSET – Setup | OK DIS) p* W/ ~" B) I7 a* [. y
(OK followed by the
, `- h* a8 ~2 S* uapplication)$ E9 h. g/ O/ k
ER INVALID | SSD | M
6 H$ L3 \. f4 _( g, LS
. Z! Q6 K& ^' g$ X9 ~C | Set SACD Priority. Possible
2 Y) Z5 ~0 _* B* {parameters are:
; f& K# S* C6 w9 G C# O8 ?! zM – Multi-channel" t/ O; k z1 _2 y# J
S – Stereo: b, P( w: {, {: B
C – CD Mode6 }5 p# p: x. [$ o
(This command changes the Setup
/ i1 a( S0 r6 h" eMenu setting for SACD Priority. The
# l5 u& C. V r# {setting takes effect the next time an ?9 \8 F: B5 F
SACD is loaded into the player. If an: j' U; f. V& ~: r
SACD is already in the player, this
, i% X- g- V0 c Y Ksetting does not immediately change
% F- P# @7 o$ l2 S& Cthe playback priority.) | OK M
: _( L4 I0 E5 O6 [+ k0 ^7 x1 t(OK followed by the set, X$ E6 P% b& t
value)- ^' S$ W3 ]6 k2 \( q
ER INVALID$ b8 o# g0 Y, e4 [' @2 B
| SDP | D
8 r" T4 ~) w0 D7 {; _8 \P% P7 f+ i, S+ s; a# X/ k* v( F: f
A | Set the SACD output mode:5 L. Q# b% K* E" P1 |, R& ]1 J- _
D – Output DSD2 A0 m8 ?9 y3 B; M
P – Output PCM! L! n' }6 b. G& M( C' s+ J8 Q% Y
A – Automatically decides between
5 A/ `$ k1 i. d$ {# N7 N% O+ e. ?PCM or DSD based on connected
/ ~1 u3 o% a: d, F E' ?7 D: X" M; [devices’ compatibility.) L' ^4 P7 ~7 m: V" z
(This command changes the Setup: q7 P/ N$ |% z3 A8 i! N# U
Menu setting for SACD Output. If an# e2 S- P0 J2 E# H1 J- V- |" {
SACD is playing, the output will be: K/ \2 N& q9 n1 p# m! t. K
changed on the fly.) | OK D
! K" z) g2 m3 E6 q6 c: j(OK followed by the4 U0 T" o' o: w" X& r6 i1 k3 M% F! E
output mode)
# e( T' t# r2 `ER INVALID | FWD | 1/32
0 `" i" E2 \5 H1 W$ y* n1/16- H8 F' F' L4 O6 c0 [8 q
1/8- p0 F) N6 K; r# p
1/4
- {1 m. w/ i% h5 F- N3 V9 m1/2
0 m {! X4 w$ l' L9 a' _- x2 u/ s1
1 F# H9 U$ b8 T) v% E2, b$ a+ \- d6 E9 p
3% g2 l1 S0 e& a
4" a* R' F% U6 \2 Q0 b5 n" V
5 | Set Fast/Slow Forward Play speed. | OK 1/32
% J* |& K* d" R9 V+ L- D: E(OK followed by the2 j/ y( Y5 c4 n8 [4 ^
forward speed)
" N. L4 S5 |! @1 `) sER INVALID | REV | 1/32. D0 A4 w, I9 ~& d2 w0 ?2 V
1/16# E6 i6 d& w, P8 a8 R$ b3 B2 m
1/8. N4 L. Z$ v+ N) ^& z* M i% o
1/4
! e8 T/ N( b# b8 F1/2) {/ k% O& F5 l h, j8 U" B
1
2 T X/ i* m3 _0 t7 S, H21 J9 k% u6 v/ F* v' e
3
0 y3 R! G3 |5 Q2 {40 @. l6 W% }: l e3 J
5 | Set Fast/Slow Reverse Play speed. | OK 1/32
! e* ~5 x# b6 P(OK followed by the
3 k/ L/ v9 g6 ] B' O1 l3 d8 n% Mforward speed)
) y) H6 O: F$ y8 k7 ?4 xER INVALID
% H- @9 z6 w8 G! q9 N5 h, E9 S/ H(Slow reverse is not. r4 I6 f" t- ]5 w
available for UHD content) | QDR | 1 … xxx | Query directory item.$ a& p+ S( a; z1 i$ O
The parameter is the index number of7 d" b3 P9 S( R3 A+ p# j7 s. f
the file or item in the current directory# W' j3 P! p# e: T5 p
listing. | OK U USB1 (USB Device)& |' O( X" z" w5 q. \
OK O CDDA (Optical
7 k/ y+ D( \: D$ M6 K* CDisc)
" W" W5 x5 R- ]- [- j$ M% dOK 0 .. (Upper Level)
9 F( p4 A: E V7 d/ `: B3 TOK F Rocky-mou*.wav; o& a ~1 S& R' ]2 C2 f
(File)
8 _1 L. T( J0 j9 {4 k+ E( nOK D My Music
9 H/ t2 R9 ]/ s- j |& A2 e+ r(Directory)
9 ?; l1 p" x4 a7 T- b$ }OK 0 My Network Search
0 j" X& k) I! d0 j& I' U(Network)
2 M- [; T+ z# MOK L oShare_MediaSer*, W1 E) @9 C" ?8 v4 o% ~
(DLNA server)
# P W- o! R) r# SOK S MyPC (SMB server)
& V3 i& e6 M$ I& `OK N MyNFS (NFS
, v+ t7 f, e1 ` d! X) ~' S2 x$ kserver) | APP 控制协议虽然官方提供了完整的协议,但是未能达到我搜索指定影片并且播放的目的,OPPO有提供一个APP ‘MediaControl’[2][3] 用APP可以在局域网操控播放器。通过破解协议,我整理出另外一套HTTP协议,可以与官方提供的协议进行互补。 % Q% T1 X4 T: L: P& N1 [, |+ T! t+ K
APP广播激活协议首先要广播协议,播放器接收后,会激活HTTP协议,建议多次广播,在收到播放器返回消息后,停止广播。 首先我们在局域网向255.255.255.255进行UDP广播 ASCII:NOTIFY OREMOTE LOGINHEX:4e 4f 54 49 46 59 20 4f 52 45 4d 4f 54 45 20 4c 4f 47 49 4e 当播放器收到广播时会返回 9 T8 M! t* `: }" L. T8 j" p
- ASCII:UDP-203_OPPO UDP-203 REPORT ADDRESS TO OREMOTE: 192.168.1.2:19999HEX:55 44 50 2d 32 30 33 5f 4f 50 50 4f 20 55 44 50 2d 32 30 33 20 52 45 50 4f 52 54 20 41 44 44 52 45 53 53 20 54 4f 20 4f 52 45 4d 4f 54 45 3a 20 31 39 32 2e 31 36 38 2e 31 2e 32 3a 31 39 39 39 39
复制代码
u5 K$ R& Y& e* ?5 K- \' r1 v, _$ d, g, J9 s
HTTP协议端口协议被激活后,会开启436端口,我们通过436端口可以进行HTTP操作,并返回JSON结果
4 p" u+ {' ?; X7 s8 y7 l6 EHTTP协议内容我整理出部分HTTP协议,不是很完全,欢迎补充 协议使用GET方法,如需带参数,则在问号后加入json格式
* v& W) ~' Q- C& B示例 - 192.168.1.2:436/signin?%7B%22appIpAddress%22%3A%2210.254.254.254%22%2C%22appIconType%22%3A1%7D
复制代码
, i+ Y- o! B$ S. f8 q点击图片可放大 : G, [8 J6 n$ O! b8 O0 O
, ?$ j* e+ h' i. [1 Q& l点击图片可放大
( \1 l8 G8 _8 ?; A$ m
, P1 Y7 }/ D! l) I1 [* X& J最后最终我使用了HTTP的playnormalfile/checkfolderhasbdmv方法,实现了海报墙点击联动播放器播放。不在为寻片而苦恼。( o# H1 y, ] P( c* T
由于每次开机都需要激活HTTP协议,所以我将播放器设为固定IP,在检测到IP连通后,广播APP的UDP协议,实现了开机即激活。
x, B% Q* `$ UNFS共享播放流程
3 P+ k) g# ~. I' B1.signin . z1 y4 y1 M8 t( V
2.等待getdevicelist发现NFS设备
1 ^6 c3 p* ?- n6 f/ @# u2 s3.loginNfsServer 登陆nfs服务器 4 p+ S- _* E* p1 J9 f( X
4.mountNfsSharedFolder 挂载nfs目录 - a7 H v. `& M K. G$ X
5.getfilelist 逐级获取文件列表6.playnormalfile / checkfolderhasbdmv 播放文件
2 }6 o3 |9 h* J3 }# j7 I5 }! `9 A9 A7 i& K3 A) s7 z/ z3 F* H
文章转自:https://xiaohai.co/oppo-udp-203-control-protocol/ 如侵权请联系版主删除。 |