Giter Site home page Giter Site logo

kutu / grindplayer Goto Github PK

View Code? Open in Web Editor NEW
206.0 206.0 64.0 1.33 MB

OSMF + Flex based flash video player, which provides most needed functionality in nowadays

Home Page: http://osmfhls.kutu.ru/docs/grind/

License: MIT License

Shell 2.50% CSS 1.40% ActionScript 96.10%

grindplayer's People

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

grindplayer's Issues

poster flashvar

Great OSMF player you have made!
I haven't been able to use the poster flashvar wich is included in the SMP player, it is used to have a background image in the player. I use it when autoplay is false.
Is there any setting in GrindPlayer for a background image?

VM4412:8 Uncaught SyntaxError: missing ) after argument list

I have the following

streamParams.javascriptCallbackFunction = camera.videoJSBridge;

cameraController.prototype.videoJSBridge = function(playerId, event, data) {

    switch (event) {

        case "onJavaScriptBridgeCreated":

            debug('Video js bridge created', playerId);
            camera.feeds[streamId].domElement = $('#' + playerId).get(0);

            break;

        case "buffering":

But I get the following error on init

VM4412:8 Uncaught SyntaxError: missing ) after argument list

ss

I've highlighted the part it doesn't like. It seems to strip the + from the jQuery selector I have in the above code.

Error Message: Stream not found

<body>
<div id="player"></div>

<script type="text/javascript">
    var flashvars = {
        src: "http://netdisk.foream.cn:8080/netdisk/m3u8/25179_0.m3u8"
    };

    var params = {
        allowFullScreen: true
        , allowScriptAccess: "always"
        , bgcolor: "#000000"
    };
    var attrs = {
        name: "player"
    };

    swfobject.embedSWF("GrindPlayer.swf", "player", "854", "480", "10.2", null, flashvars, params, attrs);
</script>
</body>

I tried this but it seemed to be error. Error: Message: Stream not found

How to change quality list name,the m3u8 file have name tag

Hi Kutu,

How to change quality list name,the m3u8 file have name tag.

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=500000,RESOLUTION=640x360,NAME="360p SD"
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=800000,RESOLUTION=853x480,NAME="480p SD"

I do like quality switch list to show NAME(360p SD, 480p SD) content. can I custom text?

Thank You.

Disable controls entirely

I'm trying to ensure the controls never appear as I am live streaming video in a "seamless" window.

My current settings are:

autoPlay: true,  
controlBarAutoHide: true,
controlBarAutoHideTimeout: 0,
playButtonOverlay: false

However sometimes when I load the page the controls stay visible until I hover over the player, then they will correctly disappear and stay hidden.

How do I ensure they never appear.

Stream stops when change tab

Hi everyone!
Player stops playing the stream when change the tab... Is like Chrome set low priority to the player when the tab doesn't have focus. Apparently, player stops downloading packets... is this some setting?

Hope you can help me!

11349 ERROR [class MainViewBaseMediator] onMediaError

Honestly not sure what to make of this.. playing static content over http is fine, but streaming live content over RTMP isn't working.

The player is connecting with my streaming server, but then it drops the connection immediately after. I'm not sure if OSMF needs to be updated or what the story is. I'm rather new to developing video/streaming.

Browser Console:

1221 INFO Context-04a Initialize complete
11349 ERROR [class MainViewBaseMediator] onMediaError:
Message: Timed-out trying to establish a NetConnection, or timed out due to an idle NetConnection
Detail: 10000

Sniffer Output:

Beginning proxy...
Beginning proxy...
Beginning proxy...
CLIENT - rtmp.Message{ChunkStreamID:0x3, Timestamp:0x1, Size:0x140, Type:0x14, StreamID:0x0, Buf:(*bytes.Buffer)(0xc20802a4d0), IsInbound:true, AbsoluteTimestamp:0x1}
CLIENT - rtmp.RawCommand{IsFlex:false, StreamID:0x0, TransactionID:0x1, Name:"connect", Objects:[]interface {}{amf.Object{"tcUrl":"rtmp://192.168.1.159:1935/app", "capabilities":239, "videoCodecs":252, "pageUrl":"http://192.168.1.159:8081/", "objectEncoding":3, "videoFunction":1, "app":"app", "flashVer":"WIN 14,0,0,145", "swfUrl":"http://192.168.1.159:8081/asset/GrindPlayer.swf", "fpad":false, "audioCodecs":3575}}}
REMOTE - rtmp.Message{ChunkStreamID:0x2, Timestamp:0x0, Size:0x4, Type:0x5, StreamID:0x0, Buf:(*bytes.Buffer)(0xc20802a5b0), IsInbound:true, AbsoluteTimestamp:0x0}
WindowAcknowledgementSize: 2500000
REMOTE - rtmp.Message{ChunkStreamID:0x2, Timestamp:0x0, Size:0x5, Type:0x6, StreamID:0x0, Buf:(*bytes.Buffer)(0xc20802a620), IsInbound:true, AbsoluteTimestamp:0x0}
SetPeerBandwidth: 2500000 2
REMOTE - rtmp.Message{ChunkStreamID:0x2, Timestamp:0x0, Size:0x6, Type:0x4, StreamID:0x1, Buf:(*bytes.Buffer)(0xc20802a690), IsInbound:true, AbsoluteTimestamp:0x0}
StreamBegin: 1
REMOTE - rtmp.Message{ChunkStreamID:0x2, Timestamp:0x0, Size:0x4, Type:0x1, StreamID:0x0, Buf:(*bytes.Buffer)(0xc20802a700), IsInbound:true, AbsoluteTimestamp:0x0}
SetChunkSize: 4096
REMOTE - rtmp.Message{ChunkStreamID:0x3, Timestamp:0x0, Size:0xec, Type:0x14, StreamID:0x0, Buf:(*bytes.Buffer)(0xc20802a770), IsInbound:true, AbsoluteTimestamp:0x0}
REMOTE - rtmp.RawCommand{IsFlex:false, StreamID:0x0, TransactionID:0x1, Name:"_result", Objects:[]interface {}{amf.Object{"fmsVer":"FMS/3,5,7,7009", "capabilities":31, "mode":1}, amf.Object{"level":"status", "code":"NetConnection.Connect.Success", "description":"Connection accepted.", "data":amf.Object{"string":"3,5,7,7009"}, "objectEncoding":0}}}
CLIENT - rtmp.Message{ChunkStreamID:0x2, Timestamp:0xa3ba30, Size:0x4, Type:0x5, StreamID:0x0, Buf:(*bytes.Buffer)(0xc20802a7e0), IsInbound:true, AbsoluteTimestamp:0xa3ba30}
WindowAcknowledgementSize: 2500000
Finishing proxy...
Beginning proxy...
OnWindowFull: 1050368
REMOTE - rtmp.Message{ChunkStreamID:0x2, Timestamp:0x0, Size:0x4, Type:0x3, StreamID:0x0, Buf:(*bytes.Buffer)(0xc20802a930), IsInbound:true, AbsoluteTimestamp:0x0}
Acknowledgement: 1050368
OnWindowFull: 2102501
REMOTE - rtmp.Message{ChunkStreamID:0x2, Timestamp:0x0, Size:0x4, Type:0x3, StreamID:0x0, Buf:(*bytes.Buffer)(0xc2080739d0), IsInbound:true, AbsoluteTimestamp:0x0}
Acknowledgement: 2102501

I would expect to see a NetStream.Publish.Start command made by the player following it connecting, but it just times out.

Failover

Hi,

does GrindPlayer support failover from primary to backup stream?

Thanks!

The problem

Hi:
Can you provide this folder(grind)?

  import ru.kutu.grind.views.api.IControlBarMenuButtonHide;

Player & Add event listeners

Hi!

I am following the documentation (http://osmfhls.kutu.ru/docs/grind/) and trying work with add event listeners.

On my local version AddEventListeners are not working.

I am trying the following code from the js console in Chrome after loading the player:
var p = document.getElementById("player");
p.addEventListener("loadStateChange", function(){ alert("LoadState") });

Tried to add event listeners for: loadStateChange, playStateChange , volumeChange, mutedChange, mediaError. None of this events seem to fire.

Modification: logo overlay

Good hours)
I use the video player to play streaming video.
And when I need to play over video overlay logo (on the lower left). I downloaded the source code, and was able to compile in the SWF file. But I have no idea where to "slightly" to add the code that was added to the logo on top of the stream.

Thanks in advance for your help!

poster does not apper

Even there are same settings for Stroke Media Player and GrindPlayer to set the poster still it works in SMP but not in GrindPlayer.

Disable debug

My live streaming test with this player works great. However my browser logs are full of debug messages, I can't find anything in the documentation to silence these debug messages?

screenshot of debug messages

RTMP QoS Metrics or NetConnection Metrics

Hi,

I am using Grind Player and loving it. I am able to pull qos metrics for HLS/HDS/Progressive downloads, all no problem, however I am unable to get any metrics or data back for RTMP. I was wondering if there was any way given a stream like: rtmp://netrolive.netromedia.com/netrolive/netrolive to access playback bytes, or data received metrics via an the JS API or anything. Your help would greatly be appreciated.

Cheers

Make error

My Makefile

FLEX_SDK ?= /home/andrey/apache-flex-sdk-4.14.1-bin
MXMLC ?= $(FLEX_SDK)/bin/mxmlc
COMPC ?= $(FLEX_SDK)/bin/compc
BUILD_DIR ?= build
GRIND_PLAYER=$(BUILD_DIR)/GrindPlayer.swf
GRIND_FRAMEWORK=$(BUILD_DIR)/libs/GrindFramework.swc
ADVERTISEMENT_PLUGIN=$(BUILD_DIR)/libs/AdvertisementPlugin.swc
SUBTITLES_PLUGIN=$(BUILD_DIR)/libs/SubtitlesPlugin.swc

DEBUG ?= false
LOGGING ?= false

TARGET_PLAYER ?= 10.2

SRC = src/GrindPlayer.mxml

all: $(GRIND_PLAYER)

clean:
rm -rf build

$(BUILD_DIR): $(BUILD_DIR)/libs
mkdir -p $(BUILD_DIR)

$(BUILD_DIR)/libs:
mkdir -p $(BUILD_DIR)/libs
cp libs/* $(BUILD_DIR)/libs/

$(GRIND_PLAYER): $(BUILD_DIR) $(GRIND_FRAMEWORK) $(ADVERTISEMENT_PLUGIN) $(SUBTITLES_PLUGIN) $(SRC)
$(MXMLC) -o $(GRIND_PLAYER)
-debug=$(DEBUG)
-locale=en_US,ru_RU
-swf-version=11
-target-player=$(TARGET_PLAYER)
-default-size=640,360
-default-background-color=0
-sp src locale/{locale}
-l "$(FLEX_SDK)/frameworks/libs" "$(FLEX_SDK)/frameworks/locale/{locale}"
-l libs "$(BUILD_DIR)/libs"
-externs ru.kutu.osmf.advertisement.AdvertisementPlugin
-externs ru.kutu.osmf.subtitles.SubtitlesPlugin
-define CONFIG::HLS false
-define CONFIG::DEV false
src/GrindPlayer.mxml
..

Error after make
root@clappr-dev:/home/andrey/grind_player/GrindPlayer# make 2> error.txt
mkdir -p build
/home/andrey/apache-flex-sdk-4.14.1-bin/bin/compc -o build/libs/GrindFramework.swc
-debug=false
-swf-version=11
-target-player=10.2
-sp "GrindFramework/src"
-is "GrindFramework/src"
-external-library-path+="/home/andrey/apache-flex-sdk-4.14.1-bin/frameworks/libs",libs
-define CONFIG::LOGGING false
-define CONFIG::FLASH_10_1 true
Loading configuration file /home/andrey/apache-flex-sdk-4.14.1-bin/frameworks/flex-config.xml
Encountered too many errors!

/home/andrey/grind_player/GrindPlayer# cat error.txt
/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/media/GrindMediaPlayerBase.as(29): col: 44 Error: The definition of base class MediaPlayer was not found.

public class GrindMediaPlayerBase extends MediaPlayer {
                                          ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/media/GrindMediaPlayerBase.as(39): col: 32 Error: Method marked override must override another method.

    override public function set media(value:MediaElement):void {
                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/player/metadata/StrobeDynamicMetadata.as(34): col: 53 Error: The definition of base class Metadata was not found.

public dynamic class StrobeDynamicMetadata extends Metadata
                                                   ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/player/metadata/StrobeDynamicMetadata.as(54): col: 28 Error: Method marked override must override another method.

    override public function getValue(key:String):*
                             ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/player/metadata/StrobeDynamicMetadata.as(80): col: 28 Error: Method marked override must override another method.

    override public function addValue(key:String, value:Object):void
                             ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/player/metadata/StrobeDynamicMetadata.as(130): col: 28 Error: Method marked override must override another method.

    override public function removeValue(key:String):*
                             ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/player/metadata/StrobeDynamicMetadata.as(163): col: 32 Error: Method marked override must override another method.

    override public function get keys():Vector.<String>
                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/FailoverHTTPStreamDownloader.as(61): col: 52 Error: The definition of base class HTTPStreamDownloader was not found.

public class FailoverHTTPStreamDownloader extends HTTPStreamDownloader
                                                  ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/FailoverHTTPStreamDownloader.as(76): col: 32 Error: Method marked override must override another method.

    override public function get isOpen():Boolean
                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/FailoverHTTPStreamDownloader.as(84): col: 32 Error: Method marked override must override another method.

    override public function get isComplete():Boolean
                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/FailoverHTTPStreamDownloader.as(92): col: 32 Error: Method marked override must override another method.

    override public function get hasData():Boolean
                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/FailoverHTTPStreamDownloader.as(100): col: 32 Error: Method marked override must override another method.

    override public function get hasErrors():Boolean
                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/FailoverHTTPStreamDownloader.as(108): col: 32 Error: Method marked override must override another method.

    override public function get downloadDuration():Number
                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/FailoverHTTPStreamDownloader.as(116): col: 32 Error: Method marked override must override another method.

    override public function get downloadBytesCount():Number
                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/FailoverHTTPStreamDownloader.as(126): col: 28 Error: Method marked override must override another method.

    override public function open(request:URLRequest, dispatcher:IEventDispatcher, timeout:Number):void
                             ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/FailoverHTTPStreamDownloader.as(187): col: 28 Error: Method marked override must override another method.

    override public function close(dispose:Boolean = false):void
                             ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/FailoverHTTPStreamDownloader.as(247): col: 32 Error: Method marked override must override another method.

    override public function get totalAvailableBytes():int
                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/FailoverHTTPStreamDownloader.as(265): col: 28 Error: Method marked override must override another method.

    override public function getBytes(numBytes:int = 0):IDataInput
                             ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/FailoverHTTPStreamDownloader.as(310): col: 28 Error: Method marked override must override another method.

    override public function clearSavedBytes():void
                             ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/FailoverHTTPStreamDownloader.as(324): col: 28 Error: Method marked override must override another method.

    override public function appendToSavedBytes(source:IDataInput, count:uint):void
                             ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/FailoverHTTPStreamDownloader.as(338): col: 28 Error: Method marked override must override another method.

    override public function saveRemainingBytes():void
                             ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/FailoverHTTPStreamDownloader.as(358): col: 28 Error: Method marked override must override another method.

    override public function toString():String
                             ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/elements/FailoverF4MLoader.as(73): col: 41 Error: The definition of base class F4MLoader was not found.

public class FailoverF4MLoader extends F4MLoader
                                       ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/elements/FailoverF4MLoader.as(104): col: 31 Error: Method marked override must override another method.

    override protected function executeLoad(loadTrait:LoadTrait):void
                                ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/log/GrindLogger.as(7): col: 35 Error: The definition of base class Logger was not found.

public class GrindLogger extends Logger {
                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/log/GrindLogger.as(16): col: 28 Error: Method marked override must override another method.

    override public function debug(message:String, ...rest):void {
                             ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/log/GrindLogger.as(20): col: 28 Error: Method marked override must override another method.

    override public function info(message:String, ...rest):void {
                             ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/log/GrindLogger.as(24): col: 28 Error: Method marked override must override another method.

    override public function warn(message:String, ...rest):void {
                             ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/log/GrindLogger.as(28): col: 28 Error: Method marked override must override another method.

    override public function error(message:String, ...rest):void {
                             ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/log/GrindLogger.as(32): col: 28 Error: Method marked override must override another method.

    override public function fatal(message:String, ...rest):void {
                             ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/log/GrindLoggerFactory.as(10): col: 42 Error: The definition of base class LoggerFactory was not found.

public class GrindLoggerFactory extends LoggerFactory {
                                        ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/log/GrindLoggerFactory.as(21): col: 28 Error: Method marked override must override another method.

    override public function getLogger(category:String):Logger {
                             ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/dvr/FailoverHTTPStreamingDVRCastTimeTrait.as(38): col: 61 Error: The definition of base class TimeTrait was not found.

public class FailoverHTTPStreamingDVRCastTimeTrait extends TimeTrait
                                                           ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/dvr/FailoverHTTPStreamingDVRCastTimeTrait.as(52): col: 32 Error: Method marked override must override another method.

    override public function get duration():Number
                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/dvr/FailoverHTTPStreamingDVRCastTimeTrait.as(62): col: 32 Error: Method marked override must override another method.

    override public function get currentTime():Number
                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/FailoverHTTPStreamingNetLoader.as(45): col: 54 Error: The definition of base class HTTPStreamingNetLoader was not found.

public class FailoverHTTPStreamingNetLoader extends HTTPStreamingNetLoader
                                                    ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/FailoverHTTPStreamingNetLoader.as(66): col: 31 Error: Method marked override must override another method.

    override protected function createNetStream(connection:NetConnection, resource:URLResource):NetStream
                                ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/FailoverHTTPStreamingNetLoader.as(81): col: 31 Error: Method marked override must override another method.

    override protected function processFinishLoading(loadTrait:NetStreamLoadTrait):void
                                ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/media/GrindMediaFactoryBase.as(11): col: 45 Error: The definition of base class DefaultMediaFactory was not found.

public class GrindMediaFactoryBase extends DefaultMediaFactory {
                                           ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/dvr/FailoverHTTPStreamingDVRCastDVRTrait.as(38): col: 60 Error: The definition of base class DVRTrait was not found.

public class FailoverHTTPStreamingDVRCastDVRTrait extends DVRTrait
                                                          ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/FailoverHTTPStreamSource.as(60): col: 51 Error: Interface IHTTPStreamSource was not found.

public class FailoverHTTPStreamSource implements IHTTPStreamSource, IHTTPStreamHandler
                                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/FailoverHTTPStreamSource.as(60): col: 70 Error: Interface IHTTPStreamHandler was not found.

public class FailoverHTTPStreamSource implements IHTTPStreamSource, IHTTPStreamHandler
                                                                    ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/net/httpstreaming/FailoverHTTPStreamMixer.as(58): col: 74 Error: Interface IHTTPStreamSource was not found.

public class FailoverHTTPStreamMixer extends EventDispatcher implements IHTTPStreamSource
                                                                        ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/player/chrome/utils/MediaElementUtils.as(40): col: 60 Error: Type was not found or was not a compile-time constant: MediaElement.

    public static function getMediaElementParentOfType(media:MediaElement, type:Class):MediaElement
                                                             ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/player/chrome/utils/MediaElementUtils.as(40): col: 86 Error: Type was not found or was not a compile-time constant: MediaElement.

    public static function getMediaElementParentOfType(media:MediaElement, type:Class):MediaElement
                                                                                       ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/player/chrome/utils/MediaElementUtils.as(58): col: 60 Error: Type was not found or was not a compile-time constant: MediaElement.

    public static function getResourceFromParentOfType(media:MediaElement, type:Class):MediaResourceBase
                                                             ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/player/chrome/utils/MediaElementUtils.as(58): col: 86 Error: Type was not found or was not a compile-time constant: MediaResourceBase.

    public static function getResourceFromParentOfType(media:MediaElement, type:Class):MediaResourceBase
                                                                                       ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/player/chrome/utils/MediaElementUtils.as(77): col: 46 Error: Type was not found or was not a compile-time constant: MediaElement.

    public static function getStreamType(media:MediaElement):String
                                               ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(183): col: 53 Error: Type was not found or was not a compile-time constant: MediaPlayerStateChangeEvent.

    protected function onMediaPlayerStateChange(event:MediaPlayerStateChangeEvent):void {
                                                      ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(207): col: 46 Error: Type was not found or was not a compile-time constant: DisplayObjectEvent.

    protected function onMediaSizeChange(event:DisplayObjectEvent):void {
                                               ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(212): col: 44 Error: Type was not found or was not a compile-time constant: SeekEvent.

    protected function onSeekingChange(event:SeekEvent):void {
                                             ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(220): col: 43 Error: Type was not found or was not a compile-time constant: AudioEvent.

    protected function onVolumeChange(event:AudioEvent):void {
                                            ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(224): col: 45 Error: Type was not found or was not a compile-time constant: TimeEvent.

    protected function onDurationChange(event:TimeEvent):void {
                                              ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(228): col: 48 Error: Type was not found or was not a compile-time constant: TimeEvent.

    protected function onCurrentTimeChange(event:TimeEvent):void {
                                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(232): col: 48 Error: Type was not found or was not a compile-time constant: LoadEvent.

    protected function onBytesLoadedChange(event:LoadEvent):void {
                                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(242): col: 39 Error: Type was not found or was not a compile-time constant: TimeEvent.

    protected function onComplete(event:TimeEvent):void {
                                        ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(249): col: 62 Error: Type was not found or was not a compile-time constant: TimeEvent.

        eventMaps[TimeEvent.DURATION_CHANGE]                    = function(event:TimeEvent):Array { return [event.time] };
                                                                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(250): col: 57 Error: Type was not found or was not a compile-time constant: TimeEvent.

        eventMaps[TimeEvent.COMPLETE]                           = function(event:TimeEvent):Array { return [event.time] };
                                                                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(251): col: 64 Error: Type was not found or was not a compile-time constant: PlayEvent.

        eventMaps[PlayEvent.PLAY_STATE_CHANGE]                  = function(event:PlayEvent):Array { return [event.playState] };
                                                                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(252): col: 63 Error: Type was not found or was not a compile-time constant: PlayEvent.

        eventMaps[PlayEvent.CAN_PAUSE_CHANGE]                   = function(event:PlayEvent):Array { return [event.canPause] };
                                                                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(253): col: 62 Error: Type was not found or was not a compile-time constant: AudioEvent.

        eventMaps[AudioEvent.VOLUME_CHANGE]                     = function(event:AudioEvent):Array { return [event.volume] };
                                                                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(254): col: 61 Error: Type was not found or was not a compile-time constant: AudioEvent.

        eventMaps[AudioEvent.MUTED_CHANGE]                      = function(event:AudioEvent):Array { return [event.muted] };
                                                                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(255): col: 59 Error: Type was not found or was not a compile-time constant: AudioEvent.

        eventMaps[AudioEvent.PAN_CHANGE]                        = function(event:AudioEvent):Array { return [event.pan] };
                                                                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(256): col: 77 Error: Type was not found or was not a compile-time constant: AlternativeAudioEvent.

        eventMaps[AlternativeAudioEvent.AUDIO_SWITCHING_CHANGE] = function(event:AlternativeAudioEvent):Array { return [event.switching] };
                                                                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(257): col: 91 Error: Type was not found or was not a compile-time constant: AlternativeAudioEvent.

        eventMaps[AlternativeAudioEvent.NUM_ALTERNATIVE_AUDIO_STREAMS_CHANGE]   = function(event:AlternativeAudioEvent):Array { return [] };
                                                                                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(258): col: 62 Error: Type was not found or was not a compile-time constant: SeekEvent.

        eventMaps[SeekEvent.SEEKING_CHANGE]                     = function(event:SeekEvent):Array { return [event.time] };
                                                                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(259): col: 71 Error: Type was not found or was not a compile-time constant: DynamicStreamEvent.

        eventMaps[DynamicStreamEvent.SWITCHING_CHANGE]          = function(event:DynamicStreamEvent):Array { return [event.switching] };
                                                                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(260): col: 72 Error: Type was not found or was not a compile-time constant: DynamicStreamEvent.

        eventMaps[DynamicStreamEvent.AUTO_SWITCH_CHANGE]        = function(event:DynamicStreamEvent):Array { return [event.autoSwitch] };
                                                                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(261): col: 78 Error: Type was not found or was not a compile-time constant: DynamicStreamEvent.

        eventMaps[DynamicStreamEvent.NUM_DYNAMIC_STREAMS_CHANGE] = function(event:DynamicStreamEvent):Array { return [] };
                                                                                  ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(262): col: 74 Error: Type was not found or was not a compile-time constant: DisplayObjectEvent.

        eventMaps[DisplayObjectEvent.DISPLAY_OBJECT_CHANGE]     = function(event:DisplayObjectEvent):Array { return [] };
                                                                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(263): col: 71 Error: Type was not found or was not a compile-time constant: DisplayObjectEvent.

        eventMaps[DisplayObjectEvent.MEDIA_SIZE_CHANGE]         = function(event:DisplayObjectEvent):Array { return [event.newWidth, event.newHeight] };
                                                                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(264): col: 64 Error: Type was not found or was not a compile-time constant: LoadEvent.

        eventMaps[LoadEvent.LOAD_STATE_CHANGE]                  = function(event:LoadEvent):Array { return [event.loadState] };
                                                                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(265): col: 65 Error: Type was not found or was not a compile-time constant: LoadEvent.

        eventMaps[LoadEvent.BYTES_LOADED_CHANGE]                = function(event:LoadEvent):Array { return [event.bytes] };
                                                                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(266): col: 65 Error: Type was not found or was not a compile-time constant: LoadEvent.

        eventMaps[LoadEvent.BYTES_TOTAL_CHANGE]                 = function(event:LoadEvent):Array { return [event.bytes] };
                                                                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(267): col: 65 Error: Type was not found or was not a compile-time constant: BufferEvent.

        eventMaps[BufferEvent.BUFFERING_CHANGE]                 = function(event:BufferEvent):Array { return [event.buffering] };
                                                                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(268): col: 66 Error: Type was not found or was not a compile-time constant: BufferEvent.

        eventMaps[BufferEvent.BUFFER_TIME_CHANGE]               = function(event:BufferEvent):Array { return [event.bufferTime] };
                                                                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(269): col: 62 Error: Type was not found or was not a compile-time constant: DRMEvent.

        eventMaps[DRMEvent.DRM_STATE_CHANGE]                    = function(event:DRMEvent):Array { return [event.drmState] };
                                                                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(270): col: 65 Error: Type was not found or was not a compile-time constant: DVREvent.

        eventMaps[DVREvent.IS_RECORDING_CHANGE]                 = function(event:DVREvent):Array { return [] };
                                                                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(273): col: 85 Error: Type was not found or was not a compile-time constant: MediaPlayerCapabilityChangeEvent.

        eventMaps[MediaPlayerCapabilityChangeEvent.CAN_PLAY_CHANGE]                 = function(event:MediaPlayerCapabilityChangeEvent):Array { return [event.enabled] };
                                                                                                     ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(274): col: 85 Error: Type was not found or was not a compile-time constant: MediaPlayerCapabilityChangeEvent.

        eventMaps[MediaPlayerCapabilityChangeEvent.CAN_SEEK_CHANGE]                 = function(event:MediaPlayerCapabilityChangeEvent):Array { return [event.enabled] };
                                                                                                     ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(275): col: 85 Error: Type was not found or was not a compile-time constant: MediaPlayerCapabilityChangeEvent.

        eventMaps[MediaPlayerCapabilityChangeEvent.TEMPORAL_CHANGE]                 = function(event:MediaPlayerCapabilityChangeEvent):Array { return [event.enabled] };
                                                                                                     ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(276): col: 85 Error: Type was not found or was not a compile-time constant: MediaPlayerCapabilityChangeEvent.

        eventMaps[MediaPlayerCapabilityChangeEvent.HAS_AUDIO_CHANGE]                = function(event:MediaPlayerCapabilityChangeEvent):Array { return [event.enabled] };
                                                                                                     ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(277): col: 91 Error: Type was not found or was not a compile-time constant: MediaPlayerCapabilityChangeEvent.

        eventMaps[MediaPlayerCapabilityChangeEvent.IS_DYNAMIC_STREAM_CHANGE]        = function(event:MediaPlayerCapabilityChangeEvent):Array { return [event.enabled] };
                                                                                                     ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(278): col: 86 Error: Type was not found or was not a compile-time constant: MediaPlayerCapabilityChangeEvent.

        eventMaps[MediaPlayerCapabilityChangeEvent.CAN_BUFFER_CHANGE]               = function(event:MediaPlayerCapabilityChangeEvent):Array { return [event.enabled] };
                                                                                                     ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(279): col: 92 Error: Type was not found or was not a compile-time constant: MediaPlayerCapabilityChangeEvent.

        eventMaps[MediaPlayerCapabilityChangeEvent.HAS_DISPLAY_OBJECT_CHANGE]       = function(event:MediaPlayerCapabilityChangeEvent):Array { return [event.enabled] };
                                                                                                     ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(280): col: 94 Error: Type was not found or was not a compile-time constant: MediaPlayerCapabilityChangeEvent.

        eventMaps[MediaPlayerCapabilityChangeEvent.HAS_ALTERNATIVE_AUDIO_CHANGE]    = function(event:MediaPlayerCapabilityChangeEvent):Array { return [event.enabled] };
                                                                                                     ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(283): col: 61 Error: Type was not found or was not a compile-time constant: MediaErrorEvent.

        eventMaps[MediaErrorEvent.MEDIA_ERROR]      = function(event:MediaErrorEvent):Array { return [event.error.errorID, event.error.message, event.error.detail] };
                                                                     ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(284): col: 62 Error: Type was not found or was not a compile-time constant: TimeEvent.

        eventMaps[TimeEvent.CURRENT_TIME_CHANGE]    = function(event:TimeEvent):Array { return [event.time] };
                                                                     ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(285): col: 86 Error: Type was not found or was not a compile-time constant: MediaPlayerStateChangeEvent.

        eventMaps[MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE]    = function(event:MediaPlayerStateChangeEvent):Array { return [event.state] };
                                                                                             ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(286): col: 58 Error: Type was not found or was not a compile-time constant: QoSInfoEvent.

        eventMaps[QoSInfoEvent.QOS_UPDATE]          = function(event:QoSInfoEvent):Array { return [event.qosInfo] };
                                                                     ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/JavaScriptBridgeBase.as(287): col: 61 Error: Type was not found or was not a compile-time constant: MetadataEvent.

        eventMaps[NetStreamCodes.ON_META_DATA]      = function(event:MetadataEvent):Array { return [event.value] };
                                                                     ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/views/api/IStatInfo.as(13): col: 32 Error: Type was not found or was not a compile-time constant: VideoSurface.

    function update(videoSurface:VideoSurface, netStream:NetStream, qosInfos:Vector.<QoSInfo>):void;
                                 ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/views/api/IStatInfo.as(13): col: 76 Error: Type was not found or was not a compile-time constant: QoSInfo.

    function update(videoSurface:VideoSurface, netStream:NetStream, qosInfos:Vector.<QoSInfo>):void;
                                                                             ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/PlayerConfiguration.as(10): col: 44 Error: Access of undefined property StreamType.

    public var resource:Object = {streamType:StreamType.LIVE_OR_RECORDED};
                                             ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/PlayerConfiguration.as(10): col: 44 Error: Access of undefined property StreamType.

    public var resource:Object = {streamType:StreamType.LIVE_OR_RECORDED};
                                             ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/PlayerConfiguration.as(14): col: 33 Error: Access of undefined property ScaleMode.

    public var scaleMode:String = ScaleMode.LETTERBOX;
                                  ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/PlayerConfiguration.as(14): col: 33 Error: Access of undefined property ScaleMode.

    public var scaleMode:String = ScaleMode.LETTERBOX;
                                  ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/PlayerConfiguration.as(3): col: 24 Error: Definition org.osmf.layout:ScaleMode could not be found.

import org.osmf.layout.ScaleMode;
                      ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/ru/kutu/grind/config/PlayerConfiguration.as(4): col: 21 Error: Definition org.osmf.net:StreamType could not be found.

import org.osmf.net.StreamType;
                   ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/player/errors/StrobePlayerErrorCodes.as(24): col: 23 Error: Definition org.osmf.utils:OSMFStrings could not be found.

import org.osmf.utils.OSMFStrings;
                     ^

/home/andrey/grind_player/GrindPlayer/GrindFramework/src/org/osmf/player/utils/StrobePlayerStrings.as(25): col: 23 Error: Definition org.osmf.utils:OSMFStrings could not be found.

import org.osmf.utils.OSMFStrings;
                     ^

make: *** [build/libs/GrindFramework.swc] Error 101

Manual switch quality with 2 url stream.

Hi,

I like GrindPlayer but i would like a manual switch between a high quality stream and low quality.
My high quality stream it's: rtmp://@IP/hd_stream
My low quality stream it's: rtmp://@IP/sd_strem

Currently, i have only set one stream with src param but how to put 2 stream ?

Thx

player not resume after Advertisement

Hi,first i thanks you for this grindplayer, is the best OSMF based player i used. am using the grindplayer with OSMF Flash pluging (www.flashls.org). The configuration for the advertisement i do it with javascript (advanced options), I have tried with preroll and midroll, both works fine (the video and the click), but when finish de preroll or midroll, not resume the main player (still in pause), both.., closing before , and waiting for end.
i 'm using the examples for preroll and midroll (with player.displayAd{parameters}), but not resume main player after the ad.
Please help me to do this.
Thanks for this great player, for your time and your help.
Greetings.

pre-roll poster

Hello.
As I know StrobePlayer has 'poster' setting allowing to show preroll poster image before starting playback.

Is there such feature in Grind player?

Playlist not loaded while last playing streamIndex exceeds maxAllowedDynamicStreamIndex

Scenario:
last playing streamIndex for given url was 2. On jsbridge player is set maxAllowedDynamicStreamIndex(1)
Result:
no qualities to switch, player plays the first stream from the playlist...

Is it possible to set something like defaultStreamIndex to play? or turn off loading the sharedObject settings, maybe override them?

btw.great job, love your work!

Stream not found

var flashvars = {
src: "http://osmfhls.kutu.ru/static/vod/sl_vod.m3u8",
javascriptCallbackFunction: "onJSBridge"
};
var params = {
allowFullScreen: true
, allowScriptAccess: "always"
, bgcolor: "#000000"
};
var attrs = {
name: "player"
};

    swfobject.embedSWF("./Content/GrindPlayer.swf", "player", "854", "480", "10.3", null, flashvars, params, attrs);

    var player;
    function onJSBridge(playerId, event, data) {
        switch (event) {
            case "onJavaScriptBridgeCreated":
                // reference to player
                player = document.getElementById(playerId);
                player.addEventListener("mediaError", "onMediaError");
                break;

                // player state change
            case "ready":
            case "loading":
            case "playing":
            case "paused":
            case "buffering":

                // other events
            case "mediaSize":
            case "seeking":
            case "seeked":
            case "volumeChange":
            case "durationChange":
            case "timeChange":
            case "progress": // for progressive download only
            case "complete":
            case "advertisement":

            default:
                // console.log(event, data);
                break;
        }
    }

    function onMediaError() {
        //console.log(arguments.callee.name, arguments);
        //alert(arguments);
    }
</script>

Always returns Message: Stream not found
I don't know why
Please provide help

Hide controls?

Can I hide the controls at all? Only audio/video.
Thanks in advance for your help!

XML config File

Can you to write an XML configuration file as example i want to use it..

problem javascriptCallbackFunction

Hi.

I do like this

        swfobject.embedSWF(
            "http://"+url+"/pl/GrindPlayer.swf", 
            el, 
            ww, 
            hh, 
            '10.3', 
            'false',
            {
                src : url_stream+"/manifest.f4m", 
                plugin_hls: "http://"+url+"/pl/HLSDynamicPlugin.swf",
                autoPlay : true,
                javascriptCallbackFunction: "onJSBridge",
            }, 
            {
                allowFullScreen : "true", 
                allowNetworking : "all",
                allowScriptAccess: "always",
                wmode: "direct"
            }
        );

function onJSBridge(playerId, event, data) {
    switch(event) {
        case "onJavaScriptBridgeCreated":
            alert(palyerId);
            break;
    }
}

playerId and data is "null", but event is ok. Why playerId is "null"?

Qualities appear twice

Hi!

When using a backup stream, qualities are displayed twice on qualitiy selector.

Is there a fix for that?

With greetings.

player_quality_selector

Jump to live

Hi Kutu
I have a question regarding an HLS-stream with dvr-functionality. I am able to jump back and forth in time.
Is there a way to jump to the live-position? Is there a switch to display a few pixels on the right end of the timebar as "live"? That would be very helpful!

Chris

Find out if player is in fullscreen mode

I saw previous issue asking if it's possible to toggle fullsreen. As that's not available is there at least a way to tell if player is in fullscreen right now or not?

make: *** [build/GrindPlayer.swf] Error 137

Hello, I've tried compiling your code as it is on a Debian 7 64 bits system with Apache Flex SDK 4.10 and Java 1.6 and everything is built:
build
└── libs
├── AdvertisementPlugin.swc
├── blooddy_crypto.swc
├── GrindFramework.swc
├── OSMF.swc
├── robotlegs-framework-v2.1.0.swc
└── SubtitlesPlugin.swc
Except GrindPlayer.swf where it exits with Error 137, but no idea where the issue is.

Regards

Player stuck at initializing

Player only shows "initializing". I have tried to get it working using both the compiled file from the documentation site and building my own player with the code. I've used the embed code shown in the documentation. It doesn't matter which src I am specifying. It doesn't show any errors in the JS console either. Am I doing something wrong?

1838 ERROR Context-0-ae [class PlayerViewMediator] Media is null

i downloaded the source code and compiled it in flash builder 4.5 successfully. so i debug it in my flash builder, and i got the log as follows:

1352 DEBUG Context-0-ae [object ExtensionInstaller] Installing extension [object InjectableLoggerExtension]
1353 DEBUG Context-0-ae [object ExtensionInstaller] Installing extension [object ContextViewExtension]
1354 DEBUG Context-0-ae [object ExtensionInstaller] Installing extension [object EventDispatcherExtension]
1354 DEBUG Context-0-ae [object ExtensionInstaller] Installing extension [object LocalEventMapExtension]
1355 DEBUG Context-0-ae [object ExtensionInstaller] Installing extension [object ViewManagerExtension]
1356 DEBUG Context-0-ae [object ExtensionInstaller] Installing extension [object StageObserverExtension]
1357 DEBUG Context-0-ae [object ExtensionInstaller] Installing extension [object MediatorMapExtension]
1357 DEBUG Context-0-ae [object ExtensionInstaller] Installing extension [object StageSyncExtension]
1358 DEBUG Context-0-ae [object ConfigManager] Not yet initialized. Queuing config class [class ContextViewListenerConfig]
1359 DEBUG Context-0-ae [object ConfigManager] Not yet initialized. Queuing config object [object AppConfig]
1359 DEBUG Context-0-ae [object ConfigManager] Not yet initialized. Queuing config object [object ContextView]
1359 DEBUG Context-0-ae [object ContextViewExtension] Mapping GrindPlayer as contextView
1361 DEBUG Context-0-ae [object StageSyncExtension] Context view is not yet on stage. Waiting...
1699 DEBUG Context-0-ae [object StageSyncExtension] Context view is now on stage. Initializing context...
1701 INFO Context-0-ae Context-0-ae Initializing...
1714 DEBUG Context-0-ae [object StageObserverExtension] Creating genuine StageObserver Singleton
1715 DEBUG Context-0-ae [object ConfigManager] Now initializing. Instantiating config class [class ContextViewListenerConfig]
1720 DEBUG Context-0-ae [object ConfigManager] Now initializing. Injecting into config object [object AppConfig]
1753 DEBUG Context-0-ae [object MediatorMap] [object TypeFilter] mapped to [object MediatorMapping]
1757 DEBUG Context-0-ae [object MediatorMap] [object TypeFilter] mapped to [object MediatorMapping]
1758 DEBUG Context-0-ae [object MediatorMap] [object TypeFilter] mapped to [object MediatorMapping]
1758 DEBUG Context-0-ae [object MediatorMap] [object TypeFilter] mapped to [object MediatorMapping]
1759 DEBUG Context-0-ae [object MediatorMap] [object TypeFilter] mapped to [object MediatorMapping]
1760 DEBUG Context-0-ae [object MediatorMap] [object TypeFilter] mapped to [object MediatorMapping]
1761 DEBUG Context-0-ae [object MediatorMap] [object TypeFilter] mapped to [object MediatorMapping]
1761 DEBUG Context-0-ae [object MediatorMap] [object TypeFilter] mapped to [object MediatorMapping]
1762 DEBUG Context-0-ae [object MediatorMap] [object TypeFilter] mapped to [object MediatorMapping]
1764 DEBUG Context-0-ae [object MediatorMap] [object TypeFilter] mapped to [object MediatorMapping]
1765 DEBUG Context-0-ae [object MediatorMap] [object TypeFilter] mapped to [object MediatorMapping]
1766 DEBUG Context-0-ae [object MediatorMap] [object TypeFilter] mapped to [object MediatorMapping]
1766 DEBUG Context-0-ae [object MediatorMap] [object TypeFilter] mapped to [object MediatorMapping]
1767 DEBUG Context-0-ae [object MediatorMap] [object TypeFilter] mapped to [object MediatorMapping]
1767 DEBUG Context-0-ae [object MediatorMap] [object TypeFilter] mapped to [object MediatorMapping]
1768 DEBUG Context-0-ae [object MediatorMap] [object TypeFilter] mapped to [object MediatorMapping]
1769 DEBUG Context-0-ae [object MediatorMap] [object TypeFilter] mapped to [object MediatorMapping]
1770 DEBUG Context-0-ae [object MediatorMap] [object TypeFilter] mapped to [object MediatorMapping]
1770 DEBUG Context-0-ae [object MediatorMap] [object TypeFilter] mapped to [object MediatorMapping]
1771 DEBUG Context-0-ae [object MediatorMap] [object TypeFilter] mapped to [object MediatorMapping]
1772 DEBUG Context-0-ae [object MediatorMap] [object TypeFilter] mapped to [object MediatorMapping]
1773 DEBUG Context-0-ae [object ConfigManager] Now initializing. Injecting into config object [object ContextView]
1774 INFO Context-0-ae Context-0-ae Initialize complete
1838 ERROR Context-0-ae [class PlayerViewMediator] Media is null
1886 DEBUG Context-0-ae [LayoutRendererBase] ON EXIT FRAME: BEGIN
1887 DEBUG Context-0-ae [LayoutRendererBase] VALIDATING LAYOUT
1887 DEBUG Context-0-ae [LayoutRendererBase] LAYOUT VALIDATED
1888 DEBUG Context-0-ae [LayoutRendererBase] VALIDATING LAYOUT
1888 DEBUG Context-0-ae [LayoutRendererBase] LAYOUT VALIDATED
1889 DEBUG Context-0-ae [LayoutRendererBase] ON EXIT FRAME: END


the compiled grindplayer show "initializing" .
i have uploaded the grindplayer to website and config the crossdomain.xml in the web root . after that , i open the firefox to browse , i have got no video and the debug info is the same as above. what shall i do ?

BTW, my html page is as follows:

<script type="text/javascript" src="swfobject.min.js"></script>
<script type="text/javascript">
    var flashvars = {
        src: "http://mydomain.com:1200/hls-live/httpwed/352_3C2AA1/liveevent/3C2AA1.m3u8"

    };
    var params = {
        allowFullScreen: true
        , allowScriptAccess: "always"
        , bgcolor: "#000000"
    };
    var attrs = {
        name: "player"
    };

    swfobject.embedSWF("GrindPlayer.swf", "player", "854", "480", "10.2", null, flashvars, params, attrs);
</script>

Streaming multiple mp4 resources

Can you set in the player multiple links of mp4 and use Nginx Pseudo Streaming Plugin, so users can switch between them. Similar to youtube?

Toggle full screen

Sorry guys, I don't know if this is a issues, but, I'm final user in this project, and I cannot find how to toggle full screen with javascript

I think the communit can distribute one compiled version too :)

Thank you for attention

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.