Rename mpegts module to mpeg
This commit is contained in:
@@ -237,7 +237,7 @@ A summary table of all modules and features can be found [here](internal/README.
|
|||||||
|
|
||||||
### Streaming output
|
### Streaming output
|
||||||
|
|
||||||
- [`adts`](internal/mpegts/README.md) - Output stream in ADTS format with [AAC](https://en.wikipedia.org/wiki/Advanced_Audio_Coding) audio.
|
- [`adts`](internal/mpeg/README.md) - Output stream in ADTS format with [AAC](https://en.wikipedia.org/wiki/Advanced_Audio_Coding) audio.
|
||||||
- [`ascii`](internal/mjpeg/README.md#ascii) - Just for fun stream as [ASCII to Terminal](https://www.youtube.com/watch?v=sHj_3h_sX7M).
|
- [`ascii`](internal/mjpeg/README.md#ascii) - Just for fun stream as [ASCII to Terminal](https://www.youtube.com/watch?v=sHj_3h_sX7M).
|
||||||
- [`flv`](internal/rtmp/README.md) - Output stream in [Flash Video](https://en.wikipedia.org/wiki/Flash_Video) format.
|
- [`flv`](internal/rtmp/README.md) - Output stream in [Flash Video](https://en.wikipedia.org/wiki/Flash_Video) format.
|
||||||
- [`hls`](internal/hls/README.md) - Output stream in [HTTP Live Streaming](https://en.wikipedia.org/wiki/HTTP_Live_Streaming) format.
|
- [`hls`](internal/hls/README.md) - Output stream in [HTTP Live Streaming](https://en.wikipedia.org/wiki/HTTP_Live_Streaming) format.
|
||||||
@@ -245,7 +245,7 @@ A summary table of all modules and features can be found [here](internal/README.
|
|||||||
- [`jpeg`](internal/mjpeg/README.md#jpeg) - Output snapshots in [JPEG](https://en.wikipedia.org/wiki/JPEG) format.
|
- [`jpeg`](internal/mjpeg/README.md#jpeg) - Output snapshots in [JPEG](https://en.wikipedia.org/wiki/JPEG) format.
|
||||||
- [`mpjpeg`](internal/mjpeg/README.md#mpjpeg) - Output a stream in [MJPEG](https://en.wikipedia.org/wiki/Motion_JPEG) format.
|
- [`mpjpeg`](internal/mjpeg/README.md#mpjpeg) - Output a stream in [MJPEG](https://en.wikipedia.org/wiki/Motion_JPEG) format.
|
||||||
- [`mp4`](internal/mp4/README.md) - Output as [MP4 stream](https://en.wikipedia.org/wiki/Progressive_download) or [Media Source Extensions](https://developer.mozilla.org/en-US/docs/Web/API/Media_Source_Extensions_API) (MSE) compatible format.
|
- [`mp4`](internal/mp4/README.md) - Output as [MP4 stream](https://en.wikipedia.org/wiki/Progressive_download) or [Media Source Extensions](https://developer.mozilla.org/en-US/docs/Web/API/Media_Source_Extensions_API) (MSE) compatible format.
|
||||||
- [`mpegts`](internal/homekit/README.md) - Output stream in [MPEG transport stream](https://en.wikipedia.org/wiki/MPEG_transport_stream) format.
|
- [`mpegts`](internal/mpeg/README.md) - Output stream in [MPEG transport stream](https://en.wikipedia.org/wiki/MPEG_transport_stream) format.
|
||||||
- [`onvif`](internal/onvif/README.md#onvif-server) - Output stream using [ONVIF](https://en.wikipedia.org/wiki/ONVIF) protocol.
|
- [`onvif`](internal/onvif/README.md#onvif-server) - Output stream using [ONVIF](https://en.wikipedia.org/wiki/ONVIF) protocol.
|
||||||
- [`rtmp`](internal/rtmp/README.md#rtmp-server) - Output stream using [Real-Time Messaging](https://en.wikipedia.org/wiki/Real-Time_Messaging_Protocol) protocol.
|
- [`rtmp`](internal/rtmp/README.md#rtmp-server) - Output stream using [Real-Time Messaging](https://en.wikipedia.org/wiki/Real-Time_Messaging_Protocol) protocol.
|
||||||
- [`rtsp`](internal/rtsp/README.md#rtsp-server) - Output stream using [Real-Time Streaming](https://en.wikipedia.org/wiki/Real-Time_Streaming_Protocol) protocol.
|
- [`rtsp`](internal/rtsp/README.md#rtsp-server) - Output stream using [Real-Time Streaming](https://en.wikipedia.org/wiki/Real-Time_Streaming_Protocol) protocol.
|
||||||
@@ -258,7 +258,7 @@ A summary table of all modules and features can be found [here](internal/README.
|
|||||||
Supported for:
|
Supported for:
|
||||||
[`flv`](internal/rtmp/README.md#flv-server),
|
[`flv`](internal/rtmp/README.md#flv-server),
|
||||||
[`mjpeg`](internal/mjpeg/README.md#streaming-ingest),
|
[`mjpeg`](internal/mjpeg/README.md#streaming-ingest),
|
||||||
[`mpegts`](internal/mpegts/README.md#streaming-ingest),
|
[`mpegts`](internal/mpeg/README.md#streaming-ingest),
|
||||||
[`rtmp`](internal/rtmp/README.md#rtmp-server),
|
[`rtmp`](internal/rtmp/README.md#rtmp-server),
|
||||||
[`rtsp`](internal/rtsp/README.md#streaming-ingest),
|
[`rtsp`](internal/rtsp/README.md#streaming-ingest),
|
||||||
[`webrtc`](internal/webrtc/README.md#streaming-ingest).
|
[`webrtc`](internal/webrtc/README.md#streaming-ingest).
|
||||||
|
|||||||
+3
-3
@@ -47,8 +47,8 @@ Some formats and protocols go2rtc supports exclusively. They have no equivalent
|
|||||||
| [`mjpeg`] | `mpjpeg` | `http` | | yes | yes | |
|
| [`mjpeg`] | `mpjpeg` | `http` | | yes | yes | |
|
||||||
| [`mjpeg`] | `yuv4mpegpipe` | `http` | | yes | | |
|
| [`mjpeg`] | `yuv4mpegpipe` | `http` | | yes | | |
|
||||||
| [`mp4`] | `mp4` | `http`, `ws` | | yes | | |
|
| [`mp4`] | `mp4` | `http`, `ws` | | yes | | |
|
||||||
| [`mpegts`] | `adts` | `http` | | yes | | |
|
| [`mpeg`] | `adts` | `http` | | yes | | |
|
||||||
| [`mpegts`] | `mpegts` | `http` | | yes | yes | |
|
| [`mpeg`] | `mpegts` | `http` | | yes | yes | |
|
||||||
| [`multitrans`] | `rtp` | `tcp` | | | | yes |
|
| [`multitrans`] | `rtp` | `tcp` | | | | yes |
|
||||||
| [`nest`] | `srtp` | `rtsp`, `webrtc` | yes | | | no |
|
| [`nest`] | `srtp` | `rtsp`, `webrtc` | yes | | | no |
|
||||||
| [`onvif`] | `rtp` | * | yes | yes | | |
|
| [`onvif`] | `rtp` | * | yes | yes | | |
|
||||||
@@ -90,7 +90,7 @@ Some formats and protocols go2rtc supports exclusively. They have no equivalent
|
|||||||
[`kasa`]: kasa/README.md
|
[`kasa`]: kasa/README.md
|
||||||
[`mjpeg`]: mjpeg/README.md
|
[`mjpeg`]: mjpeg/README.md
|
||||||
[`mp4`]: mp4/README.md
|
[`mp4`]: mp4/README.md
|
||||||
[`mpegts`]: mpegts/README.md
|
[`mpeg`]: mpeg/README.md
|
||||||
[`multitrans`]: multitrans/README.md
|
[`multitrans`]: multitrans/README.md
|
||||||
[`nest`]: nest/README.md
|
[`nest`]: nest/README.md
|
||||||
[`ngrok`]: ngrok/README.md
|
[`ngrok`]: ngrok/README.md
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# MPEG-TS
|
# MPEG
|
||||||
|
|
||||||
This module provides an [HTTP API](../api/README.md) for:
|
This module provides an [HTTP API](../api/README.md) for:
|
||||||
|
|
||||||
@@ -6,9 +6,6 @@ This module provides an [HTTP API](../api/README.md) for:
|
|||||||
- Streaming output in `adts` format.
|
- Streaming output in `adts` format.
|
||||||
- Streaming ingest in `mpegts` format.
|
- Streaming ingest in `mpegts` format.
|
||||||
|
|
||||||
> [!NOTE]
|
|
||||||
> This module is probably better called mpeg. Because AAC is part of MPEG-2 and MPEG-4 and MPEG-TS is part of MPEG-2.
|
|
||||||
|
|
||||||
## MPEG-TS Server
|
## MPEG-TS Server
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
@@ -1,10 +1,11 @@
|
|||||||
package mpegts
|
package mpeg
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"github.com/AlexxIT/go2rtc/internal/api"
|
"github.com/AlexxIT/go2rtc/internal/api"
|
||||||
"github.com/AlexxIT/go2rtc/internal/streams"
|
"github.com/AlexxIT/go2rtc/internal/streams"
|
||||||
|
"github.com/AlexxIT/go2rtc/pkg/aac"
|
||||||
"github.com/AlexxIT/go2rtc/pkg/mpegts"
|
"github.com/AlexxIT/go2rtc/pkg/mpegts"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -66,3 +67,26 @@ func inputMpegTS(w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func apiStreamAAC(w http.ResponseWriter, r *http.Request) {
|
||||||
|
src := r.URL.Query().Get("src")
|
||||||
|
stream := streams.Get(src)
|
||||||
|
if stream == nil {
|
||||||
|
http.Error(w, api.StreamNotFound, http.StatusNotFound)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
cons := aac.NewConsumer()
|
||||||
|
cons.WithRequest(r)
|
||||||
|
|
||||||
|
if err := stream.AddConsumer(cons); err != nil {
|
||||||
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
w.Header().Add("Content-Type", "audio/aac")
|
||||||
|
|
||||||
|
_, _ = cons.WriteTo(w)
|
||||||
|
|
||||||
|
stream.RemoveConsumer(cons)
|
||||||
|
}
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
package mpegts
|
|
||||||
|
|
||||||
import (
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"github.com/AlexxIT/go2rtc/internal/api"
|
|
||||||
"github.com/AlexxIT/go2rtc/internal/streams"
|
|
||||||
"github.com/AlexxIT/go2rtc/pkg/aac"
|
|
||||||
)
|
|
||||||
|
|
||||||
func apiStreamAAC(w http.ResponseWriter, r *http.Request) {
|
|
||||||
src := r.URL.Query().Get("src")
|
|
||||||
stream := streams.Get(src)
|
|
||||||
if stream == nil {
|
|
||||||
http.Error(w, api.StreamNotFound, http.StatusNotFound)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
cons := aac.NewConsumer()
|
|
||||||
cons.WithRequest(r)
|
|
||||||
|
|
||||||
if err := stream.AddConsumer(cons); err != nil {
|
|
||||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
w.Header().Add("Content-Type", "audio/aac")
|
|
||||||
|
|
||||||
_, _ = cons.WriteTo(w)
|
|
||||||
|
|
||||||
stream.RemoveConsumer(cons)
|
|
||||||
}
|
|
||||||
@@ -27,7 +27,7 @@ import (
|
|||||||
"github.com/AlexxIT/go2rtc/internal/kasa"
|
"github.com/AlexxIT/go2rtc/internal/kasa"
|
||||||
"github.com/AlexxIT/go2rtc/internal/mjpeg"
|
"github.com/AlexxIT/go2rtc/internal/mjpeg"
|
||||||
"github.com/AlexxIT/go2rtc/internal/mp4"
|
"github.com/AlexxIT/go2rtc/internal/mp4"
|
||||||
"github.com/AlexxIT/go2rtc/internal/mpegts"
|
"github.com/AlexxIT/go2rtc/internal/mpeg"
|
||||||
"github.com/AlexxIT/go2rtc/internal/multitrans"
|
"github.com/AlexxIT/go2rtc/internal/multitrans"
|
||||||
"github.com/AlexxIT/go2rtc/internal/nest"
|
"github.com/AlexxIT/go2rtc/internal/nest"
|
||||||
"github.com/AlexxIT/go2rtc/internal/ngrok"
|
"github.com/AlexxIT/go2rtc/internal/ngrok"
|
||||||
@@ -98,7 +98,7 @@ func main() {
|
|||||||
{"isapi", isapi.Init},
|
{"isapi", isapi.Init},
|
||||||
{"ivideon", ivideon.Init},
|
{"ivideon", ivideon.Init},
|
||||||
{"kasa", kasa.Init},
|
{"kasa", kasa.Init},
|
||||||
{"mpegts", mpegts.Init},
|
{"mpegts", mpeg.Init},
|
||||||
{"multitrans", multitrans.Init},
|
{"multitrans", multitrans.Init},
|
||||||
{"nest", nest.Init},
|
{"nest", nest.Init},
|
||||||
{"ring", ring.Init},
|
{"ring", ring.Init},
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ export default defineConfig({
|
|||||||
{text: 'isapi', link: '/internal/isapi/'},
|
{text: 'isapi', link: '/internal/isapi/'},
|
||||||
{text: 'ivideon', link: '/internal/ivideon/'},
|
{text: 'ivideon', link: '/internal/ivideon/'},
|
||||||
{text: 'kasa', link: '/internal/kasa/'},
|
{text: 'kasa', link: '/internal/kasa/'},
|
||||||
{text: 'mpegts', link: '/internal/mpegts/'},
|
{text: 'mpeg', link: '/internal/mpeg/'},
|
||||||
{text: 'multitrans', link: '/internal/multitrans/'},
|
{text: 'multitrans', link: '/internal/multitrans/'},
|
||||||
{text: 'nest', link: '/internal/nest/'},
|
{text: 'nest', link: '/internal/nest/'},
|
||||||
{text: 'ring', link: '/internal/ring/'},
|
{text: 'ring', link: '/internal/ring/'},
|
||||||
|
|||||||
+1
-1
@@ -172,7 +172,7 @@
|
|||||||
"isapi",
|
"isapi",
|
||||||
"ivideon",
|
"ivideon",
|
||||||
"kasa",
|
"kasa",
|
||||||
"mpegts",
|
"mpeg",
|
||||||
"nest",
|
"nest",
|
||||||
"ring",
|
"ring",
|
||||||
"roborock",
|
"roborock",
|
||||||
|
|||||||
Reference in New Issue
Block a user