Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
胡斌
/
srs
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
winlin
2016-03-19 19:48:01 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
2492562d259f9b6a287966fd5e759296635ca565
2492562d
1 parent
b2bd63e8
use xpsid X-Playback-Session-Id to more useful.
隐藏空白字符变更
内嵌
并排对比
正在显示
2 个修改的文件
包含
33 行增加
和
2 行删除
trunk/research/players/srs_player/src/Hls.as
trunk/research/players/srs_player/src/M3u8Player.as
trunk/research/players/srs_player/src/Hls.as
查看文件 @
2492562
...
...
@@ -793,7 +793,7 @@ class SrsTsHanlder implements ISrsTsHandler
packet
.
writeUnsignedInt
(
size
)
;
if
(
false
)
{
_log
.
info
(
"mux flv type={0}, time={1}, size={3}"
,
type
,
timestamp
,
dts
,
packet
.
length
)
;
_log
.
info
(
"
FLV:
mux flv type={0}, time={1}, size={3}"
,
type
,
timestamp
,
dts
,
packet
.
length
)
;
}
else
{
_log
.
debug
(
"mux flv type={0}, time={1}, size={3}"
,
type
,
timestamp
,
dts
,
packet
.
length
)
;
}
...
...
trunk/research/players/srs_player/src/M3u8Player.as
查看文件 @
2492562
...
...
@@ -19,6 +19,7 @@ package
import
flash
.
net
.
URLLoader
;
import
flash
.
net
.
URLLoaderDataFormat
;
import
flash
.
net
.
URLRequest
;
import
flash
.
net
.
URLRequestHeader
;
import
flash
.
net
.
URLRequestMethod
;
import
flash
.
net
.
URLStream
;
import
flash
.
net
.
URLVariables
;
...
...
@@ -47,6 +48,26 @@ package
private
var
owner
:
srs_player
=
null
;
private
var
hls
:
Hls
=
null
;
// parse m3u8 and ts
// the uuid similar to Safari, to identify this play session.
// @see https://github.com/winlinvip/srs-plus/blob/bms/trunk/src/app/srs_app_http_stream.cpp#L45
public
var
XPlaybackSessionId
:
String
=
createRandomIdentifier
(
32
)
;
private
function
createRandomIdentifier
(
length
:
uint
,
radix
:
uint
=
61
)
:
String
{
var
characters
:
Array
=
new
Array
(
'0'
,
'1'
,
'2'
,
'3'
,
'4'
,
'5'
,
'6'
,
'7'
,
'8'
,
'9'
,
'A'
,
'B'
,
'C'
,
'D'
,
'E'
,
'F'
,
'G'
,
'H'
,
'I'
,
'J'
,
'K'
,
'L'
,
'M'
,
'N'
,
'O'
,
'P'
,
'Q'
,
'R'
,
'S'
,
'T'
,
'U'
,
'V'
,
'W'
,
'X'
,
'Y'
,
'Z'
,
'a'
,
'b'
,
'c'
,
'd'
,
'e'
,
'f'
,
'g'
,
'h'
,
'i'
,
'j'
,
'k'
,
'l'
,
'm'
,
'n'
,
'o'
,
'p'
,
'q'
,
'r'
,
's'
,
't'
,
'u'
,
'v'
,
'w'
,
'x'
,
'y'
,
'z'
)
;
var
id
:
Array
=
new
Array
()
;
radix
=
(
radix
>
61
)
?
61
:
radix
;
while
(
length
--
)
{
id
.
push
(
characters
[
randomIntegerWithinRange
(
0
,
radix
)])
;
}
return
id
.
join
(
''
)
;
}
private
function
randomIntegerWithinRange
(
min
:
int
,
max
:
int
)
:
int
{
return
Math
.
floor
(
Math
.
random
()
*
(
1
+
max
-
min
)
+
min
)
;
}
// callback for hls.
public
var
flvHeader
:
ByteArray
=
null
;
...
...
@@ -68,6 +89,10 @@ package
return
;
}
if
(
!
flvHeader
)
{
return
;
}
var
s
:
NetStream
=
media_stream
;
s
.
appendBytes
(
flv
)
;
log
(
"FLV: ts "
+
uri
+
" parsed to flv "
+
flv
.
length
+
" bytes"
)
;
...
...
@@ -265,8 +290,14 @@ package
completed
(
stream
)
;
})
;
// we set to the query.
uri
+=
((
uri
.
indexOf
(
"?"
)
==
-1
)?
"?"
:
"&"
)
+
"shp_xpsid="
+
XPlaybackSessionId
;
var
r
:
URLRequest
=
new
URLRequest
(
uri
)
;
// seems flash not allow set this header.
r
.
requestHeaders
.
push
(
new
URLRequestHeader
(
"X-Playback-Session-Id"
,
XPlaybackSessionId
))
;
log
(
"start download "
+
uri
)
;
url
.
load
(
new
URLRequest
(
uri
)
)
;
url
.
load
(
r
)
;
}
private
function
log
(
msg
:
String
)
:
void
{
...
...
请
注册
或
登录
后发表评论