Not sure if it is important or not Live streams are being created with these settings: videoStreamSettings = new H264VideoStreamSettings(); videoStreamSettings.setProfileLevel(H264Profile.BASELINE, H264Level.LEVEL_5_1); videoStreamSettings.setQuality(16384, 0); videoStreamSettings.setKeyFrameInterval(30);
On 25 September 2014 01:18, Maxim Solodovnik <[email protected]> wrote: > Here is quickstart: https://github.com/solomax/VideoQuickStart > Everything works in emulator > It also works with mp4 stream from here: > http://flash.flowplayer.org/plugins/streaming/rtmp.html > > but fails with live stream from red5 server I'm trying to play > > Thanks in advance for the help > > On 25 September 2014 00:00, Maxim Solodovnik <[email protected]> wrote: > >> Thanks for the answer! >> I'll try to provide quickstart ASAP >> >> On 24 September 2014 23:46, OmPrakash Muppirala <[email protected]> >> wrote: >> >>> Yes, this is definitely the correct list to ask such questions. But it >>> looks like a very specific scenario that others might not have exactly >>> faced. >>> >>> Can you try providing a very simple example that reproduces this issue? >>> >>> Thanks, >>> Om >>> On Sep 24, 2014 9:30 AM, "Maxim Solodovnik" <[email protected]> >>> wrote: >>> >>> > Is it correct list to ask questions like this? >>> > >>> > I have weird behavior described in previous post on real device only >>> (SGS3 >>> > Latest Android) everything works as expected in emulator >>> > >>> > Can anyone help me? >>> > >>> > >>> > On 16 September 2014 02:08, Maxim Solodovnik <[email protected]> >>> wrote: >>> > >>> > > Hello All, >>> > > >>> > > I'm trying to add/remove Video objects to scrolling view dinamically >>> in >>> > > Mobile project. >>> > > Here is the base markup >>> > > >>> > > ........... skipped ............. >>> > > <s:Scroller id="vGroupScroller" width="250"> >>> > > <s:HGroup id="videoGroup" height="{SMALL_HEIGHT + 10}" gap="5" >>> > > paddingTop="5" paddingLeft="5" paddingRight="5" >>> > > paddingBottom="5"></s:HGroup> >>> > > </s:Scroller> >>> > > ........... skipped ............. >>> > > >>> > > and code: >>> > > for (var i:int = 0; i < result.length; ++i) { >>> > > if (broadcastId == result[i].broadCastId) { >>> > > continue; //self >>> > > } >>> > > var ui:UIComponent = new UIComponent(); >>> > > ui.width = SMALL_WIDTH; >>> > > ui.height = SMALL_HEIGHT; >>> > > videoGroup.addElement(ui); >>> > > >>> > > var vid:Video = new Video(); >>> > > vid.width = SMALL_WIDTH; >>> > > vid.height = SMALL_HEIGHT; >>> > > ui.addChild(vid); >>> > > >>> > > var rc:RoomClient = new RoomClient(); >>> > > trace("Creating NetStream, bcId: " + result[i].broadCastId); >>> > > var ns:NetStream = new NetStream(app.nc); >>> > > >>> > > ns.addEventListener(NetStatusEvent.NET_STATUS, function >>> > > (e:NetStatusEvent):void { >>> > > trace("ns::netstatus " + e.info.code); >>> > > }); >>> > > ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, function >>> > > (e:AsyncErrorEvent):void { >>> > > trace("ns::async " + e); >>> > > }); >>> > > ns.client = { >>> > > onMetaData: function (item:Object):void { >>> > > trace("onMetaData: " + item); >>> > > }/*, >>> > > onPlayStatus: function (status:Object):void { >>> > > trace("onPlayStatus: " + status); >>> > > }, >>> > > onCuePoint: function (item:Object):void { >>> > > trace("onCuePoint: " + item); >>> > > }, >>> > > ioError: function (item:Object):void { >>> > > trace("ioError: " + item); >>> > > }, >>> > > netStatus: function (item:Object):void { >>> > > trace("netStatus: " + item); >>> > > }, >>> > > asyncError: function (item:Object):void { >>> > > trace("asyncError: " + item); >>> > > }*/ >>> > > }; >>> > > rc.broadCastId = result[i].broadCastId; >>> > > rc.streamId = result[i].streamId; >>> > > //rc.ns = ns; >>> > > >>> > > // TODO save use first/last name etc. >>> > > clients.addItem(rc); >>> > > >>> > > vid.attachNetStream(ns); >>> > > ns.play(result[i].broadCastId, -1); >>> > > } >>> > > >>> > > result I'm iterating in the loop is the list of objects containing >>> > > broadcastId >>> > > >>> > > I'm using Apache-flex-4.13.0, IntellyJ Idea 13 >>> > > Application is running on Samsung Galaxy 3 USB debug >>> > > Red5 is used as server >>> > > >>> > > As the result I'm getting is extremely weird: >>> > > In case there is only one video: I get "black box" instead of video >>> > stream >>> > > Then device switch off and lock the screen; >>> > > After unlocking the whole screen is black (all other controls are >>> covered >>> > > with black rectangle) but video is live >>> > > Another lock/unlock: controls are visible, video == black box >>> > > >>> > > In case screen is turned off (but not locked) I have live video >>> > > >>> > > In case of 2 video windows: firstone is displayed as expected, >>> second one >>> > > is black, lock/unlock same blackbox >>> > > >>> > > I have no trace events from ns.client >>> > > If more methods of ns.client are uncommented I get no video at all >>> > > >>> > > >>> > > Will appreciate any help >>> > > >>> > > Thanks in advance >>> > > -- >>> > > WBR >>> > > Maxim aka solomax >>> > > >>> > >>> > >>> > >>> > -- >>> > WBR >>> > Maxim aka solomax >>> > >>> >> >> >> >> -- >> WBR >> Maxim aka solomax >> > > > > -- > WBR > Maxim aka solomax > -- WBR Maxim aka solomax
