GithubHelp home page GithubHelp logo

cannonbeach / opensrthub Goto Github PK

View Code? Open in Web Editor NEW
21.0 1.0 3.0 157 KB

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%
h264 hevc linux mpeg mpeg2 srt streaming ubuntu video libsrt

opensrthub's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

opensrthub's Issues

Add RTP header support

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.

Compile issue

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!

ARM64 support

Hi, I tried installing your software on an Oracle ARM64 instance running Debian 12 but had failures. Is this supported?

udp output

Sin título
I have to create a udp server or something similar to then reproduce it. Can the srt be retransmitted with the server's IP?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.