Welcome Guest! To enable all features, please Login or Register.

Notification

Icon
Error

Options
View
Last Go to last post Unread Go to first unread post
#1 Posted : Sunday, December 28, 2008 4:44:51 PM(UTC)

ahisis  
ahisis

Groups: Registered
Posts: 6


Hi, I am required to convert a live TCP stream with some KLV data from another source and stream the final output out. I use the Demo applications but not sure if I did it wrongly or misread the API...

1) LEAD Network Server to stream my desktop (with address of 192.168.199.1:27015)
2) KLV Converter (I modified such that it added in 5 KLV data every sec), source stream is tcp://192.168.199.1:27015 and target stream is tcp://192.168.199.1:111.
3) MPEG2Transport is streaming to 192.168.199.1:111 so that I can see the KLV data from the stream
4) Error is shown at MPEG2Transport - "LTMM Error: A non-blocking socket operation could not be completed immediately"

Any advise regarding this? Do I need to modify the demo codes?

Thanks!

 

Try the latest version of LEADTOOLS for free for 60 days by downloading the evaluation: https://www.leadtools.com/downloads

Wanna join the discussion? Login to your LEADTOOLS Support accountor Register a new forum account.

#2 Posted : Tuesday, December 30, 2008 5:39:22 AM(UTC)
Maen Hasan

Groups: Registered, Tech Support
Posts: 1,326

Was thanked: 1 time(s) in 1 post(s)

By default, the KLV data is not re-streamed in our demos. You must add the code that re-streams it. To do that, use the ILMMpgDmxCallback and ILMKlvParser interfaces of the LEAD MPEG2 Transport Demultiplexer to retrieve the data from the source stream. You can then add them to the target stream using the ILMKlvBuilder Interface of the LEAD MPEG2 Transport Multiplexer.

Thanks,
Maen Badwan
LEADTOOLS Technical Support
 
#3 Posted : Sunday, January 4, 2009 8:02:06 PM(UTC)

ahisis  
ahisis

Groups: Registered
Posts: 6


Sound good to me, Right now, I am trying to reuse the VideoConferencing demo project such that when i start the server, it will stream and add KLV data into the live stream. In the project, under MainForm.cs and _menuItemServerStart_Click method, i used the AxltmmCaptureCtrl object and try to initiate a LEAD MPEG2 Transport Multiplexer object.

LMMpg2MxT mpMux = (LMMpg2MxT) axCaptureCtrl.getSubObject(13);

I hit an error saying interface is not supported, i try using getSubObjectDispatch(), the same error occurred.

Can u please advise if
1) it is possible to add KLV data in live streaming applications using the ltmmCapture interface?
2) otherwise, is there any sample codes such that ltmmCapture interface can add KLV data? Should I use the exisitng ltmmCapture object or instantiate a new one?
3) is the API able to display live streaming with KLV data embedded?

Thanks!

 

 
#4 Posted : Monday, January 5, 2009 6:53:37 AM(UTC)

Adnan Ismail  
Guest

Groups: Guests
Posts: 3,022

Was thanked: 2 time(s) in 2 post(s)

Can you tell me which demo did you modify? From your post it seems you are modifying the C# Video Conferencing demo, is this correct? Also, which version of LEADTOOLS v15 or v16 are you using?demo?
 
#5 Posted : Monday, January 5, 2009 4:16:58 PM(UTC)

ahisis  
ahisis

Groups: Registered
Posts: 6


Hi, I am using C# Video Conferencing demo project in v16. Also, I am trying to add in KLV data while capturing live streaming. Thanks a lot!
 
#6 Posted : Wednesday, January 7, 2009 4:28:16 PM(UTC)

ahisis  
ahisis

Groups: Registered
Posts: 6


Hi Team,

Can u please advise if
1) it is possible to add KLV data in live streaming applications using the ltmmCapture interface? is there any sample codes such that ltmmCapture interface can add KLV data? Should I use the exisitng ltmmCapture object or instantiate a new one?
2) is the API able to display live streaming with KLV data embedded?

Regards.

 
#7 Posted : Thursday, January 8, 2009 3:27:21 AM(UTC)

ahisis  
ahisis

Groups: Registered
Posts: 6


I am not too familiar with the API. Does LEAD MPEG2 Transport Multiplexer's ltmmCapture which stream live using StartCapture() method, can also use WritePrivateData()? How should ILMKlvBuilder interface should be called through ltmmCapture?
 
#8 Posted : Thursday, January 8, 2009 7:40:54 AM(UTC)
Maen Hasan

Groups: Registered, Tech Support
Posts: 1,326

Was thanked: 1 time(s) in 1 post(s)

First, you are trying to use our video conferencing demos which use the network filters. These do not use MPEG2 transport and do not support klv. You need to use the UDP filters. Basically, you need to modify MPEG2 Transport demos, NOT the conferencing demos.
You can find the MPEG2 Transport demo on the following folder on your machine:
[LEADTOOLS Multimedia 16]\Examples\Ltmm\Dotnet\CS\MPEG2Transport

About displaying server live streaming with KLV data, you should be able to set the targetformat to ltmmCapture_TargetFormat_MPEG2_TRANSPORT and set the targetfile to udp://....
The new transport multiplexor will allow you to manually add KLV.

Please provide me with details about what exactly you are trying to do, so that I can provide you with the information that you need.

Thanks,
Maen Badwan
LEADTOOLS Technical Support
 
#9 Posted : Tuesday, January 13, 2009 7:28:10 PM(UTC)

ahisis  
ahisis

Groups: Registered
Posts: 6


Hi,

I would like to embed some KLV data to a live stream. I can do it either these 2 ways
a) Use LtmmCapture to do live capture and encode KLV at the same time
b) Firstly, do LtmmCapture to live capture to stream out using network filter. Second, get the stream and use LtmmConvert to encode KLV. Then, the end result is stream out to a different port

For (a), i have tried to code using UDP filters for the MPEG2 transport to do the streaming but i could not locate the LMUDPSnk or LMUPSrc libraries in the evaluation package v16. So I attempted with (b).

This is what I tested using v16 demos but in C++ for a standalone desktop...
1) Launch Net Server with these settings
         Video Device: LEAD Screen Catpure (2.0)
         Audio Device: None
         Pre-defined Settings: H264 128K Frames/Second Most Important
         Video Compressor: LEAD H264 Encoder (4.0)
         Audio Compressor: LEAD AMR Encoder
         Connection: Default (192.168.199.1:27015)
2) Launch KLV Converter with these settings
         Source: tcp://192.168.199.1:27015
         Target: tcp://192.168.199.1:8501
         Audio Compressor: LEAD MPEG Audio Encoder (2.0)
         Video Compressor: LEAD MPEG2 Encoder (3.0)
         Processing Filters (Video & Audio) : Nothing
         Conver Streams: Audio and Video are checked
3) Launch MPEG2Transport with these settings
         Open Stream: tcp://192.168.199.1:8501 (Omitted Network card)

I hit an error message, "LTMM Error: A non-blocking socket operationcould not be completed immediately." If my source is an normal avi file in KLV Converter, it can be converted to add KLV data and stream out in MPEG2Transport successfully.

It would be great if you can provide the following
i) A simple MPEG2 Transport demo which can do live capture using LEAD MPEG2 Transport UDP Source and Sink filters, as well as writing private data (KLV data)
ii) Resolve the error message I have mentioned above. Do I need to configure somethings in those demos or my desktop to resolve the error?

Thanks a lot!

 
#10 Posted : Thursday, January 15, 2009 4:43:02 AM(UTC)
Maen Hasan

Groups: Registered, Tech Support
Posts: 1,326

Was thanked: 1 time(s) in 1 post(s)

Please check the following demo:
[LEADTOOLS Multimedia 16]\Examples\Ltmm\Dotnet\CS\ConvertKLV

This demo shows how to use ltmmConvert object to write a KLV data.
Please try to use the same code with LtmmCapture object.

Thanks,
Maen Badwan
LEADTOOLS Technical Support
 
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

Powered by YAF.NET | YAF.NET © 2003-2024, Yet Another Forum.NET
This page was generated in 0.131 seconds.