View Code? Open in Web Editor
NEW
A Linux based SRT hub/gateway service with a statistics reporting web interface for routing audio/video transport stream signals around a network with SRT and UDP
License: GNU Lesser General Public License v2.1
Makefile 0.30%
Dockerfile 0.06%
C 75.24%
JavaScript 17.61%
HTML 5.01%
Shell 1.77%
opensrthub's People
Watchers
opensrthub's Issues
If a RTP based transport stream is used, it may not work correctly. Add logic to recognize that the extra 12 byte header is present on the input/output streams.
Having issues compiling. Used the script.
Ubuntu 22.04 server
Building opensrthub
gcc -g -c -O2 -m64 -Wall -Wfatal-errors -funroll-loops -Wno-deprecated-declarations -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-function -Wno-format-truncation -Wno-attributes -Wno-stringop-truncation -I./include -I./cbffmpeg -I./cbsrt/srtcore -I./cbsrt -I./cblibcurl/include/curl ./source/crc.c
gcc -g -c -O2 -m64 -Wall -Wfatal-errors -funroll-loops -Wno-deprecated-declarations -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-function -Wno-format-truncation -Wno-attributes -Wno-stringop-truncation -I./include -I./cbffmpeg -I./cbsrt/srtcore -I./cbsrt -I./cblibcurl/include/curl ./source/tsdecode.c
gcc -g -c -O2 -m64 -Wall -Wfatal-errors -funroll-loops -Wno-deprecated-declarations -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-function -Wno-format-truncation -Wno-attributes -Wno-stringop-truncation -I./include -I./cbffmpeg -I./cbsrt/srtcore -I./cbsrt -I./cblibcurl/include/curl ./source/mempool.c
gcc -g -c -O2 -m64 -Wall -Wfatal-errors -funroll-loops -Wno-deprecated-declarations -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-function -Wno-format-truncation -Wno-attributes -Wno-stringop-truncation -I./include -I./cbffmpeg -I./cbsrt/srtcore -I./cbsrt -I./cblibcurl/include/curl ./source/dataqueue.c
gcc -g -c -O2 -m64 -Wall -Wfatal-errors -funroll-loops -Wno-deprecated-declarations -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-function -Wno-format-truncation -Wno-attributes -Wno-stringop-truncation -I./include -I./cbffmpeg -I./cbsrt/srtcore -I./cbsrt -I./cblibcurl/include/curl ./source/esignal.c
gcc -g -c -O2 -m64 -Wall -Wfatal-errors -funroll-loops -Wno-deprecated-declarations -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-function -Wno-format-truncation -Wno-attributes -Wno-stringop-truncation -I./include -I./cbffmpeg -I./cbsrt/srtcore -I./cbsrt -I./cblibcurl/include/curl ./source/udpsource.c
gcc -g -c -O2 -m64 -Wall -Wfatal-errors -funroll-loops -Wno-deprecated-declarations -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-function -Wno-format-truncation -Wno-attributes -Wno-stringop-truncation -I./include -I./cbffmpeg -I./cbsrt/srtcore -I./cbsrt -I./cblibcurl/include/curl ./source/cJSON.c
gcc -g -c -O2 -m64 -Wall -Wfatal-errors -funroll-loops -Wno-deprecated-declarations -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-function -Wno-format-truncation -Wno-attributes -Wno-stringop-truncation -I./include -I./cbffmpeg -I./cbsrt/srtcore -I./cbsrt -I./cblibcurl/include/curl ./source/cJSON_Utils.c
ar rcs libsrthub.a crc.o tsdecode.o mempool.o dataqueue.o esignal.o udpsource.o cJSON.o cJSON_Utils.o
finishing building lib
gcc -g -c -O2 -m64 -Wall -Wfatal-errors -funroll-loops -Wno-deprecated-declarations -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-function -Wno-format-truncation -Wno-attributes -Wno-stringop-truncation -I./include -I./cbffmpeg -I./cbsrt/srtcore -I./cbsrt -I./cblibcurl/include/curl ./source/srthub.c
./source/srthub.c: In function ‘receive_frame’:
./source/srthub.c:212:20: warning: implicit declaration of function ‘gettid’; did you mean ‘getgid’? [-Wimplicit-function-declaration]
212 | int threadid = gettid();
| ^~~~~~
| getgid
g++ srthub.o crc.o tsdecode.o mempool.o dataqueue.o esignal.o udpsource.o cJSON.o cJSON_Utils.o -L./ ./cbffmpeg/libavfilter/libavfilter.a ./cbffmpeg/libavformat/libavformat.a ./cbffmpeg/libswscale/libswscale.a ./cbffmpeg/libavcodec/libavcodec.a ./cbffmpeg/libavutil/libavutil.a ./cbffmpeg/libswresample/libswresample.a ./cbsrt/libsrt.a ./cblibcurl/lib/.libs/libcurl.a /usr/lib/x86_64-linux-gnu/libcrypto.a -lz -ldl -lssl -lm -lpthread -o srthub
/usr/bin/ld: ./cbffmpeg/libavcodec/libavcodec.a(tiff.o): in function tiff_uncompress_lzma': /home/martin/opensrthub/cbffmpeg/libavcodec/tiff.c:398: undefined reference to
lzma_stream_decoder'
/usr/bin/ld: /home/xxx/opensrthub/cbffmpeg/libavcodec/tiff.c:403: undefined reference to lzma_code' /usr/bin/ld: /home/xxx/opensrthub/cbffmpeg/libavcodec/tiff.c:404: undefined reference to
lzma_end'
/usr/bin/ld: ./cblibcurl/lib/.libs/libcurl.a(libcurl_la-version.o): in function curl_version': version.c:(.text+0x99): undefined reference to
BrotliDecoderVersion'
/usr/bin/ld: ./cblibcurl/lib/.libs/libcurl.a(libcurl_la-version.o): in function curl_version_info': version.c:(.text+0x11d): undefined reference to
BrotliDecoderVersion'
/usr/bin/ld: version.c:(.text+0x128): undefined reference to BrotliDecoderVersion' /usr/bin/ld: ./cblibcurl/lib/.libs/libcurl.a(libcurl_la-content_encoding.o): in function
brotli_close_writer':
content_encoding.c:(.text+0x82): undefined reference to BrotliDecoderDestroyInstance' /usr/bin/ld: ./cblibcurl/lib/.libs/libcurl.a(libcurl_la-content_encoding.o): in function
brotli_init_writer':
content_encoding.c:(.text+0xb6): undefined reference to BrotliDecoderCreateInstance' /usr/bin/ld: ./cblibcurl/lib/.libs/libcurl.a(libcurl_la-content_encoding.o): in function
brotli_unencode_write':
content_encoding.c:(.text+0x2c2): undefined reference to BrotliDecoderDecompressStream' /usr/bin/ld: content_encoding.c:(.text+0x2f5): undefined reference to
BrotliDecoderDestroyInstance'
/usr/bin/ld: content_encoding.c:(.text+0x345): undefined reference to `BrotliDecoderGetErrorCode'
collect2: error: ld returned 1 exit status
make: *** [Makefile:30: srthub] Error 1
srthub: srthub did not get built - please check manually, aborting installation!
I would like to add a log entry (or an entry to the web application) that when a SCTE35 tag is seen in the stream, it will log it
The interface binding is not always working properly. Currently investigating and will fix soon.
Any specific reason older libraries are used?
If the source signal changes PIDs during hte same SRT/UDP session, the thumbnail decode doesn't update. The path for delivering samples needs to detect and updated the decoder to the correct samples.
Hi, I tried installing your software on an Oracle ARM64 instance running Debian 12 but had failures. Is this supported?
I have to create a udp server or something similar to then reproduce it. Can the srt be retransmitted with the server's IP?
Add audio information to the web application including bitrates, codec and PID information
Hello Sir, within your project you have planned to implement some security validation on the server.
Once it is connected to the Internet with a Public IP, it is exposed to the security of the configuration parameters.
Thanks for your reply.
Regards,
Skysatel