Giter Club home page Giter Club logo

dashas's People

Contributors

eyemirage avatar sannies avatar tomasz-oponowicz avatar tpatella avatar upliner 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  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  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

dashas's Issues

Logging should be controlled by a variable in runtime

At the moment logging is controlled at the compilation level. A debug package has logging enabled. A production has logging disabled. Some examples are using the debug package to be able show log messages. However the debug package is very slow.

Logging should be controlled by a variable in runtime. By default logging will be disabled. Developer should be able to enable logging through HTML page.

Create a "try" page

Create a page with custom URL field, so that people can start testing the player with their own streams.

Build failed with exception error "Reference air.sdk.path.linux.3.9 not found: on Ubuntu 17.04

I have tried to build the project on Ubuntu 17.04 . During the build process , I am getting following error .

ubuntu@ubuntu:~/Desktop/dashas-master$ gradle clean compile
Download http://dashas.castlabs.com/ivy/apache-flex-sdk-4.12.1.tar.gz
[copy] Copying 5682 files to /home/ubuntu/.gradle/gradleFx/sdks/86c6aa5c2c1084d7f4e8996be5c5cfa2e429cbe9
[copy] Copied 1034 empty directories to 144 empty directories under /home/ubuntu/.gradle/gradleFx/sdks/86c6aa5c2c1084d7f4e8996be5c5cfa2e429cbe9

get-data:
[get] Getting: http://flex.apache.org/installer/sdk-installer-config-4.0.xml
[get] To: /home/ubuntu/.gradle/gradleFx/sdks/86c6aa5c2c1084d7f4e8996be5c5cfa2e429cbe9/sdk-installer-config-4.0.xml

FAILURE: Build failed with an exception.

  • What went wrong:
    A problem occurred configuring root project 'dashas-master'.

The following error occurred while executing this line:
/home/ubuntu/.gradle/gradleFx/sdks/86c6aa5c2c1084d7f4e8996be5c5cfa2e429cbe9/installer.xml:119: Reference air.sdk.path.linux.3.9 not found.


How can i solve this issue ? Please Verify the same

seek issue

how to do seek on DashNetStream?
Can you give sample code?
Play/pause is working fine.

OSMF plugin only works with Strobe Media Player?

Getting the plugin to work with provided SMP is easy and works really well, but the plugin doesn't seem to work with bespoke OSMF media players.

For example, the following is the source code for a simple OSMF player (built with the latest official OSMF SWC) that should work as a drop-in replacement for the SMP in the demo page, but it doesn't work; you can see that everything is loading, but it always results in playbackError when a DASH URL is used.

package
{
    import flash.display.Sprite;
    import flash.events.Event;

    import org.osmf.elements.VideoElement;
    import org.osmf.events.MediaFactoryEvent;
    import org.osmf.events.MediaPlayerStateChangeEvent;
    import org.osmf.media.MediaPlayerSprite;
    import org.osmf.media.URLResource;

    public class DashTest extends Sprite
    {
        public var player:MediaPlayerSprite;

        public function DashTest()
        {
            addEventListener(Event.ADDED_TO_STAGE, init);
        }

        protected function init(event:Event):void
        {           
            player = new MediaPlayerSprite();
            player.width = stage.stageWidth;
            player.height = stage.stageHeight;
            player.mediaPlayer.addEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE, stateChangeHandler);
            player.mediaFactory.addEventListener(MediaFactoryEvent.PLUGIN_LOAD, pluginHandler);
            player.mediaFactory.addEventListener(MediaFactoryEvent.PLUGIN_LOAD_ERROR, pluginHandler);
            player.mediaFactory.loadPlugin(new URLResource(loaderInfo.parameters.plugin_DashPlugin));

            addChild(player);
        }

        protected function stateChangeHandler(event:MediaPlayerStateChangeEvent):void
        {
            // event.state outputs "playbackError"
        }

        protected function pluginHandler(event:MediaFactoryEvent):void
        {
            if (event.type == MediaFactoryEvent.PLUGIN_LOAD)
            {
                var resource:URLResource = new URLResource(loaderInfo.parameters.src);

                // UPDATE: To fix this code, simple replace:
                // var element:VideoElement = new VideoElement(resource); // ... with
                var element:MediaElement = player.mediaFactory.createMediaElement(resource);

                player.media = element;
            }
        }
    }
}

In more complex OSMF players, I've tried embedding the plugin both as a SWF and as a class, but receive the following error, which occurs when OSMF is unable to populate the streamName property of a NetStreamOptions object before playback:

RangeError: Error #1125: The index 0 is out of range 0. at org.osmf.net::NetStreamPlayTrait/playStateChangeStart()

Have you modified the version of OSMF you've included with SMP (I noted that there was a mention of it being "tidied up" in response to a previous issue)? Or are there additional configuration options that need to be set before using the plugin with a bespoke player?

All help and/or examples gratefully received!

Still image, fragment files not being loaded.

The setup: ffmpeg (h264) -> rtmp -> nginx-rtmp -> (HLS | DASH). The video is playing fine in Chrome and IE11 using dash.js, but rarely plays in dashas player. Rarely = once in a while after unknown number of restarts/browser refreshes it will stream OK, but most of the time there is either a still image or it only plays the first fragment - almost like some kind of timing issue. My MPD - http://71.195.249.184:3106/dash/webcam.mpd (the stream is most of the time on, sometimes not - macbook goes to sleep - sorry, cheapo setup).

When the stream is playing OK in Chrome, I can see (in developer console, network requests) how it keeps refreshing manifest and periodically loads new fragments. With dashas - it keeps refreshing the manifest, but I don't see it load new fragments after the init/first one.

Improve logging performance

Logging feature causes a high CPU usage. The root cause are number of ExternalInterface messages (about 40 per second) and chart library.

Actions:

  • Reduce number of ExternalInterface messages;
  • Replace chart library;

Error #1083: The prefix "x" for element "xmptk" is not bound.

Hi, I have done a preliminary round of integrating into our OSMF player. So far I see one error that's come up 2 times:

TypeError: Error #1083: The prefix "x" for element "xmptk" is not bound.

at com.castlabs.dash.loaders::ManifestLoader$/removeNamespacesAndBuildXml()[/Users/tomek/dashas/src/main/actionscript/com/castlabs/dash/loaders/ManifestLoader.as:67]
at com.castlabs.dash.loaders::ManifestLoader/onComplete()[/Users/tomek/dashas/src/main/actionscript/com/castlabs/dash/loaders/ManifestLoader.as:55]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()

I assume it has to do with malformed or non-existent XML, but why is the error being triggered and is there any way to prevent it?

Thanks.

Integration with OSMF

Hi, I would like, as a test, to integrate the DASH plugin into my OSMF player. Did you alter the Strobe player in order to load your DASH plugin? I can't imagine the out of the box Strobe player would know what to do with the plugin_DashPlugin flashvar.

Thanks.

MPDs without audio tracks are not loaded.

Log message: "
Creating manifest...
Couldn't find any representations, mimeType='audio/mp4' "

This bug should be fixed quickly because MPDs without audio representation cannot be loaded properly.

Issue with Live Streaming

The player seems to be having trouble playing dash streams formatted like:

<?xml version="1.0" encoding="UTF-8"?>
<MPD xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:mpeg:dash:schema:mpd:2011" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" type="dynamic" minimumUpdatePeriod="PT2S" availabilityStartTime="2015-08-19T03:33:52" minBufferTime="PT4S" suggestedPresentationDelay="PT20S" timeShiftBufferDepth="PT1M0S" profiles="urn:mpeg:dash:profile:isoff-live:2011">
  <Period start="PT0S" id="1">
    <AdaptationSet mimeType="video/mp4" codecs="avc1.4d401f,mp4a.40.5" frameRate="25/1" segmentAlignment="true" subsegmentAlignment="true" startWithSAP="1" subsegmentStartsWithSAP="1" bitstreamSwitching="true">
      <ContentComponent contentType="video" id="1"/>
      <ContentComponent contentType="audio" id="2"/>
      <SegmentTemplate timescale="90000" media="ch09$Time$.mp4" initialization="ch09init.mp4">
        <SegmentTimeline>
          <S t="47608740000" d="180000" r="29"/>
        </SegmentTimeline>
      </SegmentTemplate>
      <Representation id="1" width="1024" height="576" bandwidth="4500000">
        <SubRepresentation contentComponent="1" bandwidth="4500000" codecs="avc1.4d401f"/>
        <SubRepresentation contentComponent="2" bandwidth="64000" codecs="mp4a.40.5"/>
      </Representation>
    </AdaptationSet>
  </Period>
</MPD>

The console produces the following errors at try.js:56:

Loading manifest, url='http://sohiptvlb2.soh.com/sdtv/ch09.mpd'
Loaded manifest, url='http://sohiptvlb2.soh.com/sdtv/ch09.mpd'
Creating manifest...
Couldn't find media presentation duration

The DASH standard seems to support a lot of different representations

Live streaming subtitles

Is there a way to call the subtitles in a live streaming? If so what's the method I need to use to grab the captions data?

Inject context listener to every object

Some classes use static references. This is tight coupling and prevent from writing unit tests.

Actions:

  • Introduce a factory which is injected to every object.

right click menu

Right click menu on player to link to castlabs.com for more info on player, etc.

Add more verbose logging

At the moment player isn't verbose whilst parsing manifest or segments. External developers found this annoying.

Actions:

There should be additional log messages in the following areas:

  • segment processing;
  • manifest processing;

... additionally well-known issues (such as missing crossdomain.xml or .htaccess files) should be highlighted with a reference to a documentation page.

Vanilla player

Convert project from OSMF plugin into vanilla standalone player. New player shouldn't have user interface. An user interface should be deliver through videojs integration.

LC AAC audio is not playing

We have audio and video segments separated. We tried with audio fragments having LC AAC audio but its not playing.

Can you help?

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.