kutu / grindplayer Goto Github PK
View Code? Open in Web Editor NEWOSMF + Flex based flash video player, which provides most needed functionality in nowadays
Home Page: http://osmfhls.kutu.ru/docs/grind/
License: MIT License
OSMF + Flex based flash video player, which provides most needed functionality in nowadays
Home Page: http://osmfhls.kutu.ru/docs/grind/
License: MIT License
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?
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
I've highlighted the part it doesn't like. It seems to strip the +
from the jQuery selector I have in the above code.
It will be very useful for some "test your connection speed" pages and other debug tools.
<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
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?
Dear owner.
we don't found file "GrindPlayer.swf" after down load the source. so the follows code can not work
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.
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!
Hello,
My stream has & in it, and it gets parsed as flashvars, thus everything after the ampersand is removed and the stream does not work. Any help? Tried replacing it with & and &. None of them work..
Regards,
melsom
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.
Did't find in docs
Hi,
does GrindPlayer support failover from primary to backup stream?
Thanks!
Didn't find in docs
Hi:
Can you provide this folder(grind)?
import ru.kutu.grind.views.api.IControlBarMenuButtonHide;
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.
When setting streamType flashvar to "live", then click on pause button and after that click on "play" the player does not unpause and video remains paused.
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!
Even there are same settings for Stroke Media Player and GrindPlayer to set the poster still it works in SMP but not in GrindPlayer.
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
Hi.
how to invoke dvr in grindplayer when using Hlsprovider plugin ? I could not get the sliding option in the player.
thanks in advance
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
mkdir -p $(BUILD_DIR)
$(BUILD_DIR)/libs:
mkdir -p $(BUILD_DIR)/libs
cp libs/* $(BUILD_DIR)/libs/
-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
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
how to play? pls help me?
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.
Hello.
As I know StrobePlayer has 'poster' setting allowing to show preroll poster image before starting playback.
Is there such feature in Grind player?
What method do I need to call to reconnect to a stream after the connection is lost? I need to continuously play a live stream.
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!
Hello,
I'm sorry to disturb you but I can't make it work..
I used the basic example described on the site that is : "http://osmfhls.kutu.ru/docs/grind/"
But I couldn't make it work, with files on my desktop, with http, rtmp ... how should I do ? can someone be kind and help me please ? thanks !
It always keep "initializing"...
Example : https://www.useloom.com/share/d8c1c917aefa402da0edc8dabc794fab
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
Can I hide the controls at all? Only audio/video.
Thanks in advance for your help!
Can you to write an XML configuration file as example i want to use it..
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"?
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
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?
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 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?
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>
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?
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
Hi,
Is it possible to hide the AlternativeAudio selector if there is only one sound track available?
(I did not find a solutoion here: http://osmfhls.kutu.ru/docs/grind/ )
for example ,Quality switcher,full screem button
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.