Browse Source

change repository owner (#1801)

pull/1803/head
Alessandro Ros 2 years ago committed by GitHub
parent
commit
39c072edd6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      .github/ISSUE_TEMPLATE/config.yml
  2. 4
      .github/workflows/issue-lint.yml
  3. 28
      README.md
  4. 2
      go.mod
  5. 8
      internal/conf/conf.go
  6. 2
      internal/conf/conf_test.go
  7. 2
      internal/conf/logdestination.go
  8. 2
      internal/conf/loglevel.go
  9. 4
      internal/core/api.go
  10. 2
      internal/core/api_test.go
  11. 2
      internal/core/authentication.go
  12. 12
      internal/core/core.go
  13. 4
      internal/core/hls_http_server.go
  14. 4
      internal/core/hls_manager.go
  15. 8
      internal/core/hls_muxer.go
  16. 6
      internal/core/hls_source.go
  17. 2
      internal/core/http_logger.go
  18. 2
      internal/core/http_set_trusted_proxies.go
  19. 4
      internal/core/metrics.go
  20. 2
      internal/core/metrics_test.go
  21. 6
      internal/core/path.go
  22. 6
      internal/core/path_manager.go
  23. 4
      internal/core/pprof.go
  24. 8
      internal/core/rpicamera_source.go
  25. 14
      internal/core/rtmp_conn.go
  26. 6
      internal/core/rtmp_server.go
  27. 4
      internal/core/rtmp_server_test.go
  28. 8
      internal/core/rtmp_source.go
  29. 4
      internal/core/rtmp_source_test.go
  30. 6
      internal/core/rtsp_conn.go
  31. 6
      internal/core/rtsp_server.go
  32. 6
      internal/core/rtsp_session.go
  33. 4
      internal/core/rtsp_source.go
  34. 2
      internal/core/source.go
  35. 2
      internal/core/source_redirect.go
  36. 4
      internal/core/source_static.go
  37. 2
      internal/core/stream.go
  38. 4
      internal/core/stream_format.go
  39. 6
      internal/core/udp_source.go
  40. 4
      internal/core/webrtc_http_server.go
  41. 4
      internal/core/webrtc_manager.go
  42. 3
      internal/core/webrtc_outgoing_track.go
  43. 2
      internal/core/webrtc_pc.go
  44. 2
      internal/core/webrtc_session.go
  45. 2
      internal/formatprocessor/av1.go
  46. 2
      internal/formatprocessor/generic.go
  47. 2
      internal/formatprocessor/h264.go
  48. 2
      internal/formatprocessor/h265.go
  49. 2
      internal/formatprocessor/mpeg2audio.go
  50. 2
      internal/formatprocessor/mpeg4audio.go
  51. 2
      internal/formatprocessor/opus.go
  52. 2
      internal/formatprocessor/processor.go
  53. 2
      internal/formatprocessor/vp8.go
  54. 2
      internal/formatprocessor/vp9.go
  55. 2
      internal/highleveltests/tests_test.go
  56. 8
      internal/rtmp/conn.go
  57. 6
      internal/rtmp/conn_test.go
  58. 2
      internal/rtmp/message/acknowledge.go
  59. 2
      internal/rtmp/message/audio.go
  60. 2
      internal/rtmp/message/command_amf0.go
  61. 2
      internal/rtmp/message/data_amf0.go
  62. 2
      internal/rtmp/message/extended_coded_frames.go
  63. 2
      internal/rtmp/message/extended_frames_x.go
  64. 2
      internal/rtmp/message/extended_metadata.go
  65. 2
      internal/rtmp/message/extended_mpeg2ts_sequence_start.go
  66. 2
      internal/rtmp/message/extended_sequence_end.go
  67. 2
      internal/rtmp/message/extended_sequence_start.go
  68. 2
      internal/rtmp/message/message.go
  69. 4
      internal/rtmp/message/reader.go
  70. 2
      internal/rtmp/message/reader_test.go
  71. 2
      internal/rtmp/message/readwriter.go
  72. 2
      internal/rtmp/message/readwriter_test.go
  73. 2
      internal/rtmp/message/set_chunk_size.go
  74. 2
      internal/rtmp/message/set_peer_bandwidth.go
  75. 2
      internal/rtmp/message/set_window_ack_size.go
  76. 2
      internal/rtmp/message/user_control_ping_request.go
  77. 2
      internal/rtmp/message/user_control_ping_response.go
  78. 2
      internal/rtmp/message/user_control_set_buffer_length.go
  79. 2
      internal/rtmp/message/user_control_stream_begin.go
  80. 2
      internal/rtmp/message/user_control_stream_dry.go
  81. 2
      internal/rtmp/message/user_control_stream_eof.go
  82. 2
      internal/rtmp/message/user_control_stream_is_recorded.go
  83. 2
      internal/rtmp/message/video.go
  84. 4
      internal/rtmp/message/writer.go
  85. 2
      internal/rtmp/message/writer_test.go
  86. 4
      internal/rtmp/rawmessage/reader.go
  87. 4
      internal/rtmp/rawmessage/reader_test.go
  88. 4
      internal/rtmp/rawmessage/writer.go
  89. 4
      internal/rtmp/rawmessage/writer_test.go
  90. 4
      internal/rtmp/tracks/read.go
  91. 6
      internal/rtmp/tracks/read_test.go
  92. 4
      internal/rtmp/tracks/write.go
  93. 4
      internal/rtmp/tracks/write_test.go
  94. 2
      main.go
  95. 8
      openwrt.mk
  96. 14
      scripts/binaries.mk

2
.github/ISSUE_TEMPLATE/config.yml

@ -2,5 +2,5 @@ blank_issues_enabled: false
contact_links: contact_links:
- name: Question - name: Question
url: https://github.com/aler9/mediamtx/discussions/new url: https://github.com/bluenviron/mediamtx/discussions/new
about: Ask the community for help about: Ask the community for help

4
.github/workflows/issue-lint.yml

@ -1,11 +1,11 @@
name: issue-link name: issue-lint
on: on:
issues: issues:
types: [opened] types: [opened]
jobs: jobs:
issue-link: issue-lint:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:

28
README.md

@ -4,7 +4,7 @@
<br> <br>
[_MediaMTX_](#important-announcement) / _rtsp-simple-server_ is a ready-to-use and zero-dependency server and proxy that allows users to publish, read and proxy live video and audio streams. _MediaMTX_/ [_rtsp-simple-server_](#note-about-rtsp-simple-server) is a ready-to-use and zero-dependency server and proxy that allows users to publish, read and proxy live video and audio streams.
Live streams can be published to the server with: Live streams can be published to the server with:
@ -44,20 +44,16 @@ Features:
* Natively compatible with the Raspberry Pi Camera * Natively compatible with the Raspberry Pi Camera
* Compatible with Linux, Windows and macOS, does not require any dependency or interpreter, it's a single executable * Compatible with Linux, Windows and macOS, does not require any dependency or interpreter, it's a single executable
[![Test](https://github.com/aler9/mediamtx/workflows/test/badge.svg)](https://github.com/aler9/mediamtx/actions?query=workflow:test) [![Test](https://github.com/bluenviron/mediamtx/workflows/test/badge.svg)](https://github.com/bluenviron/mediamtx/actions?query=workflow:test)
[![Lint](https://github.com/aler9/mediamtx/workflows/lint/badge.svg)](https://github.com/aler9/mediamtx/actions?query=workflow:lint) [![Lint](https://github.com/bluenviron/mediamtx/workflows/lint/badge.svg)](https://github.com/bluenviron/mediamtx/actions?query=workflow:lint)
[![CodeCov](https://codecov.io/gh/aler9/mediamtx/branch/main/graph/badge.svg)](https://app.codecov.io/gh/aler9/mediamtx/branch/main) [![CodeCov](https://codecov.io/gh/bluenviron/mediamtx/branch/main/graph/badge.svg)](https://app.codecov.io/gh/bluenviron/mediamtx/branch/main)
[![Release](https://img.shields.io/github/v/release/aler9/mediamtx)](https://github.com/aler9/mediamtx/releases) [![Release](https://img.shields.io/github/v/release/bluenviron/mediamtx)](https://github.com/bluenviron/mediamtx/releases)
[![Docker Hub](https://img.shields.io/badge/docker-aler9/rtsp--simple--server-blue)](https://hub.docker.com/r/aler9/rtsp-simple-server) [![Docker Hub](https://img.shields.io/badge/docker-aler9/rtsp--simple--server-blue)](https://hub.docker.com/r/aler9/rtsp-simple-server)
[![API Documentation](https://img.shields.io/badge/api-documentation-blue)](https://aler9.github.io/mediamtx) [![API Documentation](https://img.shields.io/badge/api-documentation-blue)](https://aler9.github.io/mediamtx)
## Important announcement ## Note about rtsp-simple-server
_rtsp-simple-server_ is being rebranded as _MediaMTX_. The reason is pretty obvious: this project started as a RTSP server but has evolved into a much more versatile media server (i like to call it a "media broker", a message broker for media streams), that is not tied to the RTSP protocol anymore. Nothing will change regarding license, features and backward compatibility. _rtsp-simple-server_ has been rebranded as _MediaMTX_. The reason is pretty obvious: this project started as a RTSP server but has evolved into a much more versatile media server (i like to call it a "media broker", a message broker for media streams), that is not tied to the RTSP protocol anymore. Nothing will change regarding license, features and backward compatibility.
Furthermore, my main open source projects are being transferred to the [bluenviron organization](https://github.com/bluenviron), in order to allow the community to maintain and evolve the code regardless of my personal availability.
In the next months, the repository name and the Docker image name will be changed accordingly.
## Table of contents ## Table of contents
@ -120,7 +116,7 @@ In the next months, the repository name and the Docker image name will be change
### Standard ### Standard
1. Download and extract a precompiled binary from the [release page](https://github.com/aler9/mediamtx/releases). 1. Download and extract a precompiled binary from the [release page](https://github.com/bluenviron/mediamtx/releases).
2. Start the server: 2. Start the server:
@ -142,7 +138,7 @@ The `--network=host` flag is mandatory since Docker can change the source port o
docker run --rm -it -e MTX_PROTOCOLS=tcp -p 8554:8554 -p 1935:1935 -p 8888:8888 -p 8889:8889 aler9/rtsp-simple-server docker run --rm -it -e MTX_PROTOCOLS=tcp -p 8554:8554 -p 1935:1935 -p 8888:8888 -p 8889:8889 aler9/rtsp-simple-server
``` ```
Please keep in mind that the Docker image doesn't include _FFmpeg_. if you need to use _FFmpeg_ for an external command or anything else, you need to build a Docker image that contains both _rtsp-simple-server_ and _FFmpeg_, by following instructions [here](https://github.com/aler9/mediamtx/discussions/278#discussioncomment-549104). Please keep in mind that the Docker image doesn't include _FFmpeg_. if you need to use _FFmpeg_ for an external command or anything else, you need to build a Docker image that contains both _rtsp-simple-server_ and _FFmpeg_, by following instructions [here](https://github.com/bluenviron/mediamtx/discussions/278#discussioncomment-549104).
### OpenWRT ### OpenWRT
@ -160,8 +156,8 @@ Please keep in mind that the Docker image doesn't include _FFmpeg_. if you need
``` ```
mkdir package/mediamtx mkdir package/mediamtx
wget -O package/mediamtx/Makefile https://raw.githubusercontent.com/aler9/mediamtx/main/openwrt.mk wget -O package/mediamtx/Makefile https://raw.githubusercontent.com/bluenviron/mediamtx/main/openwrt.mk
sed -i "s/v0.0.0/$(git ls-remote --tags --sort=v:refname https://github.com/aler9/mediamtx | tail -n1 | sed 's/.*\///; s/\^{}//')/" package/mediamtx/Makefile sed -i "s/v0.0.0/$(git ls-remote --tags --sort=v:refname https://github.com/bluenviron/mediamtx | tail -n1 | sed 's/.*\///; s/\^{}//')/" package/mediamtx/Makefile
``` ```
4. Compile the server: 4. Compile the server:
@ -434,7 +430,7 @@ The command inserted into `runOnDemand` will start only when a client requests t
Systemd is the service manager used by Ubuntu, Debian and many other Linux distributions, and allows to launch _MediaMTX_ on boot. Systemd is the service manager used by Ubuntu, Debian and many other Linux distributions, and allows to launch _MediaMTX_ on boot.
Download a release bundle from the [release page](https://github.com/aler9/mediamtx/releases), unzip it, and move the executable and configuration in the system: Download a release bundle from the [release page](https://github.com/bluenviron/mediamtx/releases), unzip it, and move the executable and configuration in the system:
``` ```
sudo mv mediamtx /usr/local/bin/ sudo mv mediamtx /usr/local/bin/

2
go.mod

@ -1,4 +1,4 @@
module github.com/aler9/mediamtx module github.com/bluenviron/mediamtx
go 1.20 go 1.20

8
internal/conf/conf.go

@ -14,10 +14,10 @@ import (
"github.com/bluenviron/gortsplib/v3" "github.com/bluenviron/gortsplib/v3"
"github.com/bluenviron/gortsplib/v3/pkg/headers" "github.com/bluenviron/gortsplib/v3/pkg/headers"
"github.com/aler9/mediamtx/internal/conf/decrypt" "github.com/bluenviron/mediamtx/internal/conf/decrypt"
"github.com/aler9/mediamtx/internal/conf/env" "github.com/bluenviron/mediamtx/internal/conf/env"
"github.com/aler9/mediamtx/internal/conf/yaml" "github.com/bluenviron/mediamtx/internal/conf/yaml"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
func getSortedKeys(paths map[string]*PathConf) []string { func getSortedKeys(paths map[string]*PathConf) []string {

2
internal/conf/conf_test.go

@ -12,7 +12,7 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"golang.org/x/crypto/nacl/secretbox" "golang.org/x/crypto/nacl/secretbox"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
func writeTempFile(byts []byte) (string, error) { func writeTempFile(byts []byte) (string, error) {

2
internal/conf/logdestination.go

@ -5,7 +5,7 @@ import (
"fmt" "fmt"
"strings" "strings"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
// LogDestinations is the logDestionations parameter. // LogDestinations is the logDestionations parameter.

2
internal/conf/loglevel.go

@ -4,7 +4,7 @@ import (
"encoding/json" "encoding/json"
"fmt" "fmt"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
// LogLevel is the logLevel parameter. // LogLevel is the logLevel parameter.

4
internal/core/api.go

@ -13,8 +13,8 @@ import (
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/google/uuid" "github.com/google/uuid"
"github.com/aler9/mediamtx/internal/conf" "github.com/bluenviron/mediamtx/internal/conf"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
func interfaceIsEmpty(i interface{}) bool { func interfaceIsEmpty(i interface{}) bool {

2
internal/core/api_test.go

@ -20,7 +20,7 @@ import (
"github.com/pion/rtp" "github.com/pion/rtp"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/aler9/mediamtx/internal/rtmp" "github.com/bluenviron/mediamtx/internal/rtmp"
) )
var testFormatH264 = &formats.H264{ var testFormatH264 = &formats.H264{

2
internal/core/authentication.go

@ -17,7 +17,7 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/url" "github.com/bluenviron/gortsplib/v3/pkg/url"
"github.com/google/uuid" "github.com/google/uuid"
"github.com/aler9/mediamtx/internal/conf" "github.com/bluenviron/mediamtx/internal/conf"
) )
func sha256Base64(in string) string { func sha256Base64(in string) string {

12
internal/core/core.go

@ -12,12 +12,12 @@ import (
"github.com/bluenviron/gortsplib/v3" "github.com/bluenviron/gortsplib/v3"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/aler9/mediamtx/internal/conf" "github.com/bluenviron/mediamtx/internal/conf"
"github.com/aler9/mediamtx/internal/confwatcher" "github.com/bluenviron/mediamtx/internal/confwatcher"
"github.com/aler9/mediamtx/internal/externalcmd" "github.com/bluenviron/mediamtx/internal/externalcmd"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
"github.com/aler9/mediamtx/internal/rlimit" "github.com/bluenviron/mediamtx/internal/rlimit"
"github.com/aler9/mediamtx/internal/rpicamera" "github.com/bluenviron/mediamtx/internal/rpicamera"
) )
var version = "v0.0.0" var version = "v0.0.0"

4
internal/core/hls_http_server.go

@ -12,8 +12,8 @@ import (
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/aler9/mediamtx/internal/conf" "github.com/bluenviron/mediamtx/internal/conf"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
type hlsHTTPServerParent interface { type hlsHTTPServerParent interface {

4
internal/core/hls_manager.go

@ -6,8 +6,8 @@ import (
"sync" "sync"
"time" "time"
"github.com/aler9/mediamtx/internal/conf" "github.com/bluenviron/mediamtx/internal/conf"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
type nilWriter struct{} type nilWriter struct{}

8
internal/core/hls_muxer.go

@ -15,6 +15,7 @@ import (
"sync/atomic" "sync/atomic"
"time" "time"
"github.com/bluenviron/gohlslib"
"github.com/bluenviron/gohlslib/pkg/codecs" "github.com/bluenviron/gohlslib/pkg/codecs"
"github.com/bluenviron/gortsplib/v3/pkg/formats" "github.com/bluenviron/gortsplib/v3/pkg/formats"
"github.com/bluenviron/gortsplib/v3/pkg/media" "github.com/bluenviron/gortsplib/v3/pkg/media"
@ -22,10 +23,9 @@ import (
"github.com/bluenviron/mediacommon/pkg/codecs/mpeg4audio" "github.com/bluenviron/mediacommon/pkg/codecs/mpeg4audio"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/aler9/mediamtx/internal/conf" "github.com/bluenviron/mediamtx/internal/conf"
"github.com/aler9/mediamtx/internal/formatprocessor" "github.com/bluenviron/mediamtx/internal/formatprocessor"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
"github.com/bluenviron/gohlslib"
) )
const ( const (

6
internal/core/hls_source.go

@ -15,9 +15,9 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/formats" "github.com/bluenviron/gortsplib/v3/pkg/formats"
"github.com/bluenviron/gortsplib/v3/pkg/media" "github.com/bluenviron/gortsplib/v3/pkg/media"
"github.com/aler9/mediamtx/internal/conf" "github.com/bluenviron/mediamtx/internal/conf"
"github.com/aler9/mediamtx/internal/formatprocessor" "github.com/bluenviron/mediamtx/internal/formatprocessor"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
type hlsSourceParent interface { type hlsSourceParent interface {

2
internal/core/http_logger.go

@ -8,7 +8,7 @@ import (
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
type httpLoggerWriter struct { type httpLoggerWriter struct {

2
internal/core/http_set_trusted_proxies.go

@ -3,7 +3,7 @@ package core
import ( import (
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/aler9/mediamtx/internal/conf" "github.com/bluenviron/mediamtx/internal/conf"
) )
func httpSetTrustedProxies(router *gin.Engine, trustedProxies conf.IPsOrCIDRs) { func httpSetTrustedProxies(router *gin.Engine, trustedProxies conf.IPsOrCIDRs) {

4
internal/core/metrics.go

@ -12,8 +12,8 @@ import (
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/aler9/mediamtx/internal/conf" "github.com/bluenviron/mediamtx/internal/conf"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
func metric(key string, tags string, value int64) string { func metric(key string, tags string, value int64) string {

2
internal/core/metrics_test.go

@ -12,7 +12,7 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/media" "github.com/bluenviron/gortsplib/v3/pkg/media"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/aler9/mediamtx/internal/rtmp" "github.com/bluenviron/mediamtx/internal/rtmp"
) )
func TestMetrics(t *testing.T) { func TestMetrics(t *testing.T) {

6
internal/core/path.go

@ -13,9 +13,9 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/media" "github.com/bluenviron/gortsplib/v3/pkg/media"
"github.com/bluenviron/gortsplib/v3/pkg/url" "github.com/bluenviron/gortsplib/v3/pkg/url"
"github.com/aler9/mediamtx/internal/conf" "github.com/bluenviron/mediamtx/internal/conf"
"github.com/aler9/mediamtx/internal/externalcmd" "github.com/bluenviron/mediamtx/internal/externalcmd"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
func newEmptyTimer() *time.Timer { func newEmptyTimer() *time.Timer {

6
internal/core/path_manager.go

@ -5,9 +5,9 @@ import (
"fmt" "fmt"
"sync" "sync"
"github.com/aler9/mediamtx/internal/conf" "github.com/bluenviron/mediamtx/internal/conf"
"github.com/aler9/mediamtx/internal/externalcmd" "github.com/bluenviron/mediamtx/internal/externalcmd"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
func pathConfCanBeUpdated(oldPathConf *conf.PathConf, newPathConf *conf.PathConf) bool { func pathConfCanBeUpdated(oldPathConf *conf.PathConf, newPathConf *conf.PathConf) bool {

4
internal/core/pprof.go

@ -10,8 +10,8 @@ import (
// start pprof // start pprof
_ "net/http/pprof" _ "net/http/pprof"
"github.com/aler9/mediamtx/internal/conf" "github.com/bluenviron/mediamtx/internal/conf"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
type pprofParent interface { type pprofParent interface {

8
internal/core/rpicamera_source.go

@ -7,10 +7,10 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/formats" "github.com/bluenviron/gortsplib/v3/pkg/formats"
"github.com/bluenviron/gortsplib/v3/pkg/media" "github.com/bluenviron/gortsplib/v3/pkg/media"
"github.com/aler9/mediamtx/internal/conf" "github.com/bluenviron/mediamtx/internal/conf"
"github.com/aler9/mediamtx/internal/formatprocessor" "github.com/bluenviron/mediamtx/internal/formatprocessor"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
"github.com/aler9/mediamtx/internal/rpicamera" "github.com/bluenviron/mediamtx/internal/rpicamera"
) )
func paramsFromConf(cnf *conf.PathConf) rpicamera.Params { func paramsFromConf(cnf *conf.PathConf) rpicamera.Params {

14
internal/core/rtmp_conn.go

@ -20,13 +20,13 @@ import (
"github.com/google/uuid" "github.com/google/uuid"
"github.com/notedit/rtmp/format/flv/flvio" "github.com/notedit/rtmp/format/flv/flvio"
"github.com/aler9/mediamtx/internal/conf" "github.com/bluenviron/mediamtx/internal/conf"
"github.com/aler9/mediamtx/internal/externalcmd" "github.com/bluenviron/mediamtx/internal/externalcmd"
"github.com/aler9/mediamtx/internal/formatprocessor" "github.com/bluenviron/mediamtx/internal/formatprocessor"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
"github.com/aler9/mediamtx/internal/rtmp" "github.com/bluenviron/mediamtx/internal/rtmp"
"github.com/aler9/mediamtx/internal/rtmp/h264conf" "github.com/bluenviron/mediamtx/internal/rtmp/h264conf"
"github.com/aler9/mediamtx/internal/rtmp/message" "github.com/bluenviron/mediamtx/internal/rtmp/message"
) )
const ( const (

6
internal/core/rtmp_server.go

@ -10,9 +10,9 @@ import (
"github.com/google/uuid" "github.com/google/uuid"
"github.com/aler9/mediamtx/internal/conf" "github.com/bluenviron/mediamtx/internal/conf"
"github.com/aler9/mediamtx/internal/externalcmd" "github.com/bluenviron/mediamtx/internal/externalcmd"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
type rtmpServerAPIConnsListItem struct { type rtmpServerAPIConnsListItem struct {

4
internal/core/rtmp_server_test.go

@ -12,8 +12,8 @@ import (
"github.com/bluenviron/mediacommon/pkg/codecs/mpeg4audio" "github.com/bluenviron/mediacommon/pkg/codecs/mpeg4audio"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/aler9/mediamtx/internal/rtmp" "github.com/bluenviron/mediamtx/internal/rtmp"
"github.com/aler9/mediamtx/internal/rtmp/message" "github.com/bluenviron/mediamtx/internal/rtmp/message"
) )
func TestRTMPServerRunOnConnect(t *testing.T) { func TestRTMPServerRunOnConnect(t *testing.T) {

8
internal/core/rtmp_source.go

@ -14,10 +14,10 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/formats" "github.com/bluenviron/gortsplib/v3/pkg/formats"
"github.com/bluenviron/gortsplib/v3/pkg/media" "github.com/bluenviron/gortsplib/v3/pkg/media"
"github.com/aler9/mediamtx/internal/conf" "github.com/bluenviron/mediamtx/internal/conf"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
"github.com/aler9/mediamtx/internal/rtmp" "github.com/bluenviron/mediamtx/internal/rtmp"
"github.com/aler9/mediamtx/internal/rtmp/message" "github.com/bluenviron/mediamtx/internal/rtmp/message"
) )
type rtmpSourceParent interface { type rtmpSourceParent interface {

4
internal/core/rtmp_source_test.go

@ -13,8 +13,8 @@ import (
"github.com/pion/rtp" "github.com/pion/rtp"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/aler9/mediamtx/internal/rtmp" "github.com/bluenviron/mediamtx/internal/rtmp"
"github.com/aler9/mediamtx/internal/rtmp/message" "github.com/bluenviron/mediamtx/internal/rtmp/message"
) )
func TestRTMPSource(t *testing.T) { func TestRTMPSource(t *testing.T) {

6
internal/core/rtsp_conn.go

@ -11,9 +11,9 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/headers" "github.com/bluenviron/gortsplib/v3/pkg/headers"
"github.com/google/uuid" "github.com/google/uuid"
"github.com/aler9/mediamtx/internal/conf" "github.com/bluenviron/mediamtx/internal/conf"
"github.com/aler9/mediamtx/internal/externalcmd" "github.com/bluenviron/mediamtx/internal/externalcmd"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
const ( const (

6
internal/core/rtsp_server.go

@ -14,9 +14,9 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/liberrors" "github.com/bluenviron/gortsplib/v3/pkg/liberrors"
"github.com/google/uuid" "github.com/google/uuid"
"github.com/aler9/mediamtx/internal/conf" "github.com/bluenviron/mediamtx/internal/conf"
"github.com/aler9/mediamtx/internal/externalcmd" "github.com/bluenviron/mediamtx/internal/externalcmd"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
type rtspServerAPIConnsListItem struct { type rtspServerAPIConnsListItem struct {

6
internal/core/rtsp_session.go

@ -14,9 +14,9 @@ import (
"github.com/google/uuid" "github.com/google/uuid"
"github.com/pion/rtp" "github.com/pion/rtp"
"github.com/aler9/mediamtx/internal/conf" "github.com/bluenviron/mediamtx/internal/conf"
"github.com/aler9/mediamtx/internal/externalcmd" "github.com/bluenviron/mediamtx/internal/externalcmd"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
type rtspSessionPathManager interface { type rtspSessionPathManager interface {

4
internal/core/rtsp_source.go

@ -14,9 +14,9 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/headers" "github.com/bluenviron/gortsplib/v3/pkg/headers"
"github.com/pion/rtp" "github.com/pion/rtp"
"github.com/aler9/mediamtx/internal/conf"
"github.com/aler9/mediamtx/internal/logger"
"github.com/bluenviron/gortsplib/v3/pkg/url" "github.com/bluenviron/gortsplib/v3/pkg/url"
"github.com/bluenviron/mediamtx/internal/conf"
"github.com/bluenviron/mediamtx/internal/logger"
) )
type rtspSourceParent interface { type rtspSourceParent interface {

2
internal/core/source.go

@ -6,7 +6,7 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/media" "github.com/bluenviron/gortsplib/v3/pkg/media"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
// source is an entity that can provide a stream. // source is an entity that can provide a stream.

2
internal/core/source_redirect.go

@ -1,7 +1,7 @@
package core package core
import ( import (
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
// sourceRedirect is a source that redirects to another one. // sourceRedirect is a source that redirects to another one.

4
internal/core/source_static.go

@ -6,8 +6,8 @@ import (
"strings" "strings"
"time" "time"
"github.com/aler9/mediamtx/internal/conf" "github.com/bluenviron/mediamtx/internal/conf"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
const ( const (

2
internal/core/stream.go

@ -8,7 +8,7 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/media" "github.com/bluenviron/gortsplib/v3/pkg/media"
"github.com/pion/rtp" "github.com/pion/rtp"
"github.com/aler9/mediamtx/internal/formatprocessor" "github.com/bluenviron/mediamtx/internal/formatprocessor"
) )
type stream struct { type stream struct {

4
internal/core/stream_format.go

@ -9,8 +9,8 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/media" "github.com/bluenviron/gortsplib/v3/pkg/media"
"github.com/pion/rtp" "github.com/pion/rtp"
"github.com/aler9/mediamtx/internal/formatprocessor" "github.com/bluenviron/mediamtx/internal/formatprocessor"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
type streamFormat struct { type streamFormat struct {

6
internal/core/udp_source.go

@ -14,9 +14,9 @@ import (
"github.com/bluenviron/mediacommon/pkg/formats/mpegts" "github.com/bluenviron/mediacommon/pkg/formats/mpegts"
"golang.org/x/net/ipv4" "golang.org/x/net/ipv4"
"github.com/aler9/mediamtx/internal/conf" "github.com/bluenviron/mediamtx/internal/conf"
"github.com/aler9/mediamtx/internal/formatprocessor" "github.com/bluenviron/mediamtx/internal/formatprocessor"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
const ( const (

4
internal/core/webrtc_http_server.go

@ -18,8 +18,8 @@ import (
"github.com/pion/sdp/v3" "github.com/pion/sdp/v3"
"github.com/pion/webrtc/v3" "github.com/pion/webrtc/v3"
"github.com/aler9/mediamtx/internal/conf" "github.com/bluenviron/mediamtx/internal/conf"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
//go:embed webrtc_publish_index.html //go:embed webrtc_publish_index.html

4
internal/core/webrtc_manager.go

@ -18,8 +18,8 @@ import (
"github.com/pion/ice/v2" "github.com/pion/ice/v2"
"github.com/pion/webrtc/v3" "github.com/pion/webrtc/v3"
"github.com/aler9/mediamtx/internal/conf" "github.com/bluenviron/mediamtx/internal/conf"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
func iceServersToLinkHeader(iceServers []webrtc.ICEServer) []string { func iceServersToLinkHeader(iceServers []webrtc.ICEServer) []string {

3
internal/core/webrtc_outgoing_track.go

@ -5,7 +5,6 @@ import (
"fmt" "fmt"
"time" "time"
"github.com/aler9/mediamtx/internal/formatprocessor"
"github.com/bluenviron/gortsplib/v3/pkg/formats" "github.com/bluenviron/gortsplib/v3/pkg/formats"
"github.com/bluenviron/gortsplib/v3/pkg/formats/rtpav1" "github.com/bluenviron/gortsplib/v3/pkg/formats/rtpav1"
"github.com/bluenviron/gortsplib/v3/pkg/formats/rtph264" "github.com/bluenviron/gortsplib/v3/pkg/formats/rtph264"
@ -14,6 +13,8 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/media" "github.com/bluenviron/gortsplib/v3/pkg/media"
"github.com/bluenviron/gortsplib/v3/pkg/ringbuffer" "github.com/bluenviron/gortsplib/v3/pkg/ringbuffer"
"github.com/pion/webrtc/v3" "github.com/pion/webrtc/v3"
"github.com/bluenviron/mediamtx/internal/formatprocessor"
) )
type webRTCOutgoingTrack struct { type webRTCOutgoingTrack struct {

2
internal/core/webrtc_pc.go

@ -8,7 +8,7 @@ import (
"github.com/pion/interceptor" "github.com/pion/interceptor"
"github.com/pion/webrtc/v3" "github.com/pion/webrtc/v3"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
type peerConnection struct { type peerConnection struct {

2
internal/core/webrtc_session.go

@ -16,7 +16,7 @@ import (
"github.com/pion/sdp/v3" "github.com/pion/sdp/v3"
"github.com/pion/webrtc/v3" "github.com/pion/webrtc/v3"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
const ( const (

2
internal/formatprocessor/av1.go

@ -9,7 +9,7 @@ import (
"github.com/bluenviron/mediacommon/pkg/codecs/av1" "github.com/bluenviron/mediacommon/pkg/codecs/av1"
"github.com/pion/rtp" "github.com/pion/rtp"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
// UnitAV1 is an AV1 data unit. // UnitAV1 is an AV1 data unit.

2
internal/formatprocessor/generic.go

@ -7,7 +7,7 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/formats" "github.com/bluenviron/gortsplib/v3/pkg/formats"
"github.com/pion/rtp" "github.com/pion/rtp"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
// UnitGeneric is a generic data unit. // UnitGeneric is a generic data unit.

2
internal/formatprocessor/h264.go

@ -9,7 +9,7 @@ import (
"github.com/bluenviron/mediacommon/pkg/codecs/h264" "github.com/bluenviron/mediacommon/pkg/codecs/h264"
"github.com/pion/rtp" "github.com/pion/rtp"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
// extract SPS and PPS without decoding RTP packets // extract SPS and PPS without decoding RTP packets

2
internal/formatprocessor/h265.go

@ -9,7 +9,7 @@ import (
"github.com/bluenviron/mediacommon/pkg/codecs/h265" "github.com/bluenviron/mediacommon/pkg/codecs/h265"
"github.com/pion/rtp" "github.com/pion/rtp"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
// extract VPS, SPS and PPS without decoding RTP packets // extract VPS, SPS and PPS without decoding RTP packets

2
internal/formatprocessor/mpeg2audio.go

@ -8,7 +8,7 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/formats/rtpmpeg2audio" "github.com/bluenviron/gortsplib/v3/pkg/formats/rtpmpeg2audio"
"github.com/pion/rtp" "github.com/pion/rtp"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
// UnitMPEG2Audio is a MPEG-2 Audio data unit. // UnitMPEG2Audio is a MPEG-2 Audio data unit.

2
internal/formatprocessor/mpeg4audio.go

@ -8,7 +8,7 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/formats/rtpmpeg4audio" "github.com/bluenviron/gortsplib/v3/pkg/formats/rtpmpeg4audio"
"github.com/pion/rtp" "github.com/pion/rtp"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
// UnitMPEG4Audio is a MPEG-4 Audio data unit. // UnitMPEG4Audio is a MPEG-4 Audio data unit.

2
internal/formatprocessor/opus.go

@ -8,7 +8,7 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/formats/rtpsimpleaudio" "github.com/bluenviron/gortsplib/v3/pkg/formats/rtpsimpleaudio"
"github.com/pion/rtp" "github.com/pion/rtp"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
// UnitOpus is a Opus data unit. // UnitOpus is a Opus data unit.

2
internal/formatprocessor/processor.go

@ -7,7 +7,7 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/formats" "github.com/bluenviron/gortsplib/v3/pkg/formats"
"github.com/pion/rtp" "github.com/pion/rtp"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
const ( const (

2
internal/formatprocessor/vp8.go

@ -8,7 +8,7 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/formats/rtpvp8" "github.com/bluenviron/gortsplib/v3/pkg/formats/rtpvp8"
"github.com/pion/rtp" "github.com/pion/rtp"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
// UnitVP8 is a VP8 data unit. // UnitVP8 is a VP8 data unit.

2
internal/formatprocessor/vp9.go

@ -8,7 +8,7 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/formats/rtpvp9" "github.com/bluenviron/gortsplib/v3/pkg/formats/rtpvp9"
"github.com/pion/rtp" "github.com/pion/rtp"
"github.com/aler9/mediamtx/internal/logger" "github.com/bluenviron/mediamtx/internal/logger"
) )
// UnitVP9 is a VP9 data unit. // UnitVP9 is a VP9 data unit.

2
internal/highleveltests/tests_test.go

@ -9,7 +9,7 @@ import (
"strconv" "strconv"
"time" "time"
"github.com/aler9/mediamtx/internal/core" "github.com/bluenviron/mediamtx/internal/core"
) )
var serverCert = []byte(`-----BEGIN CERTIFICATE----- var serverCert = []byte(`-----BEGIN CERTIFICATE-----

8
internal/rtmp/conn.go

@ -10,10 +10,10 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/formats" "github.com/bluenviron/gortsplib/v3/pkg/formats"
"github.com/notedit/rtmp/format/flv/flvio" "github.com/notedit/rtmp/format/flv/flvio"
"github.com/aler9/mediamtx/internal/rtmp/bytecounter" "github.com/bluenviron/mediamtx/internal/rtmp/bytecounter"
"github.com/aler9/mediamtx/internal/rtmp/handshake" "github.com/bluenviron/mediamtx/internal/rtmp/handshake"
"github.com/aler9/mediamtx/internal/rtmp/message" "github.com/bluenviron/mediamtx/internal/rtmp/message"
"github.com/aler9/mediamtx/internal/rtmp/tracks" "github.com/bluenviron/mediamtx/internal/rtmp/tracks"
) )
func resultIsOK1(res *message.CommandAMF0) bool { func resultIsOK1(res *message.CommandAMF0) bool {

6
internal/rtmp/conn_test.go

@ -9,9 +9,9 @@ import (
"github.com/notedit/rtmp/format/flv/flvio" "github.com/notedit/rtmp/format/flv/flvio"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/aler9/mediamtx/internal/rtmp/bytecounter" "github.com/bluenviron/mediamtx/internal/rtmp/bytecounter"
"github.com/aler9/mediamtx/internal/rtmp/handshake" "github.com/bluenviron/mediamtx/internal/rtmp/handshake"
"github.com/aler9/mediamtx/internal/rtmp/message" "github.com/bluenviron/mediamtx/internal/rtmp/message"
) )
func TestInitializeClient(t *testing.T) { func TestInitializeClient(t *testing.T) {

2
internal/rtmp/message/acknowledge.go

@ -3,7 +3,7 @@ package message //nolint:dupl
import ( import (
"fmt" "fmt"
"github.com/aler9/mediamtx/internal/rtmp/rawmessage" "github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
) )
// Acknowledge is an acknowledgement message. // Acknowledge is an acknowledgement message.

2
internal/rtmp/message/audio.go

@ -4,7 +4,7 @@ import (
"fmt" "fmt"
"time" "time"
"github.com/aler9/mediamtx/internal/rtmp/rawmessage" "github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
) )
const ( const (

2
internal/rtmp/message/command_amf0.go

@ -5,7 +5,7 @@ import (
"github.com/notedit/rtmp/format/flv/flvio" "github.com/notedit/rtmp/format/flv/flvio"
"github.com/aler9/mediamtx/internal/rtmp/rawmessage" "github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
) )
// CommandAMF0 is a AMF0 command message. // CommandAMF0 is a AMF0 command message.

2
internal/rtmp/message/data_amf0.go

@ -3,7 +3,7 @@ package message
import ( import (
"github.com/notedit/rtmp/format/flv/flvio" "github.com/notedit/rtmp/format/flv/flvio"
"github.com/aler9/mediamtx/internal/rtmp/rawmessage" "github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
) )
// DataAMF0 is a AMF0 data message. // DataAMF0 is a AMF0 data message.

2
internal/rtmp/message/extended_coded_frames.go

@ -4,7 +4,7 @@ import (
"fmt" "fmt"
"time" "time"
"github.com/aler9/mediamtx/internal/rtmp/rawmessage" "github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
) )
// ExtendedCodedFrames is a CodedFrames extended message. // ExtendedCodedFrames is a CodedFrames extended message.

2
internal/rtmp/message/extended_frames_x.go

@ -3,7 +3,7 @@ package message
import ( import (
"time" "time"
"github.com/aler9/mediamtx/internal/rtmp/rawmessage" "github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
) )
// ExtendedFramesX is a FramesX extended message. // ExtendedFramesX is a FramesX extended message.

2
internal/rtmp/message/extended_metadata.go

@ -3,7 +3,7 @@ package message
import ( import (
"fmt" "fmt"
"github.com/aler9/mediamtx/internal/rtmp/rawmessage" "github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
) )
// ExtendedMetadata is a metadata extended message. // ExtendedMetadata is a metadata extended message.

2
internal/rtmp/message/extended_mpeg2ts_sequence_start.go

@ -3,7 +3,7 @@ package message
import ( import (
"fmt" "fmt"
"github.com/aler9/mediamtx/internal/rtmp/rawmessage" "github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
) )
// ExtendedMPEG2TSSequenceStart is a MPEG2-TS sequence start extended message. // ExtendedMPEG2TSSequenceStart is a MPEG2-TS sequence start extended message.

2
internal/rtmp/message/extended_sequence_end.go

@ -3,7 +3,7 @@ package message
import ( import (
"fmt" "fmt"
"github.com/aler9/mediamtx/internal/rtmp/rawmessage" "github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
) )
// ExtendedSequenceEnd is a sequence end extended message. // ExtendedSequenceEnd is a sequence end extended message.

2
internal/rtmp/message/extended_sequence_start.go

@ -3,7 +3,7 @@ package message
import ( import (
"fmt" "fmt"
"github.com/aler9/mediamtx/internal/rtmp/rawmessage" "github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
) )
// ExtendedSequenceStart is a sequence start extended message. // ExtendedSequenceStart is a sequence start extended message.

2
internal/rtmp/message/message.go

@ -2,7 +2,7 @@
package message package message
import ( import (
"github.com/aler9/mediamtx/internal/rtmp/rawmessage" "github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
) )
const ( const (

4
internal/rtmp/message/reader.go

@ -3,8 +3,8 @@ package message
import ( import (
"fmt" "fmt"
"github.com/aler9/mediamtx/internal/rtmp/bytecounter" "github.com/bluenviron/mediamtx/internal/rtmp/bytecounter"
"github.com/aler9/mediamtx/internal/rtmp/rawmessage" "github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
) )
func allocateMessage(raw *rawmessage.Message) (Message, error) { func allocateMessage(raw *rawmessage.Message) (Message, error) {

2
internal/rtmp/message/reader_test.go

@ -8,7 +8,7 @@ import (
"github.com/notedit/rtmp/format/flv/flvio" "github.com/notedit/rtmp/format/flv/flvio"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/aler9/mediamtx/internal/rtmp/bytecounter" "github.com/bluenviron/mediamtx/internal/rtmp/bytecounter"
) )
var readWriterCases = []struct { var readWriterCases = []struct {

2
internal/rtmp/message/readwriter.go

@ -1,7 +1,7 @@
package message package message
import ( import (
"github.com/aler9/mediamtx/internal/rtmp/bytecounter" "github.com/bluenviron/mediamtx/internal/rtmp/bytecounter"
) )
// ReadWriter is a message reader/writer. // ReadWriter is a message reader/writer.

2
internal/rtmp/message/readwriter_test.go

@ -7,7 +7,7 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/aler9/mediamtx/internal/rtmp/bytecounter" "github.com/bluenviron/mediamtx/internal/rtmp/bytecounter"
) )
type duplexRW struct { type duplexRW struct {

2
internal/rtmp/message/set_chunk_size.go

@ -3,7 +3,7 @@ package message //nolint:dupl
import ( import (
"fmt" "fmt"
"github.com/aler9/mediamtx/internal/rtmp/rawmessage" "github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
) )
// SetChunkSize is a set chunk size message. // SetChunkSize is a set chunk size message.

2
internal/rtmp/message/set_peer_bandwidth.go

@ -3,7 +3,7 @@ package message //nolint:dupl
import ( import (
"fmt" "fmt"
"github.com/aler9/mediamtx/internal/rtmp/rawmessage" "github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
) )
// SetPeerBandwidth is a set peer bandwidth message. // SetPeerBandwidth is a set peer bandwidth message.

2
internal/rtmp/message/set_window_ack_size.go

@ -3,7 +3,7 @@ package message //nolint:dupl
import ( import (
"fmt" "fmt"
"github.com/aler9/mediamtx/internal/rtmp/rawmessage" "github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
) )
// SetWindowAckSize is a set window acknowledgement message. // SetWindowAckSize is a set window acknowledgement message.

2
internal/rtmp/message/user_control_ping_request.go

@ -3,7 +3,7 @@ package message //nolint:dupl
import ( import (
"fmt" "fmt"
"github.com/aler9/mediamtx/internal/rtmp/rawmessage" "github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
) )
// UserControlPingRequest is a user control message. // UserControlPingRequest is a user control message.

2
internal/rtmp/message/user_control_ping_response.go

@ -3,7 +3,7 @@ package message //nolint:dupl
import ( import (
"fmt" "fmt"
"github.com/aler9/mediamtx/internal/rtmp/rawmessage" "github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
) )
// UserControlPingResponse is a user control message. // UserControlPingResponse is a user control message.

2
internal/rtmp/message/user_control_set_buffer_length.go

@ -3,7 +3,7 @@ package message //nolint:dupl
import ( import (
"fmt" "fmt"
"github.com/aler9/mediamtx/internal/rtmp/rawmessage" "github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
) )
// UserControlSetBufferLength is a user control message. // UserControlSetBufferLength is a user control message.

2
internal/rtmp/message/user_control_stream_begin.go

@ -3,7 +3,7 @@ package message //nolint:dupl
import ( import (
"fmt" "fmt"
"github.com/aler9/mediamtx/internal/rtmp/rawmessage" "github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
) )
// UserControlStreamBegin is a user control message. // UserControlStreamBegin is a user control message.

2
internal/rtmp/message/user_control_stream_dry.go

@ -3,7 +3,7 @@ package message //nolint:dupl
import ( import (
"fmt" "fmt"
"github.com/aler9/mediamtx/internal/rtmp/rawmessage" "github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
) )
// UserControlStreamDry is a user control message. // UserControlStreamDry is a user control message.

2
internal/rtmp/message/user_control_stream_eof.go

@ -3,7 +3,7 @@ package message //nolint:dupl
import ( import (
"fmt" "fmt"
"github.com/aler9/mediamtx/internal/rtmp/rawmessage" "github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
) )
// UserControlStreamEOF is a user control message. // UserControlStreamEOF is a user control message.

2
internal/rtmp/message/user_control_stream_is_recorded.go

@ -3,7 +3,7 @@ package message //nolint:dupl
import ( import (
"fmt" "fmt"
"github.com/aler9/mediamtx/internal/rtmp/rawmessage" "github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
) )
// UserControlStreamIsRecorded is a user control message. // UserControlStreamIsRecorded is a user control message.

2
internal/rtmp/message/video.go

@ -6,7 +6,7 @@ import (
"github.com/notedit/rtmp/format/flv/flvio" "github.com/notedit/rtmp/format/flv/flvio"
"github.com/aler9/mediamtx/internal/rtmp/rawmessage" "github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
) )
const ( const (

4
internal/rtmp/message/writer.go

@ -1,8 +1,8 @@
package message package message
import ( import (
"github.com/aler9/mediamtx/internal/rtmp/bytecounter" "github.com/bluenviron/mediamtx/internal/rtmp/bytecounter"
"github.com/aler9/mediamtx/internal/rtmp/rawmessage" "github.com/bluenviron/mediamtx/internal/rtmp/rawmessage"
) )
// Writer is a message writer. // Writer is a message writer.

2
internal/rtmp/message/writer_test.go

@ -6,7 +6,7 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/aler9/mediamtx/internal/rtmp/bytecounter" "github.com/bluenviron/mediamtx/internal/rtmp/bytecounter"
) )
func TestWriter(t *testing.T) { func TestWriter(t *testing.T) {

4
internal/rtmp/rawmessage/reader.go

@ -6,8 +6,8 @@ import (
"fmt" "fmt"
"time" "time"
"github.com/aler9/mediamtx/internal/rtmp/bytecounter" "github.com/bluenviron/mediamtx/internal/rtmp/bytecounter"
"github.com/aler9/mediamtx/internal/rtmp/chunk" "github.com/bluenviron/mediamtx/internal/rtmp/chunk"
) )
var errMoreChunksNeeded = errors.New("more chunks are needed") var errMoreChunksNeeded = errors.New("more chunks are needed")

4
internal/rtmp/rawmessage/reader_test.go

@ -7,8 +7,8 @@ import (
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/aler9/mediamtx/internal/rtmp/bytecounter" "github.com/bluenviron/mediamtx/internal/rtmp/bytecounter"
"github.com/aler9/mediamtx/internal/rtmp/chunk" "github.com/bluenviron/mediamtx/internal/rtmp/chunk"
) )
var cases = []struct { var cases = []struct {

4
internal/rtmp/rawmessage/writer.go

@ -5,8 +5,8 @@ import (
"fmt" "fmt"
"time" "time"
"github.com/aler9/mediamtx/internal/rtmp/bytecounter" "github.com/bluenviron/mediamtx/internal/rtmp/bytecounter"
"github.com/aler9/mediamtx/internal/rtmp/chunk" "github.com/bluenviron/mediamtx/internal/rtmp/chunk"
) )
type writerChunkStream struct { type writerChunkStream struct {

4
internal/rtmp/rawmessage/writer_test.go

@ -6,8 +6,8 @@ import (
"testing" "testing"
"time" "time"
"github.com/aler9/mediamtx/internal/rtmp/bytecounter" "github.com/bluenviron/mediamtx/internal/rtmp/bytecounter"
"github.com/aler9/mediamtx/internal/rtmp/chunk" "github.com/bluenviron/mediamtx/internal/rtmp/chunk"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
) )

4
internal/rtmp/tracks/read.go

@ -15,8 +15,8 @@ import (
"github.com/bluenviron/mediacommon/pkg/codecs/mpeg4audio" "github.com/bluenviron/mediacommon/pkg/codecs/mpeg4audio"
"github.com/notedit/rtmp/format/flv/flvio" "github.com/notedit/rtmp/format/flv/flvio"
"github.com/aler9/mediamtx/internal/rtmp/h264conf" "github.com/bluenviron/mediamtx/internal/rtmp/h264conf"
"github.com/aler9/mediamtx/internal/rtmp/message" "github.com/bluenviron/mediamtx/internal/rtmp/message"
) )
func h265FindNALU(array []gomp4.HEVCNaluArray, typ h265.NALUType) []byte { func h265FindNALU(array []gomp4.HEVCNaluArray, typ h265.NALUType) []byte {

6
internal/rtmp/tracks/read_test.go

@ -11,9 +11,9 @@ import (
"github.com/notedit/rtmp/format/flv/flvio" "github.com/notedit/rtmp/format/flv/flvio"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/aler9/mediamtx/internal/rtmp/bytecounter" "github.com/bluenviron/mediamtx/internal/rtmp/bytecounter"
"github.com/aler9/mediamtx/internal/rtmp/h264conf" "github.com/bluenviron/mediamtx/internal/rtmp/h264conf"
"github.com/aler9/mediamtx/internal/rtmp/message" "github.com/bluenviron/mediamtx/internal/rtmp/message"
) )
func TestRead(t *testing.T) { func TestRead(t *testing.T) {

4
internal/rtmp/tracks/write.go

@ -4,8 +4,8 @@ import (
"github.com/bluenviron/gortsplib/v3/pkg/formats" "github.com/bluenviron/gortsplib/v3/pkg/formats"
"github.com/notedit/rtmp/format/flv/flvio" "github.com/notedit/rtmp/format/flv/flvio"
"github.com/aler9/mediamtx/internal/rtmp/h264conf" "github.com/bluenviron/mediamtx/internal/rtmp/h264conf"
"github.com/aler9/mediamtx/internal/rtmp/message" "github.com/bluenviron/mediamtx/internal/rtmp/message"
) )
// Write writes track informations. // Write writes track informations.

4
internal/rtmp/tracks/write_test.go

@ -9,8 +9,8 @@ import (
"github.com/notedit/rtmp/format/flv/flvio" "github.com/notedit/rtmp/format/flv/flvio"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/aler9/mediamtx/internal/rtmp/bytecounter" "github.com/bluenviron/mediamtx/internal/rtmp/bytecounter"
"github.com/aler9/mediamtx/internal/rtmp/message" "github.com/bluenviron/mediamtx/internal/rtmp/message"
) )
func TestWrite(t *testing.T) { func TestWrite(t *testing.T) {

2
main.go

@ -4,7 +4,7 @@ package main
import ( import (
"os" "os"
"github.com/aler9/mediamtx/internal/core" "github.com/bluenviron/mediamtx/internal/core"
) )
func main() { func main() {

8
openwrt.mk

@ -5,15 +5,15 @@ PKG_VERSION:=v0.0.0
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/aler9/mediamtx PKG_SOURCE_URL:=https://github.com/bluenviron/mediamtx
PKG_SOURCE_VERSION:=$(PKG_VERSION) PKG_SOURCE_VERSION:=$(PKG_VERSION)
PKG_BUILD_DEPENDS:=golang/host PKG_BUILD_DEPENDS:=golang/host
PKG_BUILD_PARALLEL:=1 PKG_BUILD_PARALLEL:=1
PKG_USE_MIPS16:=0 PKG_USE_MIPS16:=0
GO_PKG:=github.com/aler9/mediamtx GO_PKG:=github.com/bluenviron/mediamtx
GO_PKG_LDFLAGS_X:=github.com/aler9/mediamtx/internal/core.version=$(PKG_VERSION) GO_PKG_LDFLAGS_X:=github.com/bluenviron/mediamtx/internal/core.version=$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk
@ -24,7 +24,7 @@ define Package/mediamtx
SECTION:=net SECTION:=net
CATEGORY:=Network CATEGORY:=Network
TITLE:=mediamtx TITLE:=mediamtx
URL:=https://github.com/aler9/mediamtx URL:=https://github.com/bluenviron/mediamtx
DEPENDS:=$(GO_ARCH_DEPENDS) DEPENDS:=$(GO_ARCH_DEPENDS)
endef endef

14
scripts/binaries.mk

@ -26,36 +26,36 @@ RUN mkdir tmp binaries
RUN cp mediamtx.yml LICENSE tmp/ RUN cp mediamtx.yml LICENSE tmp/
FROM build-base AS build-windows-amd64 FROM build-base AS build-windows-amd64
RUN GOOS=windows GOARCH=amd64 go build -ldflags "-X github.com/aler9/mediamtx/internal/core.version=$$VERSION" -o tmp/mediamtx.exe RUN GOOS=windows GOARCH=amd64 go build -ldflags "-X github.com/bluenviron/mediamtx/internal/core.version=$$VERSION" -o tmp/mediamtx.exe
RUN cd tmp && zip -q ../binaries/mediamtx_$${VERSION}_windows_amd64.zip mediamtx.exe mediamtx.yml LICENSE RUN cd tmp && zip -q ../binaries/mediamtx_$${VERSION}_windows_amd64.zip mediamtx.exe mediamtx.yml LICENSE
FROM build-base AS build-linux-amd64 FROM build-base AS build-linux-amd64
RUN GOOS=linux GOARCH=amd64 go build -ldflags "-X github.com/aler9/mediamtx/internal/core.version=$$VERSION" -o tmp/mediamtx RUN GOOS=linux GOARCH=amd64 go build -ldflags "-X github.com/bluenviron/mediamtx/internal/core.version=$$VERSION" -o tmp/mediamtx
RUN tar -C tmp -czf binaries/mediamtx_$${VERSION}_linux_amd64.tar.gz --owner=0 --group=0 mediamtx mediamtx.yml LICENSE RUN tar -C tmp -czf binaries/mediamtx_$${VERSION}_linux_amd64.tar.gz --owner=0 --group=0 mediamtx mediamtx.yml LICENSE
FROM build-base AS build-darwin-amd64 FROM build-base AS build-darwin-amd64
RUN GOOS=darwin GOARCH=amd64 go build -ldflags "-X github.com/aler9/mediamtx/internal/core.version=$$VERSION" -o tmp/mediamtx RUN GOOS=darwin GOARCH=amd64 go build -ldflags "-X github.com/bluenviron/mediamtx/internal/core.version=$$VERSION" -o tmp/mediamtx
RUN tar -C tmp -czf binaries/mediamtx_$${VERSION}_darwin_amd64.tar.gz --owner=0 --group=0 mediamtx mediamtx.yml LICENSE RUN tar -C tmp -czf binaries/mediamtx_$${VERSION}_darwin_amd64.tar.gz --owner=0 --group=0 mediamtx mediamtx.yml LICENSE
FROM build-base AS build-darwin-arm64 FROM build-base AS build-darwin-arm64
RUN GOOS=darwin GOARCH=arm64 go build -ldflags "-X github.com/aler9/mediamtx/internal/core.version=$$VERSION" -o tmp/mediamtx RUN GOOS=darwin GOARCH=arm64 go build -ldflags "-X github.com/bluenviron/mediamtx/internal/core.version=$$VERSION" -o tmp/mediamtx
RUN tar -C tmp -czf binaries/mediamtx_$${VERSION}_darwin_arm64.tar.gz --owner=0 --group=0 mediamtx mediamtx.yml LICENSE RUN tar -C tmp -czf binaries/mediamtx_$${VERSION}_darwin_arm64.tar.gz --owner=0 --group=0 mediamtx mediamtx.yml LICENSE
FROM build-base AS build-linux-armv6 FROM build-base AS build-linux-armv6
COPY --from=rpicamera32 /s/internal/rpicamera/exe/exe internal/rpicamera/exe/ COPY --from=rpicamera32 /s/internal/rpicamera/exe/exe internal/rpicamera/exe/
RUN GOOS=linux GOARCH=arm GOARM=6 go build -ldflags "-X github.com/aler9/mediamtx/internal/core.version=$$VERSION" -o tmp/mediamtx -tags rpicamera RUN GOOS=linux GOARCH=arm GOARM=6 go build -ldflags "-X github.com/bluenviron/mediamtx/internal/core.version=$$VERSION" -o tmp/mediamtx -tags rpicamera
RUN tar -C tmp -czf binaries/mediamtx_$${VERSION}_linux_armv6.tar.gz --owner=0 --group=0 mediamtx mediamtx.yml LICENSE RUN tar -C tmp -czf binaries/mediamtx_$${VERSION}_linux_armv6.tar.gz --owner=0 --group=0 mediamtx mediamtx.yml LICENSE
RUN rm internal/rpicamera/exe/exe RUN rm internal/rpicamera/exe/exe
FROM build-base AS build-linux-armv7 FROM build-base AS build-linux-armv7
COPY --from=rpicamera32 /s/internal/rpicamera/exe/exe internal/rpicamera/exe/ COPY --from=rpicamera32 /s/internal/rpicamera/exe/exe internal/rpicamera/exe/
RUN GOOS=linux GOARCH=arm GOARM=7 go build -ldflags "-X github.com/aler9/mediamtx/internal/core.version=$$VERSION" -o tmp/mediamtx -tags rpicamera RUN GOOS=linux GOARCH=arm GOARM=7 go build -ldflags "-X github.com/bluenviron/mediamtx/internal/core.version=$$VERSION" -o tmp/mediamtx -tags rpicamera
RUN tar -C tmp -czf binaries/mediamtx_$${VERSION}_linux_armv7.tar.gz --owner=0 --group=0 mediamtx mediamtx.yml LICENSE RUN tar -C tmp -czf binaries/mediamtx_$${VERSION}_linux_armv7.tar.gz --owner=0 --group=0 mediamtx mediamtx.yml LICENSE
RUN rm internal/rpicamera/exe/exe RUN rm internal/rpicamera/exe/exe
FROM build-base AS build-linux-arm64 FROM build-base AS build-linux-arm64
COPY --from=rpicamera64 /s/internal/rpicamera/exe/exe internal/rpicamera/exe/ COPY --from=rpicamera64 /s/internal/rpicamera/exe/exe internal/rpicamera/exe/
RUN GOOS=linux GOARCH=arm64 go build -ldflags "-X github.com/aler9/mediamtx/internal/core.version=$$VERSION" -o tmp/mediamtx -tags rpicamera RUN GOOS=linux GOARCH=arm64 go build -ldflags "-X github.com/bluenviron/mediamtx/internal/core.version=$$VERSION" -o tmp/mediamtx -tags rpicamera
RUN tar -C tmp -czf binaries/mediamtx_$${VERSION}_linux_arm64v8.tar.gz --owner=0 --group=0 mediamtx mediamtx.yml LICENSE RUN tar -C tmp -czf binaries/mediamtx_$${VERSION}_linux_arm64v8.tar.gz --owner=0 --group=0 mediamtx mediamtx.yml LICENSE
RUN rm internal/rpicamera/exe/exe RUN rm internal/rpicamera/exe/exe

Loading…
Cancel
Save