« Return to Thread: Mondain, Art or other semigod! Helping on metadata for live h264 publisher.
----- Original Message -----From: tiago@...To: red5@...Sent: Tuesday, July 07, 2009 8:48 AMSubject: Re: [Red5] Mondain, Art or other semigod! Helping on metadata for live h264 publisher.Andy, I was looking inside red5, I debuged entire "walk" of packet.
The method's I used is from red5 meta data services (or I think so).
The amazing thing is that when "Three letter encoder" publish, the metadata and videoPackets come inside the same channelld.
When the "RTMPClient" send metadata (with method publishStreamData), it goes inside other channel (Data channel), this is defined in ConnectionConsumer.java.
I tried setting the data to go inside VideoChannel, like below. But don't worked.
I also figured that RTMPClient uses channel 5, and "Three letter encoder" uses channel 4.
case Constants.TYPE_STREAM_METADATA:
log.trace("Meta data");
Notify notify = new Notify(((Notify) msg).getData().asReadOnlyBuffer());
notify.setHeader(header);
notify.setTimestamp(header.getTimer());
//I set to video for testing
video.write(notify);
break;
Andy Shaules wrote:Why not copy red5's meta data method?----- Original Message -----From: aclarke@...To: red5@...Sent: Tuesday, July 07, 2009 8:08 AMSubject: Re: [Red5] Mondain,Art or other semigod! Helping on metadata for live h264 publisher.Sorry Tiago, but I don't have time to look at this right now.
On Tue, Jul 7, 2009 at 7:49 AM, iMDT - Tiago Jacobs <tiago@...> wrote:
People, I don't care if it take a week to be replied, just put "reply to Tiago" in your todo list :D
It will be a big improvement for everyone using red5 (and not much revolutionaire, because all work was done by paul, with their mp4 code and by art with xuggler), just putting some glue on this pieces.
Thanks so much.
iMDT - Tiago Jacobs wrote:SURPRISE! with "three letters other encoder" it's also give error, and the codecid is 7, when "three letters other encoder" got closed, it restarted with vp6.
But no, it's not working yet, any help will be appreciated.
Notify createdNotify = new Notify();
createdNotify.setTimestamp((int) System.currentTimeMillis());
IoBuffer buf2 = IoBuffer.allocate(1024);
buf2.setAutoExpand(true);
Output out2 = new Output(buf2);
out2.writeString("@setDataFrame");
out2.writeString("onMetaData");
Map<Object, Object> props2 = new HashMap<Object, Object>();
props2.put("videodevice", "Microsoft LifeCam VX-1000");
props2.put("keywords", "");
props2.put("width", (java.lang.Integer) 320);
props2.put("videodatarate", (java.lang.Integer) 200);
props2.put("presetname", "Medium Bandwidth (300 Kbps) - H.264");
props2.put("copyright", "");
props2.put("creationdate", "Mon Jul 06 18:22:19 2009");
props2.put("videocodecid", (java.lang.Integer) 7);
props2.put("author", "");
props2.put("title", "");
props2.put("height", (java.lang.Integer) 240);
props2.put("avcprofile", (java.lang.Integer) 66);
props2.put("avclevel", (java.lang.Integer) 31);
props2.put("description", "");
props2.put("rating", "");
props2.put("framerate", Double.parseDouble("15"));
out2.writeMap(props2, new Serializer());
buf2.flip();
createdNotify.setData(out2.buf());
RTMPMessage msg2 = new RTMPMessage();
msg2.setBody(createdNotify);
_client.publishStreamData(streamId, msg2);
iMDT - Tiago Jacobs wrote:It's known by everyone that i am working on a opensource live encoder, it's ugly and dirty code for now, just to figure the work, after this, i'll rewrite everythin on a beauty code.
Please, may I give a bit of your attention?
I am writing a publisher of H264 live content, and I am having problems with metadata.
I got the packets generated by other "well known encoder" that comes to "ClientBroadcastStream" and deserialized them.
I maked a "reverse" of this, serializing the new packets.
When packet arrive client (the publisher application) I got: "19:52:45:911 - Asynchronous code error - ReferenceError: Error #1069".
Have you seen this error?
I never created a packet from scratch on my whole life, so, it's possible that the error is obvious.
_client is a simple RTMPClient with "published" state (some code from StreamingProxy).
Look my created packet:
Notify createdNotify = new Notify();
IoBuffer buf2 = IoBuffer.allocate(1024);
buf2.setAutoExpand(true);
Output out2 = new Output(buf2);
out2.writeString("@setDataFrame");
out2.writeString("onMetaData");
Map<Object, Object> props2 = new HashMap<Object, Object>();
props2.put("videokeyframe_frequency", (java.lang.Integer) 5);
props2.put("videodevice", "Microsoft LifeCam VX-1000");
props2.put("keywords", "");
props2.put("width", (java.lang.Integer) 320);
props2.put("videodatarate", (java.lang.Integer) 200);
props2.put("presetname", "Medium Bandwidth (300 Kbps) - H.264");
props2.put("copyright", "");
props2.put("creationdate", "Mon Jul 06 18:22:19 2009\n");
props2.put("videocodecid", (java.lang.Integer) 4);
props2.put("author", "");
props2.put("title", "");
props2.put("height", (java.lang.Integer) 240);
props2.put("description", "");
props2.put("rating", "");
props2.put("framerate", Double.parseDouble("15"));
out2.writeMap(props2, new Serializer());
buf2.flip();
createdNotify.setData(out2.buf());
RTMPMessage msg2 = new RTMPMessage();
msg2.setBody(createdNotify);
_client.publishStreamData(streamId, msg2);
_______________________________________________ Red5 mailing list Red5@... http://osflash.org/mailman/listinfo/red5_osflashorg
_______________________________________________ Red5 mailing list Red5@... http://osflash.org/mailman/listinfo/red5_osflashorg
_______________________________________________
Red5 mailing list
Red5@...
http://osflash.org/mailman/listinfo/red5_osflashorg
--
http://www.xuggle.com/
xu‧ggle (zŭ' gl) v. To freely encode, decode, and experience audio and video.
Use Xuggle to get the power of FFmpeg in Java.
_______________________________________________
Red5 mailing list
Red5@...
http://osflash.org/mailman/listinfo/red5_osflash.org
_______________________________________________ Red5 mailing list Red5@... http://osflash.org/mailman/listinfo/red5_osflash.org
_______________________________________________
Red5 mailing list
Red5@...
http://osflash.org/mailman/listinfo/red5_osflash.org
« Return to Thread: Mondain, Art or other semigod! Helping on metadata for live h264 publisher.
| Free embeddable forum powered by Nabble | Forum Help |