Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
ioppermann committed Feb 23, 2023
2 parents 7b77c5f + f345707 commit 431d013
Show file tree
Hide file tree
Showing 672 changed files with 104,516 additions and 7,924 deletions.
34 changes: 17 additions & 17 deletions .github/workflows/go-tests.yml
Expand Up @@ -3,20 +3,20 @@ name: tests
on: [push, pull_request]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 2
- uses: actions/setup-go@v2
with:
go-version: '1.18'
- name: Run coverage
run: go test -coverprofile=coverage.out -covermode=atomic -v ./...
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v2
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: coverage.out
flags: unit-linux
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 2
- uses: actions/setup-go@v2
with:
go-version: "1.19"
- name: Run coverage
run: go test -coverprofile=coverage.out -covermode=atomic -v ./...
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v2
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: coverage.out
flags: unit-linux
4 changes: 2 additions & 2 deletions .github_build/Build.alpine.env
@@ -1,5 +1,5 @@
# CORE ALPINE BASE IMAGE
OS_NAME=alpine
OS_VERSION=3.16
GOLANG_IMAGE=golang:1.19.3-alpine3.16
CORE_VERSION=16.11.0
GOLANG_IMAGE=golang:1.20-alpine3.16
CORE_VERSION=16.12.0
4 changes: 2 additions & 2 deletions .github_build/Build.ubuntu.env
@@ -1,5 +1,5 @@
# CORE UBUNTU BASE IMAGE
OS_NAME=ubuntu
OS_VERSION=20.04
GOLANG_IMAGE=golang:1.19.3-alpine3.16
CORE_VERSION=16.11.0
GOLANG_IMAGE=golang:1.20-alpine3.16
CORE_VERSION=16.12.0
13 changes: 13 additions & 0 deletions CHANGELOG.md
@@ -1,5 +1,18 @@
# Core

### Core v16.11.0 > v16.12.0

- Add S3 storage support
- Add support for variables in placeholde parameter
- Add support for RTMP token as stream key as last element in path
- Add support for soft memory limit with debug.memory_limit_mbytes in config
- Add support for partial process config updates
- Add support for alternative syntax for auth0 tenants as environment variable
- Fix config timestamps created_at and loaded_at
- Fix /config/reload return type
- Fix modifying DTS in RTMP packets ([restreamer/#487](https://github.com/datarhei/restreamer/issues/487), [restreamer/#367](https://github.com/datarhei/restreamer/issues/367))
- Fix default internal SRT latency to 20ms

### Core v16.10.1 > v16.11.0

- Add FFmpeg 4.4 to FFmpeg 5.1 migration tool
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
@@ -1,4 +1,4 @@
ARG GOLANG_IMAGE=golang:1.19.3-alpine3.16
ARG GOLANG_IMAGE=golang:1.20-alpine3.16

ARG BUILD_IMAGE=alpine:3.16

Expand Down
2 changes: 1 addition & 1 deletion Dockerfile.test
@@ -1,4 +1,4 @@
FROM golang:1.19.3-alpine3.16
FROM golang:1.20-alpine3.16

RUN apk add alpine-sdk

Expand Down
64 changes: 32 additions & 32 deletions README.md
Expand Up @@ -16,47 +16,47 @@ The datarhei Core is a process management solution for FFmpeg that offers a rang

The objectives of development are:

* Unhindered use of FFmpeg processes
* Portability of FFmpeg, including management across development and production environments
* Scalability of FFmpeg-based applications through the ability to offload processes to additional instances
* Streamlining of media product development by focusing on features and design.
- Unhindered use of FFmpeg processes
- Portability of FFmpeg, including management across development and production environments
- Scalability of FFmpeg-based applications through the ability to offload processes to additional instances
- Streamlining of media product development by focusing on features and design.

## What issues have been resolved thus far?

### Process management

* Run multiple processes via API
* Unrestricted FFmpeg commands in process configuration.
* Error detection and recovery (e.g., FFmpeg stalls, dumps)
* Referencing for process chaining (pipelines)
* Placeholders for storage, RTMP, and SRT usage (automatic credentials management and URL resolution)
* Logs (access to current stdout/stderr)
* Log history (configurable log history, e.g., for error analysis)
* Resource limitation (max. CPU and MEMORY usage per process)
* Statistics (like FFmpeg progress per input and output, CPU and MEMORY, state, uptime)
* Input verification (like FFprobe)
* Metadata (option to store additional information like a title)
- Run multiple processes via API
- Unrestricted FFmpeg commands in process configuration.
- Error detection and recovery (e.g., FFmpeg stalls, dumps)
- Referencing for process chaining (pipelines)
- Placeholders for storage, RTMP, and SRT usage (automatic credentials management and URL resolution)
- Logs (access to current stdout/stderr)
- Log history (configurable log history, e.g., for error analysis)
- Resource limitation (max. CPU and MEMORY usage per process)
- Statistics (like FFmpeg progress per input and output, CPU and MEMORY, state, uptime)
- Input verification (like FFprobe)
- Metadata (option to store additional information like a title)

### Media delivery

* Configurable file systems (in-memory, disk-mount, S3)
* HTTP/S, RTMP/S, and SRT services, including Let's Encrypt
* Bandwidth and session limiting for HLS/MPEG DASH sessions (protects restreams from congestion)
* Viewer session API and logging
- Configurable file systems (in-memory, disk-mount, S3)
- HTTP/S, RTMP/S, and SRT services, including Let's Encrypt
- Bandwidth and session limiting for HLS/MPEG DASH sessions (protects restreams from congestion)
- Viewer session API and logging

### Misc

* HTTP REST and GraphQL API
* Swagger documentation
* Metrics incl. Prometheus support (also detects POSIX and cgroups resources)
* Docker images for fast setup of development environments up to the integration of cloud resources
- HTTP REST and GraphQL API
- Swagger documentation
- Metrics incl. Prometheus support (also detects POSIX and cgroups resources)
- Docker images for fast setup of development environments up to the integration of cloud resources

## Docker images

- datarhei/core:latest (AMD64, ARM64, ARMv7)
- datarhei/core:cuda-latest (Nvidia CUDA 11.7.1, AMD64)
- datarhei/core:rpi-latest (Raspberry Pi / OMX/V4L2-M2M, AMD64/ARMv7)
- datarhei/core:vaapi-latest (Intel VAAPI, AMD64)
- datarhei/core:latest (AMD64, ARM64, ARMv7)
- datarhei/core:cuda-latest (Nvidia CUDA 11.7.1, AMD64)
- datarhei/core:rpi-latest (Raspberry Pi / OMX/V4L2-M2M, AMD64/ARMv7)
- datarhei/core:vaapi-latest (Intel VAAPI, AMD64)

## Quick start

Expand All @@ -80,12 +80,12 @@ docker run --name core -d \

## Documentation

Documentation is available on [docs.datarhei.com/core](https://docs.datarhei.com/core).
Documentation is available on [docs.datarhei.com/core](https://docs.datarhei.com/core).

- [Quick start](https://docs.datarhei.com/core/guides/beginner)
- [Installation](https://docs.datarhei.com/core/installation)
- [Configuration](https://docs.datarhei.com/core/configuration)
- [Coding](https://docs.datarhei.com/core/development/coding)
- [Quick start](https://docs.datarhei.com/core/guides/beginner)
- [Installation](https://docs.datarhei.com/core/installation)
- [Configuration](https://docs.datarhei.com/core/configuration)
- [Coding](https://docs.datarhei.com/core/development/coding)

## License

Expand Down

0 comments on commit 431d013

Please sign in to comment.