0

I am trying to play on a flash player a video file which has an DREF atom that points to an external movie.

The DREF box has value URL and points to an external video file which has the mdat. However the flash video player (netstream object?) is unable to load the external file. I have been trying to work this out for the last couple of weeks and any tips would be helpful.

Thanks in advance

Dan Lowe
  • 51,713
  • 20
  • 123
  • 112
Ganesh Krishnan
  • 7,155
  • 2
  • 44
  • 52
  • does the file play with quicktime from the same machine ? please show the exact content of the DREF atom (byte-wise). – Yahia Dec 25 '11 at 07:23

2 Answers2

1

Edit: From this post, it seems that there is only byte access within Flash to FLV files, so I assume that you will have to use external (Java, server-side, etc.) tools to solve your problem. Adobe NetStream.appendBytes docs.


This is not a direct response to your request, but may offer some help in understanding and using the Quicktime header data.

You can use this Java program to see what is in the header, and extract data (it's a bit old, but may still work).

For your project, you may benefit from the included Quicktime "flattener", which will bring all exterior data into one Quicktime file.

If you are just looking for the Apple Quicktime header docs, they are currently found here.

iND
  • 2,663
  • 1
  • 16
  • 36
0

As you know Ganesh there is no support for dref atom directly in flash runtime, the only way you can stream it via flash is to create a FLV header with the help of your source file that contains the DREF atom and somehow merging the mp4 file mdat with the FLV header. Then you will be able to run the appendByte sequence of NSStream.

You can have a look into the following reference for how you can actually achieve it via action script code:

  1. Parsing F4f atoms(F4F file follows nearly same specification as mp4-iso-14496) and converting into FLV header (http dynamic streaming way)
    OSMF http dynamicstreaming codebase

  2. One opensource project that takes MKV as file as source and play it in flash via AS3 NSStream.appendByte(). Source code repository for MKV loader project

Florent
  • 12,310
  • 10
  • 49
  • 58
Nirbhay Kundan
  • 389
  • 2
  • 13