[Live-devel] testRTSPClient / H.264 Network Camera Stream

2013-04-05 Thread tboonefisher
THANKS!!! For a VERY NICE library.

I am experimenting with the testRTSPClient app to develop a DirectShow 
source filter to connect to a network camera outputting an H.264
video stream. The app successfully connects to the camera and shows the 
following continuous output:
... 
Stream "rtsp://192.168.1.7:65534/videoSub/"; audio/PCMU:Received 960 
bytes. Presentation time: 1365102232.117119
Stream "rtsp://192.168.1.7:65534/videoSub/"; video/H264:Received 411 
bytes. Presentation time: 1365102232.186298
Stream "rtsp://192.168.1.7:65534/videoSub/"; audio/PCMU:Received 960 
bytes. Presentation time: 1365102232.226244
Stream "rtsp://192.168.1.7:65534/videoSub/"; video/H264:Received 458 
bytes. Presentation time: 1365102232.375975
Stream "rtsp://192.168.1.7:65534/videoSub/"; audio/PCMU:Received 960 
bytes. Presentation time: 1365102232.359869
Stream "rtsp://192.168.1.7:65534/videoSub/"; audio/PCMU:Received 960 
bytes. Presentation time: 1365102232.465869
Stream "rtsp://192.168.1.7:65534/videoSub/"; audio/PCMU:Received 960 
bytes. Presentation time: 1365102232.585744
Stream "rtsp://192.168.1.7:65534/videoSub/"; video/H264:Received 950 
bytes. Presentation time: 1365102232.666086
...

Initially, I am only interested in the video portion of the stream.
Using the library, what is the most efficient way to get access to the H.264 
portion of the stream so that I can copy it downstream
in the FillBuffer(..) method of my source filter?

I have attempted to browse the code to learn how/where to do this, but it is 
not obvious to me;-((

I have (+-)intermediate level C++ skills at best, so any thoughts, suggestions, 
constructive criticism
are(is) greatly appreciated.

Thanks again for a VERY nice library.

Tom Fisher EE
___
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel


Re: [Live-devel] Need your professional opinion on upgrading our product to use your streaming technology

2013-04-08 Thread tboonefisher

Aren't such product(s) already available e.g. http://foscam.us/ and others?

Tom Fisher



From: Amir Guterman
Sent: Monday, April 08, 2013 2:29 PM
To: live-de...@ns.live555.com
Subject: [Live-devel] Need your professional opinion on upgrading our 
product to use your streaming technology


Hi,

I would like to receive your professional opinion on upgrading the current 
streaming technology that we use for our product today, by using your SDK's 
and libraries for streaming to mobile devices.


Brief
We are developing a product that will require a low-latency live video 
camera feed from home to a mobile device, in such way that the user will be 
able to look at the product at any given time as long as the product is 
located near a computer with a USB camera connected to it.


So that generally the customers who buy our product, will also receive a 
software (for Mac or PC), that will stream their webcam or IP camera to 
their phone or tablet over 3G or WiFi, we will also provide an app for each 
mobile platform (Android, iOS, Windows Phone 8) that can play that stream.
The server side should allow only to 1 client to play the stream at a time 
(encryption/authentication is an accepted solution for that matter)


Current technology in use
We are using Adobe Cirrus (aka Stratus) as the current technology for 
transferring low-latency h.264 p2p live video streaming packed in RTMFP 
protocol to mobile devices which support Adobe AIR such as Android 
smartphones and tablets, iPhone and iPad.


This works perfectly, however, Adobe AIR platform is not supported on 
Windows Phone 8.
We want to replace the Adobe technology, with any other solution that you 
can offer me that supports the video formats and protocols that are 
compatible with Android, iOS and WP8 enabled devices.


The modules that we need
The server-side software:
Purpose - To stream the video feed from a camera device (e.g connected USB 
webcam or an IP camera on the local network), UI interface for changing the 
captured device, and connect to a db on a public server to keep track of the 
user's ip at home, so the mobile app will know where to connect.
On Mac: We use XCode to develop cocoa UI application, that will 
interact/integrate with the modules that you'll provide me (hopefully) in 
Objective-C.
On PC: We use Visual Studio .NET to develop the WinForm application, that 
will also interact/integrate with the modules that you'll provide me in a 
form of a API, SDK or even a command line utility (Java solution is also 
welcome).


The client-side app (iPhone/iPad/Android phones & tablets/WP8):
Purpose - To play the live video stream which broadcasted from home over 3G 
network as well as over WiFi.

For Android: We use Eclipse and the ADT SDK.
For iOS: We use XCode to develop the iPhone/iPad app.
For WP8: We use Visual Studio 2012 for Windows Phone.

* I assume that If we choose to work for example with H.264 or H.263 (3GPP, 
MPEG-4) which is supported in most operating systems and mobile devices, 
your solution will be to provide us with the SDK used for encoding and 
streaming the live video (from webcam) as a part of the server-side 
software, and we will use the core functions that come with each platform 
SDK (Android/iOS/WP8) for decoding and playing the specified stream. (e.g 
Android SDK has the VideoView class which is video player control that can 
play RTSP,MPEG-2, H.263, H.264 streams from a remote url)


Best Regards,

--

Amir Guterman

___
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel 


___
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel


Re: [Live-devel] testRTSPClient / H.264 Network Camera Stream

2013-04-09 Thread tboonefisher
Reading further on your site I see that you may need the SDP description
from my camera stream. BTW, I am getting some very jerky but clear video 
frames just by passing the NAL units directly to a MS DTV-DVD Video Decoder 
filter in DirectShow. 
I am soo close!

v=0
o=- 1365522147122142 1 IN IP4 192.168.1.2
s=IP Camera Video
i=videoMain
t=0 0
a=tool:LIVE555 Streaming Media v2013.01.25
a=type:broadcast
a=control:*
a=range:npt=0-
a=x-qt-text-nam:IP Camera Video
a=x-qt-text-inf:videoMain
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
b=AS:96
a=rtpmap:96 H264/9
a=control:track1
m=audio 0 RTP/AVP 0
c=IN IP4 0.0.0.0
b=AS:64
a=control:track2

Thanks again for any help.

Tom Fisher




From: tboonefis...@clear.net 
Sent: Tuesday, April 09, 2013 2:41 PM
To: LIVE555 Streaming Media - development & use 
Subject: Re: [Live-devel] testRTSPClient / H.264 Network Camera Stream

THANKS for the help. Reading the FAQ I see:

“ If you are receiving H.264 video data, there is one more thing that you have 
to do before you start feeding frames to your decoder. H.264 streams have 
out-of-band configuration information ("SPS" and "PPS" NAL units) that you may 
need to feed to the decoder to initialize it. To get this information, call 
"MediaSubsession::fmtp_spropparametersets()" (on the video 'subsession' 
object). This will give you a (ASCII) character string. You can then pass this 
to "parseSPropParameterSets()" (defined in the file 
"include/H264VideoRTPSource.hh"), to generate binary NAL units for your 
decoder.”

Could you be more specific as to when/where that this needs to be done?
Using the DummySink example, when I attempt to call these methods as shown 
below I get nada...


DummySink::DummySink(UsageEnvironment& env, MediaSubsession& subsession, char 
const* streamId)
  : MediaSink(env),
fSubsession(subsession) 
{
fStreamId = strDup(streamId);
fReceiveBuffer = new u_int8_t[DUMMY_SINK_RECEIVE_BUFFER_SIZE];

const char* sps = fSubsession.fmtp_spropparametersets();/// returns NULL
unsigned n_records=0;
SPropRecord* pSPropRecord = parseSPropParameterSets( 
fSubsession.fmtp_spropparametersets(), n_records );

}

Thanks again for ANY help...

Tom Fisher



From: Ross Finlayson 
Sent: Friday, April 05, 2013 7:10 PM
To: LIVE555 Streaming Media - development & use 
Subject: Re: [Live-devel] testRTSPClient / H.264 Network Camera Stream


I am experimenting with the testRTSPClient app to develop a DirectShow 
source filter to connect to a network camera outputting an H.264
video stream. The app successfully connects to the camera and shows the 
following continuous output:
... 
Stream "rtsp://192.168.1.7:65534/videoSub/"; audio/PCMU:Received 960 
bytes. Presentation time: 1365102232.117119
Stream "rtsp://192.168.1.7:65534/videoSub/"; video/H264:Received 411 
bytes. Presentation time: 1365102232.186298
Stream "rtsp://192.168.1.7:65534/videoSub/"; audio/PCMU:Received 960 
bytes. Presentation time: 1365102232.226244
Stream "rtsp://192.168.1.7:65534/videoSub/"; video/H264:Received 458 
bytes. Presentation time: 1365102232.375975
Stream "rtsp://192.168.1.7:65534/videoSub/"; audio/PCMU:Received 960 
bytes. Presentation time: 1365102232.359869
Stream "rtsp://192.168.1.7:65534/videoSub/"; audio/PCMU:Received 960 
bytes. Presentation time: 1365102232.465869
Stream "rtsp://192.168.1.7:65534/videoSub/"; audio/PCMU:Received 960 
bytes. Presentation time: 1365102232.585744
Stream "rtsp://192.168.1.7:65534/videoSub/"; video/H264:Received 950 
bytes. Presentation time: 1365102232.666086
...

Initially, I am only interested in the video portion of the stream.
Using the library, what is the most efficient way to get access to the H.264 
portion of the stream


Because this is a Frequently Asked Question, I have now added an entry for it 
to the FAQ.  See: 
http://www.live555.com/liveMedia/faq.html#testRTSPClient-how-to-decode-data



Ross Finlayson
Live Networks, Inc.
http://www.live555.com/ 



___
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel___
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel


Re: [Live-devel] testRTSPClient / H.264 Network Camera Stream

2013-04-09 Thread tboonefisher

   It must also be VERY frustrating to see these companies making $$$
from your very nice work !!!

Tom Fisher


-Original Message- 
From: tboonefis...@clear.net

Sent: Tuesday, April 09, 2013 6:05 PM
To: LIVE555 Streaming Media - development & use
Subject: Re: [Live-devel] testRTSPClient / H.264 Network Camera Stream

   This is BAD news as the camera is:

http://foscam.us/products/foscam-fi9821w-megapixel-wireless-ip-camera.html

   I am just an end-user and thus probably have little influence on them. I
will send them
the info that you suggest but I will be very surprised IF they respond. They
have their own ‘plug-in’ that works pretty well in IE and other apps.

   Are there any other possible work-arounds? Is possible that they are
using
MEDIASUBTYPE_AVC1 'AVC1' H.264(without start codes)? I did try
this(GetMediatype()), but
I have no decoders that will connect to that.ughh.

Thanks very much for your help...

Tom Fisher
Dallas

From: Ross Finlayson
Sent: Tuesday, April 09, 2013 5:38 PM
To: LIVE555 Streaming Media - development & use
Subject: Re: [Live-devel] testRTSPClient / H.264 Network Camera Stream


   Reading further on your site I see that you may need the SDP description
from my camera stream.
[...]

v=0
o=- 1365522147122142 1 IN IP4 192.168.1.2
s=IP Camera Video
i=videoMain
t=0 0
a=tool:LIVE555 Streaming Media v2013.01.25
a=type:broadcast
a=control:*
a=range:npt=0-
a=x-qt-text-nam:IP Camera Video
a=x-qt-text-inf:videoMain
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
b=AS:96
a=rtpmap:96 H264/9
a=control:track1
m=audio 0 RTP/AVP 0
c=IN IP4 0.0.0.0
b=AS:64
a=control:track2


OK, the bug here is in your server - i.e., the camera; not the client.  The
camera (server) isn't including a "sprop-parameter-strings" parameter (in a
"a=fmtp:96..." line) in the SDP description.

Fortunately, however, I see that the camera (server) is also implemented
using our software, so it should be easy to fix.  Please tell whoever
developed your camera to:
(1) Upgrade to the latest version of the "LIVE555 Streaming Media" software,
and
(2) Either insert "SPS" and "PPS" NAL units at the start of the H.264 Video
stream (that it feeds into the "H264VideoRTPSink" object, or else change the
way that the "H264VideoRTPSink" object is created - to use one of the forms
of the "H264VideoRTPSink::createNew()" function that take "SPS"/"PPS" NAL
unit information as a parameter (either as raw binary NAL units, or a
"sPropParameterSetsStr" string).

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/



___
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel 


___
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel


Re: [Live-devel] testRTSPClient / H.264 Network Camera Stream

2013-04-10 Thread tboonefisher
Thanks Colin. The fact that I do get some very jerky but clear video 
rendered, does make me suspicious that I’m not
implementing my DS source filter correctly. In particular I’m looking closely 
at GetMediaType(..), etc method(s). As I said, 
my skills are weak/intermediate in this stuff, so any tips from the “Pros” are 
greatly appreciated. 

Question...is it OK for me to post some of my DirectShow code here so that 
you might be able so see if/where I’m
going wrong ???


Tom Fisher


From: Colin Caughie 
Sent: Wednesday, April 10, 2013 12:26 PM
To: LIVE555 Streaming Media - development & use 
Subject: Re: [Live-devel] testRTSPClient / H.264 Network Camera Stream

I’ve also worked with cameras that don’t send sprop-parameter-sets in the SDP 
file (but not using the Live555 client); this shouldn’t be a problem as long as 
the camera does send SPS and PPS in band. The fact that you are able to decode 
and display the raw NALUs using DirectShow would indicate that it is (decoding 
would fail otherwise), so perhaps your problem is elsewhere?

 

Colin Caughie

Chief Software Architect

(509) 232-5261 ext 5914

 

What is heroic customer service?

 

 ** NOTICE **
The information contained in this e-mail and any attached documents may be 
privileged, confidential and protected from disclosure. If you are not the 
intended recipient you may not read, copy, distribute or use this information. 
If you have received this communication in error, please notify the sender 
immediately by replying to this message and then delete it from your system.

 

From: live-devel-boun...@ns.live555.com 
[mailto:live-devel-boun...@ns.live555.com] On Behalf Of Ross Finlayson
Sent: Tuesday, April 09, 2013 5:05 PM
To: LIVE555 Streaming Media - development & use
Subject: Re: [Live-devel] testRTSPClient / H.264 Network Camera Stream

 

It must also be VERY frustrating to see these companies making $$$
  from your very nice work !!!

 

On the contrary - I am *happy* to see many companies making successful use of 
this software.  That's why I made it available.

 

 

This is BAD news as the camera is:

  http://foscam.us/products/foscam-fi9821w-megapixel-wireless-ip-camera.html

 

What does frustrate me, however, is that so many of the companies that have 
successfully used this software in their products have avoided making use of 
the support offered by this mailing list.  In particular, nobody from "Foscam" 
appears to be on this mailing list.

 





  I am just an end-user and thus probably have little influence on them. I
will send them
the info that you suggest but I will be very surprised IF they respond.

 

Please also check whether you have the latest firmware for your camera.  
Firmware upgrades for Foscam camera can apparently be downloaded from: 
http://foscam.us/firmware

 

 

Are there any other possible work-arounds?

 

No.  The problem is with the camera.

 

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/ 

 




___
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel
___
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel


Re: [Live-devel] How To Decode This Camera Stream

2013-04-12 Thread tboonefisher
   FINALLY got it working!! Typical rookie mistakes including but not 
limited to trying to use a 32bit FFDShow filter in a 64bit app!! DUH!
When I substituted the FFDShow MP4 decoder for the  MS DTV-DVD Video 
Decoder, everything works well. Now just need to clean
up the code. Actually works better and is faster than VLC for the same rtsp 
URL.


Thanks again for a very nice library and your tolerance of a rookie...

Tom Fisher MD EE

-Original Message- 
From: tboonefis...@clear.net

Sent: Friday, April 12, 2013 9:58 AM
To: LIVE555 Streaming Media - development & use
Subject: Re: [Live-devel] How To Decode This Camera Stream

   As I previously posted, I am trying to write a Direct Show source filter
using code adapted from the example testRTSPClient to display the video
stream from the following Foscam camera. As you pointed out, Foscam is using
an outdated version of the Live555 server that is not sending appropriate
start codes. Despite this, when I  pass the NAL units directly from my
source filter to a connected Microsoft DTV-DVD Video Decoder, I get "good"
video for the first few seconds and then the frames start getting "mixed up"
for lack of a better description. The video is displayed correctly albeit
with a great amount of latency when using VLC. I will be happy to post the
appropriate segments of my code here if anyone can help me with it. It will
be greatly appreciated.

   The following link is a live demo stream from the same model camera at
Foscam so anyone interested can take a look at what I'm dealing with:

rtsp://user:user@218.17.160.187:8082/videoMain

Tom Fisher


___
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel


Re: [Live-devel] Support required for Live555 Media Server

2013-04-13 Thread tboonefisher
What is the best *free* DirectShow H.264 decoder filter?

TF


From: Ross Finlayson 
Sent: Saturday, April 13, 2013 9:16 AM
To: LIVE555 Streaming Media - development & use 
Subject: Re: [Live-devel] Support required for Live555 Media Server

  1.   We want to run two instances of Live555 Media Server in a system 
simultaneously with two different IP addresses. Example one with 192.168.1.2 
and other with 10.0.0.2.
  Is it possible and how can we achieve this?

You *might* be able to do this by setting "SendingInterfaceAddr" and 
"ReceivingInterfaceAddr" in the instance of the server that you want to use the 
non-default (i.e., non-multicast-enabled) IP address.  This does not work 
reliably on all OS's, however.



  2.   Can you please tell us whether running Live555 Media Sever on 
different configuration systems will affect the number of RTSP streams it can 
stream to multiple clients.

I've already answered this.  For the last time: 
http://www.live555.com/liveMedia/faq.html#scalability


  Is Live555 Media Server is CPU intensive application?

No.



Ross Finlayson
Live Networks, Inc.
http://www.live555.com/ 





___
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel
___
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel


Re: [Live-devel] Access violationduring ReorderPacketBuffer::freepacket

2013-04-21 Thread tboonefisher

  >Unfortunately the cameras themselves are purchased both by us and resold and 
out of band by the customer.
  >Some can and are willing to update, others are not even open to it.

>However, if the camera is using the "LIVE555 Streaming Media" software, then - 
>under the terms of the LGPL - their manufacturer *must* provide a way to 
>upgrade this software.  Please remind them of this.

>In any case, the only reason why you ever saw the "Hit limit when reading 
>incoming packet over TCP" was because the camera's data rate exceeded the 
>capacity of the network (between the camera and >your >client).  If this 
>happens, you WILL lose data.  Nothing - not even the use of RTP-over-TCP - can 
>prevent this.  (Upgrading the camera's software will merely make the data loss 
>happen a little more >cleanly.)

>If your camera's data rate exceeds the capacity of your network, you 
>(obviously) need to reduce the camera's data rate.


So this applies to Foscam? I forwarded your comments to their tech support 
and so
far, have no response.

T Fisher___
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel


Re: [Live-devel] testRTSPClient / H.264 Network Camera Stream

2013-04-26 Thread tboonefisher


From: Ross Finlayson 
Sent: Friday, April 05, 2013 7:10 PM
To: LIVE555 Streaming Media - development & use 
Subject: Re: [Live-devel] testRTSPClient / H.264 Network Camera Stream

  I am experimenting with the testRTSPClient app to develop a DirectShow 
source filter to connect to a network camera outputting an H.264
  video stream. The app successfully connects to the camera and shows the 
following continuous output:
  ... 
  Stream "rtsp://192.168.1.7:65534/videoSub/"; audio/PCMU:Received 960 
bytes. Presentation time: 1365102232.117119
  Stream "rtsp://192.168.1.7:65534/videoSub/"; video/H264:Received 411 
bytes. Presentation time: 1365102232.186298
  Stream "rtsp://192.168.1.7:65534/videoSub/"; audio/PCMU:Received 960 
bytes. Presentation time: 1365102232.226244
  Stream "rtsp://192.168.1.7:65534/videoSub/"; video/H264:Received 458 
bytes. Presentation time: 1365102232.375975
  Stream "rtsp://192.168.1.7:65534/videoSub/"; audio/PCMU:Received 960 
bytes. Presentation time: 1365102232.359869
  Stream "rtsp://192.168.1.7:65534/videoSub/"; audio/PCMU:Received 960 
bytes. Presentation time: 1365102232.465869
  Stream "rtsp://192.168.1.7:65534/videoSub/"; audio/PCMU:Received 960 
bytes. Presentation time: 1365102232.585744
  Stream "rtsp://192.168.1.7:65534/videoSub/"; video/H264:Received 950 
bytes. Presentation time: 1365102232.666086
  ...

  Initially, I am only interested in the video portion of the stream.
  Using the library, what is the most efficient way to get access to the H.264 
portion of the stream

>>Because this is a Frequently Asked Question, I have now added an entry for it 
>>to the FAQ.  See: 
>>http://www.live555.com/liveMedia/faq.html#testRTSPClient-how-to-decode-data

Re-reading your explanation above, in my ContinueAfterSETUP method,  should I 
do the following:

unsigned n_records=0;
const char* sps = scs.subsession->fmtp_spropparametersets();
SPropRecord* pSPropRecord = parseSPropParameterSets( sps, n_records );

Now what do I send to my downstream decoder ??

Thanks,

Tom Fisher






___
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel


[Live-devel] Is RealAudio Or SaveFrom.net Using Live555 ?

2014-01-11 Thread TBooneFisher

   Ross, do you happen to know if either http://www.real.com/realdownloader
or http://en.savefrom.net/ are using Live555? The reason that I ask is
that Realdownloader is having a problem with YouTube streams that SaveFrom
is not. The .mp4 files that Realdownloader creates from YouTube are missing
audio but will play with VLC. They will not play at all with Win7 
MediaPlayer.

SaveFrom downloads work fine with MP & VLC. Of course, Real blames the
problem on YouTube and states that only their RealPlayer will play the 
files;-)

Your thoughts?

Tom Fisher

___
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel