eyevinn / toolbox Goto Github PK
View Code? Open in Web Editor NEWA set of Docker containers with Streaming tools
License: Other
A set of Docker containers with Streaming tools
License: Other
I tried this one:docker run --rm -p 9998:9998/udp -v $PWD:/mnt eyevinntechnology/toolbox-loopts twitch60.mp4 "srt://0.0.0.0:9998?pkt_size=1316&mode=listener"
It works, but it has several problems:
origin file
https://github.com/Eyevinn/toolbox/assets/18316591/4e8f2721-3230-4903-abdd-c4704f8ba45e
Hi all, is there a way to render a mosaic from https sources? Thank you
Hey i tried you srt to RMTP ccontainer. It works but still prints :
12:57:30.540310/ffmpeg*E:SRT.d: epoll/update: IPE: update struck EID 1 which is NOT SUBSCRIBED to @105050122
is that normal ?
Hello,
Can i use the toolbox applications in Portainer?
thank you.
Hey.
Im attempting to use a compiled ffmpeg & SRT with Eyevinn Toolbox.
Upon trying any docker commands i get the following error: standard_init_linux.go:211: exec user process caused "exec format error"
With for example: docker run --rm -p 1234:1234/udp eyevinntechnology/toolbox-srtrx (my IP):9998 239.0.0.1:1234
Im using Lubuntu 19.10
Thanks for any assistance.
Is it possible to have the SRT2RTMP pass a Twitch/Youtube stream key from OBS onto the rtmp url(as can be done with an NGINX relay). This would be an extremely helpful for myself from a security perspective and also I'd like to recreate this for other local twitch streamers struggling with the same problem.
I'm noticing that when I stream video the output is somewhat accelerated compared to the original.
Are there settings that can control this or is this just an artifact of ffmpeg conversion?
Output from execution:
BeetleJuice:Sample Video cwainwright$ docker run --rm -p 9998:9998/udp -v "$PWD":/mnt eyevinntechnology/toolbox-loopts IN.mp4 udp://host.docker.internal:9998?pkt_size=1316 --withtc --framerate 30
ffmpeg version N-93394-g14eea7c Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 7 (Ubuntu 7.3.0-27ubuntu118.04)18.04)
configuration: --pkg-config-flags=--static --enable-gpl --enable-libfdk-aac --enable-libx264 --enable-libaom --enable-libdav1d --enable-libvpx --enable-libsrt --enable-libx265 --enable-libfreetype --enable-version3 --enable-nonfree
libavutil 56. 26.100 / 56. 26.100
libavcodec 58. 47.103 / 58. 47.103
libavformat 58. 26.101 / 58. 26.101
libavdevice 58. 6.101 / 58. 6.101
libavfilter 7. 48.100 / 7. 48.100
libswscale 5. 4.100 / 5. 4.100
libswresample 3. 4.100 / 3. 4.100
libpostproc 55. 4.100 / 55. 4.100
ffmpeg version N-93394-g14eea7c Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 7 (Ubuntu 7.3.0-27ubuntu1
configuration: --pkg-config-flags=--static --enable-gpl --enable-libfdk-aac --enable-libx264 --enable-libaom --enable-libdav1d --enable-libvpx --enable-libsrt --enable-libx265 --enable-libfreetype --enable-version3 --enable-nonfree
libavutil 56. 26.100 / 56. 26.100
libavcodec 58. 47.103 / 58. 47.103
libavformat 58. 26.101 / 58. 26.101
libavdevice 58. 6.101 / 58. 6.101
libavfilter 7. 48.100 / 7. 48.100
libswscale 5. 4.100 / 5. 4.100
libswresample 3. 4.100 / 3. 4.100
libpostproc 55. 4.100 / 55. 4.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/mnt/IN.mp4':
Metadata:
major_brand : mp42
minor_version : 512
compatible_brands: isomiso2avc1mp41
creation_time : 2019-09-27T21:54:50.000000Z
title : Media Presentation
encoder : HandBrake 1.2.2 2019022300
Duration: 00:10:00.00, start: 0.000000, bitrate: 23548 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 3840x2160 [SAR 1:1 DAR 16:9], 23547 kb/s, 15 fps, 15 tbr, 90k tbn, 180k tbc (default)
Metadata:
creation_time : 2019-09-27T21:54:50.000000Z
handler_name : VideoHandler
Output #0, h264, to 'pipe:':
Metadata:
major_brand : mp42
minor_version : 512
compatible_brands: isomiso2avc1mp41
title : Media Presentation
encoder : Lavf58.26.101
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 23547 kb/s, 15 fps, 15 tbr, 90k tbn, 90k tbc (default)
Metadata:
creation_time : 2019-09-27T21:54:50.000000Z
handler_name : VideoHandler
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
[h264 @ 0x5614976989c0] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, h264, from 'pipe:':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 3840x2160 [SAR 1:1 DAR 16:9], 90k tbr, 1200k tbn, 180k tbc
Input #1, lavfi, from 'anullsrc=r=48000:cl=stereo':
Duration: N/A, start: 0.000000, bitrate: 768 kb/s
Stream #1:0: Audio: pcm_u8, 48000 Hz, stereo, u8, 768 kb/s
Stream mapping:
Stream #0:0 (h264) -> drawtext (graph 0)
scale (graph 0) -> Stream #0:0 (libx264)
Stream #1:0 -> #0:1 (pcm_u8 (native) -> aac (native))
[libx264 @ 0x5614976c0fc0] using SAR=1/1
[libx264 @ 0x5614976c0fc0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x5614976c0fc0] profile High, level 3.1
Output #0, mpegts, to 'udp://host.docker.internal:9998?pkt_size=1316':
Metadata:
encoder : Lavf58.26.101
Stream #0:0: Video: h264 (libx264), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 30 fps, 90k tbn, 30 tbc
Metadata:
encoder : Lavc58.47.103 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 128 kb/s
Metadata:
encoder : Lavc58.47.103 aac
[h264 @ 0x5614976989c0] Thread message queue blocking; consider raising the thread_queue_size option (current value: 512)
Do you have a docker container that streams a web browser source using Firefox or chrome and ffmpeg to an rtmp destination?
Thank you!
Similar to hls2srt provide a container for hls2rist
Does hls2srt support CUE Markers to SCTE-35 insertion?
Hello,
Is there instructions or a video on how to install and use these tools.
i understand that they need docker installed.
Questions.
Hello,
I get following error: CANCELED [1/2] FROM docker.io/eyevinntechnology/ffmpeg-base:0.3.0
Your container seems to be not available anymore.
Thank you.
% docker build -t rtmp2srt .
[+] Building 13.9s (6/6) FINISHED docker:desktop-linux
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 396B 0.0s
=> [internal] load metadata for docker.io/eyevinntechnology/ffmpeg-base:0.3.0 13.7s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 2B 0.0s
**=> CANCELED [1/2] FROM docker.io/eyevinntechnology/ffmpeg-base:0.3.0@sha256:204eaff13cfa5e4359c80e6bc9a02469 0.0s**
=> => resolve docker.io/eyevinntechnology/ffmpeg-base:0.3.0@sha256:204eaff13cfa5e4359c80e6bc9a02469ad0266b6b 0.0s
=> => sha256:204eaff13cfa5e4359c80e6bc9a02469ad0266b6b8f865c799122c0d8a430b96 7.90kB / 7.90kB 0.0s
=> => sha256:5b9ba76110d027edb69d49a5bad8c4c58a32096bba47a190843ad635238b5f47 13.93kB / 13.93kB 0.0s
=> ERROR [2/2] COPY python/rtmp2srt.py /root/rtmp2srt.py 0.0s
------
> [2/2] COPY python/rtmp2srt.py /root/rtmp2srt.py:
------
Dockerfile:3
--------------------
1 | FROM eyevinntechnology/ffmpeg-base:0.3.0
2 | MAINTAINER Eyevinn Technology <[email protected]>
3 | >>> COPY python/rtmp2srt.py /root/rtmp2srt.py
4 | ENTRYPOINT ["/root/rtmp2srt.py"]
5 | CMD []
--------------------
ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref 48d47620-86a2-4910-b582-6eecc35a53ad::emztjelvz1h9kd6q70ztxaqfc: failed to walk /var/lib/docker/tmp/buildkit-mount3145604280/python: lstat /var/lib/docker/tmp/buildkit-mount3145604280/python: no such file or directory
First of all, great project, thanks for releasing it!
I am wondering if you guys have any particular recommendations on how to SRT relay over the internet with lowest possible latency in a setup like the following:
Generating Camera is in RTSP, an SRT grabber would get it and send it to another computer via open Internet SRT receiver.
Then the receiver would make the stream available to VLC.
Any tips would be much appreciated!
Have you used the Rist protocol?
What are the best practices?
I was reading your article and pardon me if I'm not too familiar with the terminology, but I have hard times understanding how to create a minimal streaming example with SRT
?
My current setup that I want to switch to SRT is described as follows:
Sender:
ffmpeg -f avfoundation -i "1:0" -an -r 30 -vf scale=1280:720 -vcodec libx264 -crf 12 -preset ultrafast -tune zerolatency -threads 8 -thread_type slice -f mpegts udp://192.168.1.5:1234
Receiver:
The receiver was using a Player like VLC or MX Player by opening udp://@192.168.1.5:1234
.
How would I come up with a similar situation with SRT
Appreciate your help.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.