mirror of
https://github.com/Monibuca/plugin-hdl.git
synced 2025-10-06 01:07:04 +08:00
对拉流的头进行判断是否包含音视频
This commit is contained in:
44
README.en.md
Normal file
44
README.en.md
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
_[简体中文](https://github.com/Monibuca/plugin-hdl) | English_
|
||||||
|
# HDL Plugin
|
||||||
|
|
||||||
|
The main function of the HDL plugin is to provide access to the HTTP-FLV protocol.
|
||||||
|
|
||||||
|
## Plugin Address
|
||||||
|
|
||||||
|
https://github.com/Monibuca/plugin-hdl
|
||||||
|
|
||||||
|
## Plugin Introduction
|
||||||
|
```go
|
||||||
|
import (
|
||||||
|
_ "m7s.live/plugin/hdl/v4"
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Default Plugin Configuration
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
hdl:
|
||||||
|
http: # Refer to global configuration for format
|
||||||
|
publish: # Refer to global configuration for format
|
||||||
|
subscribe: # Refer to global configuration for format
|
||||||
|
pull: # Format: https://m7s.live/guide/config.html#%E6%8F%92%E4%BB%B6%E9%85%8D%E7%BD%AE
|
||||||
|
```
|
||||||
|
|
||||||
|
## Plugin Features
|
||||||
|
|
||||||
|
### Pulling HTTP-FLV Streams from M7S
|
||||||
|
|
||||||
|
If the live/test stream already exists in M7S, then HTTP-FLV protocol can be used for playback. If the listening port is not configured, then the global HTTP port is used (default 8080).
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ffplay http://localhost:8080/hdl/live/test.flv
|
||||||
|
```
|
||||||
|
|
||||||
|
### M7S Pull HTTP-FLV Streams from Remote
|
||||||
|
|
||||||
|
The available API is:
|
||||||
|
`/hdl/api/pull?target=[HTTP-FLV address]&streamPath=[stream identifier]&save=[whether to save configuration (leave blank if not)]`
|
||||||
|
|
||||||
|
### Get a List of All HDL Streams
|
||||||
|
|
||||||
|
`/hdl/api/list`
|
@@ -1,3 +1,4 @@
|
|||||||
|
_[English](https://github.com/Monibuca/plugin-hdl/blob/v4/README.en.md) | 简体中文_
|
||||||
# HDL插件
|
# HDL插件
|
||||||
|
|
||||||
HDL插件主要功能是提供HTTP-FLV协议的访问
|
HDL插件主要功能是提供HTTP-FLV协议的访问
|
||||||
|
5
pull.go
5
pull.go
@@ -58,6 +58,11 @@ func (puller *HDLPuller) Connect() (err error) {
|
|||||||
if _, err = io.ReadFull(puller, head); err == nil {
|
if _, err = io.ReadFull(puller, head); err == nil {
|
||||||
if head[0] != 'F' || head[1] != 'L' || head[2] != 'V' {
|
if head[0] != 'F' || head[1] != 'L' || head[2] != 'V' {
|
||||||
err = codec.ErrInvalidFLV
|
err = codec.ErrInvalidFLV
|
||||||
|
} else {
|
||||||
|
configCopy := hdlConfig.GetPublishConfig()
|
||||||
|
configCopy.PubAudio = head[4]&0x04 != 0
|
||||||
|
configCopy.PubVideo = head[4]&0x01 != 0
|
||||||
|
puller.Config = &configCopy
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user