Giter Club home page Giter Club logo

livemediastreamer's People

Contributors

ajimenezherrero avatar davidcassany avatar gerardcl avatar martingerman avatar martinpulec avatar palaumarc avatar segfaultxavi avatar xcarol avatar

Stargazers

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

Watchers

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

livemediastreamer's Issues

Slave filters events

Slave filters events are processed only if master processes frames. Event handling must be independent from frames handling

UDP losses in output

There are RTP packet losses detected on the transmission side. The problem is partially solved tuning kernel UDP buffer size but there are still some losses (specially in virtualized servers)

Validate encoder bitrate

Encoder parameters are not set as they should. We should investigate VBV and CRF for real-time encoding and ABR framed-threading for live broadband enconding (should be working regardless the synchronization).

Unify configure events

Not all the events make use of default params. To be decided if configure events require all parameters (mandatory params vs optional params) or not (view encoder event and dasher event). All events should use the same criteria.

dash mpd properly refresh

at commit 9d215af :

  • Player works only when initializing the dasher (player working when it starts playing on the initial window time of the dasher -when restarting testtranscoder with -dash flag). Does not seem a server cache problem.
  • We should maintain a full version control of the whole scenario (player version, browser version, ...).
    -- So, this issue is under "1.3" player version and "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36" browser version.

RTP input buffer too small

LiveMedia error shown if streams bitrate is too much larger. It can be fixed increasing size of H264 Frames (NALs) in the code (Types.hh)

User suggestions

  • Labels for channels
  • Clone (duplicate) channels
  • Insert images/logos

testtranscoder with dash flag does not work with avmixer air output RTSP URI

at commit 9d215af :

  • Cases:

    -- dash testtranscoder with development avmixer air output URI does NOT run dash process

    -- dash testtranscoder with master avmixer air output URI runs dash process

NOT WORKING WORKFLOW
Started playing session...
INFO [Utils.cpp:487] - RTSP client session created!
ERROR [Utils.cpp:473] - The queue is empty
ERROR [Utils.cpp:473] - Connecting path head to first filter!
INFO [Utils.cpp:487] - Master reader: 3000
INFO [Utils.cpp:487] - Slave reader: 3001
ERROR [Utils.cpp:473] - Error adding segmenter: reader does not exist
ERROR [Utils.cpp:473] - Error adding segmenter
ERROR [Utils.cpp:473] - Error setting bitrate. Provided id does not exist
ERROR [Utils.cpp:473] - Error setting bitrate to segmenter
INFO [Utils.cpp:487] - Video path created from port 59566

WORKING WORKFLOW
Started playing session...
INFO [Utils.cpp:487] - RTSP client session created!
INFO [Utils.cpp:487] - Master reader: 3000
INFO [Utils.cpp:487] - Slave reader: 3001
INFO [Utils.cpp:487] - Video path created from port 38574
ERROR [Utils.cpp:473] - The queue is empty
ERROR [Utils.cpp:473] - Connecting path head to first filter!
ERROR [Utils.cpp:473] - Error adding segmenter: reader does not exist
ERROR [Utils.cpp:473] - Error adding segmenter
INFO [Utils.cpp:487] - Audio path created from port 0

RTSP server is not applying keep alive methods

issue found at commit: ac867c1

  • When playing from output RTSP URIs from LMS (implemented RTSP Server from Live555 inside LMS) there is no keep alive management. Therefore, streams stops after long time (~1h).
  • The solution is to call Live555 method properly by setting a timeout for the keepalive method of the library.

MP3 not working from LMS output to LMS input

issue found at commit fae5132

  • test done with LMS standard output with h264 and MP3; ffplay/vlc can playback RTSP but not testtranscoder, it loads decoder but is not able to decode properly. Seems an SDP issue (may we require adding extra info for MP3 audio as done for H264 video?)
  • SDP from RTSP working to LMS input wiht h264 and MP3 streams (from VLC RTSP server):
    v=0
    o=- 15635096012114027085 15635096012114027085 IN IP4 gerardcl-VAYO
    s=Unnamed
    i=N/A
    c=IN IP4 0.0.0.0
    t=0 0
    a=tool:vlc 2.1.6
    a=recvonly
    a=type:broadcast
    a=charset:UTF-8
    a=control:rtsp://127.0.0.1:8558/testVLC
    m=audio 0 RTP/AVP 14
    b=AS:128
    b=RR:0
    a=rtpmap:14 MPA/90000/2
    a=control:rtsp://127.0.0.1:8554/testVLC/trackID=0
    m=video 0 RTP/AVP 96
    b=RR:0
    a=rtpmap:96 H264/90000
    a=fmtp:96 packetization-mode=1;profile-level-id=64000d;sprop-parameter-sets=Z2QADayyAoP2HCAAAAMAIAAABkHihUk=,aOvDyyLA;
    a=control:rtsp://127.0.0.1:8554/testVLC/trackID=1
  • SDP from RTSP not working to LMS input wiht h264 and MP3 streams (from LMS RTSP server):
    v=0
    o=- 1431337628785268 1 IN IP4 147.83.206.83
    s=
    i=
    t=0 0
    a=tool:LIVE555 Streaming Media v2015.04.16
    a=type:broadcast
    a=control:*
    a=range:npt=0-
    a=x-qt-text-nam:
    a=x-qt-text-inf:
    m=video 0 RTP/AVP 96
    c=IN IP4 0.0.0.0
    b=AS:2000
    a=rtpmap:96 H264/90000
    a=fmtp:96 packetization-mode=1;profile-level-id=42C028;sprop-parameter-sets=Z0LAKNoB4AiflhAAAAMAEAAAAwMo8YMq,aM4PyA==
    a=control:track1
    m=audio 0 RTP/AVP 14
    c=IN IP4 0.0.0.0
    b=AS:192
    a=control:track2

audio parameters in MPD

sampleRate, value (number of channels) and bandwidth are not properly defined in the MPD.

Frame rate drop when many streams

There is a noticeable frame rate drop in some input streams. Check dynamic queue consumption depending on queue load for ManyToOne filters.

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.