javier3407 / apple-http-osmf

Automatically exported from code.google.com/p/apple-http-osmf
0 stars 0 forks source link

Changes for OSMF Trunk #10

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Hi there, I am wondering if this is being actively worked on at all ? I have 
managed to get this to work with OSMF trunk but it does not seem to buffer so 
well and was wondering if this is normal. 

I have yet to test with  dynamic switching support, but one of the main 
problems with the bitrates list is the stream name needs to reference the 
master playlist container name not the individual streams. 

I have playing the lo quality stream which is stream 0 and it cannot play back 
correctly which is strange, it seems perhaps some issue with the appending that 
isn't buffering the video correctly. 

Attached is the diff, the new setup is like so

var httpNetStream:HTTPNetStream = new HTTPNetStream(connection, new 
HTTPStreamingM3U8Factory(), netResource);
httpNetStream.addEventListener(NetStatusEvent.NET_STATUS, netStatus);

Original issue reported on code.google.com by electrot...@gmail.com on 10 Jan 2012 at 8:14

GoogleCodeExporter commented 8 years ago
Fixed up the diff, had to add the factory file. 

Original comment by electrot...@gmail.com on 10 Jan 2012 at 10:42

Attachments:

GoogleCodeExporter commented 8 years ago
Thank you for upload new code. I edit createNetStream function at 
HTTPStreamingM3U8NetLoader.as and it works with newest OSMF:

override protected function createNetStream(connection:NetConnection, 
resource:URLResource):NetStream
{
  var factory:HTTPStreamingM3U8Factory = new HTTPStreamingM3U8Factory();
  var httpNetStream:HTTPNetStream = new HTTPNetStream(connection, factory, resource);
  return httpNetStream;
}

But it seems TS parser is too slow. It needs around 10 seconds for parsing 2 
seconds of video data :(

Original comment by mhais...@gmail.com on 24 Jan 2012 at 1:34

GoogleCodeExporter commented 8 years ago
Hi did you merge the other changes it needed quite a few in that diff. I do 
notice it cannot keep up and is buffering constantly, is that what you are 
seeing ? I'm not sure how to fix this i'm afraid but good to see this project 
is still going, I thought  it was not and made a request with the OSMF people, 
was this supposed to be merged there ? 

Where exactly do you debug the parsing. 

Original comment by dani...@electroteque.org on 24 Jan 2012 at 1:40

GoogleCodeExporter commented 8 years ago
Yes, I added your changes and it plays segment after end of file parsing. But 
the parser is too slow - I believe it takes too much time to find new sync in 
TS by HTTPStreamingMP2TSFileHandler.as. So there is too much time need for 
buffering. Attached you could see my logfile of OSMF and my Actionscript 
startup file. I'm using Flash Builder 4.5 for Actionscript web project.

Compiler options:
-define CONFIG::FLASH_10_1 true
-define CONFIG::LOGGING true
-define CONFIG::PLATFORM true
-define CONFIG::MOCK false

Original comment by mhais...@gmail.com on 24 Jan 2012 at 2:22

Attachments:

GoogleCodeExporter commented 8 years ago
Have you tried it on Flash?  I could not even run with this link: 
http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8

thanks!

Original comment by moc...@gmail.com on 24 Jan 2012 at 11:51

GoogleCodeExporter commented 8 years ago
Hi,
it should works with Flash too. I attached my project sources into ZIP file. 
Please add OSMF framework (org/osmf/ into src/). Then, after some seconds, it 
plays first segment.

It's a pity that it works not smoothly and I don't have knowledge for 
optimizing this great project :(

BR

Original comment by mhais...@gmail.com on 25 Jan 2012 at 7:36

Attachments:

GoogleCodeExporter commented 8 years ago
It's not smooth no. Are you the maintainer ? It seems this project is dead and 
I've asked osmf to pick it up. I am not a guru like matthew is when it comes to 
video at the byte level. You are probably experiencing what I am, it will 
buffer because of the lag between getting new data  ?

Original comment by dani...@electroteque.org on 25 Jan 2012 at 5:25

GoogleCodeExporter commented 8 years ago
Sorry, I'm not maintainer. I have same experience as you.

Original comment by edv-tech...@marel.at on 26 Jan 2012 at 7:30

GoogleCodeExporter commented 8 years ago
OK np. well sadly this feature is going to be needed to get AIR streaming on 
IOS. 

Original comment by dani...@electroteque.org on 26 Jan 2012 at 1:17

GoogleCodeExporter commented 8 years ago
I haven't had a chance to work on this since I made it work with OSMF 1.5. 

Original comment by atmatthewat@gmail.com on 8 Jun 2012 at 5:44

GoogleCodeExporter commented 8 years ago
Hi matthew how are you ! I sent a patch to work with version 1.6, however 2.0 
is out and there is possibly more refactoring i could spend some time to send 
new patches if needed.  I understand you are busy and osmf people don't seem 
interested to work on it and sadly it is needed for AIR on IOS. They provide 
packaging for IOS but no tools available for streaming ! 

i believe jwplayer have done their own thing but it looks a mess. i have tested 
it with 1.6 and there does seem more issues to resolve on the byte level, it 
has some kind of buffering issue.

Original comment by dani...@electroteque.org on 8 Jun 2012 at 5:51

GoogleCodeExporter commented 8 years ago
I've just checked in a bunch of changes (many of them starting with work in 
this patch) to support 2.0, most of which should also fix the issues with 1.6. 
The performance is MUCH worse than it had been, and yet none of my core code 
has changed, so something about how OSMF presents the data is now less 
efficient and having problems. Also still have some minor issues around stream 
quality naming that aren't ironed out.

Original comment by atmatthewat@gmail.com on 8 Jun 2012 at 9:05

GoogleCodeExporter commented 8 years ago
Right ok, ill have a look with 2.0. There was definitely a huge refactor, 
especially with the http streaming stuff which ive yet to port over to my 
plugin implementation so perhaps there is a regression somewhere there. I will 
let you know when i myself find some time ;)

Original comment by dani...@electroteque.org on 8 Jun 2012 at 9:12

GoogleCodeExporter commented 8 years ago
Btw i won't be much help at the byte level you are king with that, but i can 
only try, definitely something to do with buffer and fragments keeping up or 
something. 

Original comment by dani...@electroteque.org on 8 Jun 2012 at 9:13

GoogleCodeExporter commented 8 years ago
Fix now checked in for the biggest playback stall problem

Original comment by atmatthewat@gmail.com on 22 Jun 2012 at 3:16

GoogleCodeExporter commented 8 years ago
Going to call this basic issue fixed. No doubt there are more subtle issues to 
address later.

Original comment by atmatthewat@gmail.com on 22 Jun 2012 at 3:21

GoogleCodeExporter commented 8 years ago
i'll definitely take a look thanks for your effort. Sadly there is yet another 
system which may become standard in the future which is DASH, but adobe claim 
they will be implementing that ;)

Original comment by electrot...@gmail.com on 22 Jun 2012 at 8:08

GoogleCodeExporter commented 8 years ago
Its not working im getting the dreaded quality cannot be set at this time 
error. im attempting to load directly into a pure as3 application. 

netResource = new StreamingURLResource(filename);

var httpNetStream:HTTPNetStream = new HTTPNetStream(connection, new 
HTTPStreamingM3U8Factory(), netResource);
httpNetStream.addEventListener(NetStatusEvent.NET_STATUS, netStatus);
video.attachNetStream(httpNetStream);
httpNetStream.client = this;

httpNetStream.play(netResource.url);

its an mbr feed do I have to set it up differently. I noticed you have 
refactored to osmf 2.0 which is fine but one of the classes is importing a flex 
class which may bloat the size a little. 

Original comment by dani...@electroteque.org on 22 Jun 2012 at 10:09

GoogleCodeExporter commented 8 years ago
the rates event has to be dispatched first. having a look still. 

Original comment by dani...@electroteque.org on 22 Jun 2012 at 11:42

GoogleCodeExporter commented 8 years ago
ill send a diff in a new ticket however this is still an issue, the mbr file 
needs to be referenced instead of the top level, the mxml example doesn't load 
at all, so not possible to test that. Streams are working now in regards to 
this ticket. 

httpNetStream.play("http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_
index.m3u8");

Original comment by dani...@electroteque.org on 22 Jun 2012 at 12:59