flex-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Maxim Solodovnik <solomax...@gmail.com>
Subject Re: Dynamic Video adding
Date Tue, 30 Sep 2014 18:03:32 GMT
Maybe LEVEL_5_1 should not be used?

On 28 September 2014 17:14, Maxim Solodovnik <solomax666@gmail.com> wrote:

> I just tried to switch off h264 and the issue gone, everything works as
> expected
> So it seems like these 2 lines of code
> videoStreamSettings = new H264VideoStreamSettings();
> videoStreamSettings.setProfileLevel(H264Profile.BASELINE,
> H264Level.LEVEL_5_1);
> make video stream unusable on mobile
> Is it expected behavior?
>
>
> On 27 September 2014 01:13, Maxim Solodovnik <solomax666@gmail.com> wrote:
>
>> SGS3 is connected using USB cable Net connection via same home WiFi router
>> Actually I get "Connection successful" (in real application I do couple
>> of RPC calls and send video from phone to red5 which is clearly visible)
>>
>> The real weird thing: after device is locked (using power button) then
>> unlocked I get black screen with real video
>> So before lock: I get no video but flex components live (buttons
>> checkboxes etc)
>> After lock: I get video live but no flex components
>> It looks like overlay error
>>
>> On 26 September 2014 22:54, OmPrakash Muppirala <bigosmallm@gmail.com>
>> wrote:
>>
>>> Can you make sure that Red5 server is accessible from the phone?  The SG3
>>> and the server should be running on the same network.  Or, is the Red5
>>> server publicly accessible?
>>>
>>> If you run it on the SG3 in debug mode, what kind of trace output are you
>>> seeing in the IDE?
>>>
>>> Thanks,
>>> Om
>>>
>>> On Fri, Sep 26, 2014 at 8:08 AM, Maxim Solodovnik <solomax666@gmail.com>
>>> wrote:
>>>
>>> > it work as expected using desktop client
>>> > The issue is reproducible in mobile client only (works in emulator,
>>> fail on
>>> > SGS3 over USB)
>>> >
>>> > On 26 September 2014 22:04, OmPrakash Muppirala <bigosmallm@gmail.com>
>>> > wrote:
>>> >
>>> > > I dint see anything obviously wrong with the code.  I suspect if the
>>> red5
>>> > > server is set up correctly.  Has that server worked for you before
>>> this?
>>> > >
>>> > > Thanks,
>>> > > Om
>>> > > On Sep 26, 2014 7:25 AM, "Maxim Solodovnik" <solomax666@gmail.com>
>>> > wrote:
>>> > >
>>> > > > Hello Om,
>>> > > >
>>> > > > Were you able to take a look at it?
>>> > > > Do you need any additional info?
>>> > > >
>>> > > > Thanks in advance for your help!
>>> > > >
>>> > > > On 25 September 2014 11:51, Maxim Solodovnik <solomax666@gmail.com
>>> >
>>> > > wrote:
>>> > > >
>>> > > > > 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 <
>>> solomax666@gmail.com>
>>> > > > 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 <
>>> solomax666@gmail.com>
>>> > > > >> wrote:
>>> > > > >>
>>> > > > >>> Thanks for the answer!
>>> > > > >>> I'll try to provide quickstart ASAP
>>> > > > >>>
>>> > > > >>> On 24 September 2014 23:46, OmPrakash Muppirala <
>>> > > bigosmallm@gmail.com>
>>> > > > >>> 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" <
>>> solomax666@gmail.com
>>> > >
>>> > > > >>>> 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
<
>>> > > solomax666@gmail.com>
>>> > > > >>>> 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
>>> > > > >
>>> > > >
>>> > > >
>>> > > >
>>> > > > --
>>> > > > WBR
>>> > > > Maxim aka solomax
>>> > > >
>>> > >
>>> >
>>> >
>>> >
>>> > --
>>> > WBR
>>> > Maxim aka solomax
>>> >
>>>
>>
>>
>>
>> --
>> WBR
>> Maxim aka solomax
>>
>
>
>
> --
> WBR
> Maxim aka solomax
>



-- 
WBR
Maxim aka solomax

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message