Jade Royston | 24 Apr 19:43 2015

Error message and static in playback

I am outputting AVI files from openRTSP, only 30 second files to test it out. It is working for the first couple videos, snapshot of video shows up a icon for saved file. Then the icons changed to general video files and an error message shows up when trying to open:

error occured
could not demultiplex the stream

ALSO what is very weird to me, I see the file that is being currently being output and open it in videos. The picture and audio sounds great. THEN when the file is completed and I open the same one the audio is low and constantly static. I'm not sure what is causing these issues. The input command I have is below:

openRTSP -t -i -P 30 -h 1080 -w 1920 -y -f 25 'rtsp://24.196.72.222:1080/user=guest&password=guest&channel=1&stream=0.sdp?'

Can someone try this and see if you are having the same problems?

I just did this and the first 2 outputs showed up as the snapshot images for the icon and I was able to playback in videos BUT with the terrible audio static covering it. Then the following one was a general video icon and it was 1 second long, then all the ones after had the general video icon and showed the error could not demulitplex the stream.

Is this a storage issue for the demultiplex stream message? 

And I am somewhat lost with the static audio because when I open the file WHILE it's being output the audio is fine. Then the file is completed and the next output shows up, I open the same file that is now complete and the audio sucks.

Any help?
Thanks




Jade Royston
Founder
Eye in the Sky Sports LLC.

phone: (608)-432-2083
_______________________________________________
live-devel mailing list
live-devel <at> lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel
Ran Shalit | 24 Apr 00:02 2015

Disable RTSP

Hello,

 

I would please like to ask if there is an option to disable RTSP server or client ( and give the server/client information manually if needed).

This is required ,for example, in cases where the opposite side is also not using RTSP client/server.

I have review the faq of live555, but found no comments on this, but seen it mentioned in the mailing list as a capability  (though not recommended).

For the matter of this question the stream is  mpeg-ts over RTP for example.

 

Thank you,

Ran

 

 

 

 

_______________________________________________
live-devel mailing list
live-devel <at> lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel
Jade Royston | 23 Apr 23:22 2015

Failed to get a SDP description for the URL

Hello

I am trying the have a stream give periodic output files every minute as avi files and I am getting the error that it fails to get a SDP description for the URL and that the -iP command cannot be found. I have also tried these commands by themselves and it fails to get the SDP description also.

The command I input is:

openRTSP rtsp://24.196.72.222:1080/user=guest&password=guest&channel=1&stream=0.sdp? -iP 60 > ~/record/output.avi

The return message is receive is:

[1]   30941
[2]   30942
[3]   30943
Opening connection to 24.196.72.222,  port 1080.....
...remote connection opened
Sending request:  OPTIONS rtsp://24.196.72.222:1080/user=guest RTSP/1.0
CSeq:  2
User-Agent: openRTSP (LIVE555 Streaming Medie v2014.01.13)


Received 121 new bytes of response data.
Received a complete OPTIPNS response:
RTSP/1.0  200   OK
Server:  H264DVR 1.0
cseq:   2 
Public:   OPTIONS, DESCRIBE, SETUP, TEARDOWN, GET_PARAMETER, PLAY, PAUSE


Sending request:  DESCRIBE rtsp://24.196.72.222:1080/user=guest RTSP/1.0
CSeq:  3
User-Agent: openRTSP (LIVE555 Streaming Media v2014.01.13)
Accept: application/sdp

Received 52 new bytes of response data.
Received a complete DESCRIBE response:
RTSP/1.0 451 ERROR
Server: H264DVR 1.0
cseq:  3

Failed to get a SDP description for the URL "rtsp://24.196.72.222:1080/user=guest":451 ERROR
-i: command not found
[1]   Exit 1                               openRTSP rtsp://24.196.72.222:1080/user=guest
[2]-  Done                                password=guest
[3]+ Done                                channel=1

new command line shows

Help is appreciated,

Jade Royston

_______________________________________________
live-devel mailing list
live-devel <at> lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel
Niels Ole Salscheider | 23 Apr 21:02 2015
Picon

Replace old Makefile rules

Hi,

the attached patch is necessary to compile live with newer versions of make.

Ole
_______________________________________________
live-devel mailing list
live-devel <at> lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel
Braden Ackerman | 22 Apr 22:53 2015

Updated iOS configs

It seems the syntax for Apple's (not GNU) libtool has changed.

These configs should work better for those trying to build for iphoneos or iphone-simulator:


----- iphoneos -----


# **Note: You must install the relevant "Command line tools (OSX *.*) for Xcode - Xcode *.*"
# for this configuration file to work.
#
# Change the following version number, if necessary, before running "genMakefiles iphoneos"
IOS_VERSION = 8.3

DEVELOPER_PATH = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer
TOOL_PATH = $(DEVELOPER_PATH)/usr/bin
SDK_PATH = $(DEVELOPER_PATH)/SDKs
SDK = $(SDK_PATH)/iPhoneOS$(IOS_VERSION).sdk
COMPILE_OPTS =          $(INCLUDES) -I. $(EXTRA_LDFLAGS) -DBSD=1 -O2 -DSOCKLEN_T=socklen_t -DHAVE_SOCKADDR_LEN=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -fPIC -arch armv7 --sysroot=$(SDK)
C =                     c
C_COMPILER =            /usr/bin/xcrun clang
C_FLAGS =               $(COMPILE_OPTS)
CPP =                   cpp
CPLUSPLUS_COMPILER =    /usr/bin/xcrun clang
CPLUSPLUS_FLAGS =       $(COMPILE_OPTS) -Wall
OBJ =                   o
LINK =                  /usr/bin/xcrun clang -o 
LINK_OPTS =             -v -L. -arch armv7 --sysroot=$(SDK) -L$(SDK)/usr/lib/system /usr/lib/libc++.dylib
CONSOLE_LINK_OPTS =     $(LINK_OPTS)
LIBRARY_LINK =          /usr/bin/xcrun libtool -static -o 
LIBRARY_LINK_OPTS =
LIB_SUFFIX =            a
LIBS_FOR_CONSOLE_APPLICATION =
LIBS_FOR_GUI_APPLICATION =
EXE =


----- iphone-simulator -----

# **Note: You must install the relevant "Command line tools (OSX *.*) for Xcode - Xcode *.*"
# for this configuration file to work.

# Change the following version number, if necessary, before running "genMakefiles iphone-simulator"
IOS_VERSION = 8.3
MIN_IOS_VERSION = 7.0

DEVELOPER_PATH = /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer
TOOL_PATH = $(DEVELOPER_PATH)/usr/bin
SDK_PATH = $(DEVELOPER_PATH)/SDKs
SDK = $(SDK_PATH)/iPhoneSimulator$(IOS_VERSION).sdk
COMPILE_OPTS =          $(INCLUDES) -I. $(EXTRA_LDFLAGS) -DBSD=1 -O2 -DSOCKLEN_T=socklen_t -DHAVE_SOCKADDR_LEN=1 -miphoneos-version-min=$(MIN_IOS_VERSION) -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -fPIC -arch i386 --sysroot=$(SDK) -isysroot $(SDK)
C =                     c
C_COMPILER =            /usr/bin/xcrun clang
C_FLAGS =               $(COMPILE_OPTS)
CPP =                   cpp
CPLUSPLUS_COMPILER =    /usr/bin/xcrun clang
CPLUSPLUS_FLAGS =       $(COMPILE_OPTS) -Wall
OBJ =                   o
LINK =                  /usr/bin/xcrun clang -o
LINK_OPTS =             -L. -arch i386 -miphoneos-version-min=$(MIN_IOS_VERSION) --sysroot=$(SDK) -isysroot -L$(SDK)/usr/lib/system -I$(SDK)/usr/lib /usr/lib/libc++.dylib
CONSOLE_LINK_OPTS =     $(LINK_OPTS)
LIBRARY_LINK =          /usr/bin/xcrun libtool -static -o 
LIBRARY_LINK_OPTS =
LIB_SUFFIX =            a
LIBS_FOR_CONSOLE_APPLICATION =
LIBS_FOR_GUI_APPLICATION =
EXE =








----- bash script to build all archs, if anyone finds this useful -----

##### --> universal library for iOS live555 build script by Braden Ackerman (braden.ackerman <at> gmail.com) <-- #####


# **NOTE: 'Command Line Tools' (appropriate for iOS SDK version and MacOSX version) must be installed for this script to work.

# When this script completes, you should be left with a folder 'lib' which containts universal libs for the archs in PHONEARCHS + PCARCHS

LIVEFILE=live555-latest.tar.gz

PHONEARCHS=( armv7 armv7s arm64 )

LIBNAMES=( libliveMedia.a libgroupsock.a libUsageEnvironment.a libBasicUsageEnvironment.a )

PCARCHS=( i386 x86_64 )

ROOTDIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )




####### -- First, we'll download the live555 source and extract it to the current directory

curl http://www.live555.com/liveMedia/public/$LIVEFILE > $LIVEFILE



####### --- Second, make some arm libs

rm -r -f arms

mkdir $ROOTDIR/arms

for i in ${PHONEARCHS[ <at> ]}

do

rm -r -f live

tar -zxvf $LIVEFILE

chmod -R u+rwX,a+rX live

echo $i

sed -i.bak 's/armv7/'$i'/g' live/config.iphoneos

cd live

./genMakeFiles iphoneos

make

cd liveMedia

mkdir $ROOTDIR/arms/$i

cp libliveMedia.a $ROOTDIR/arms/$i

cd ..

cd groupsock

mkdir $ROOTDIR/arms/$i

cp libgroupsock.a $ROOTDIR/arms/$i

cd ..

cd UsageEnvironment

mkdir $ROOTDIR/arms/$i

cp libUsageEnvironment.a $ROOTDIR/arms/$i

cd ..

cd BasicUsageEnvironment

mkdir $ROOTDIR/arms/$i

cp libBasicUsageEnvironment.a $ROOTDIR/arms/$i

cd ..

cd ..

done




####### --- Third, copy our headers for use with the static libraries we’re using 


mkdir $ROOTDIR/include


mkdir $ROOTDIR/include/BasicUsageEnvironment

cd $ROOTDIR/live/BasicUsageEnvironment/include

cp *.hh $ROOTDIR/include/BasicUsageEnvironment


mkdir $ROOTDIR/include/UsageEnvironment

cd $ROOTDIR/live/UsageEnvironment/include

cp *.hh $ROOTDIR/include/UsageEnvironment


mkdir $ROOTDIR/include/groupsock

cd $ROOTDIR/live/groupsock/include

cp *.hh $ROOTDIR/include/groupsock


mkdir $ROOTDIR/include/liveMedia

cd $ROOTDIR/live/liveMedia/include

cp *.hh $ROOTDIR/include/liveMedia


cd $ROOTDIR/



####### --- Fourth, make some PC libs

rm -r -f $ROOTDIR/pc

mkdir $ROOTDIR/pc

for i in ${PCARCHS[ <at> ]}

do

rm -r -f live

tar -zxvf $LIVEFILE

chmod -R u+rwX,a+rX live

echo $i

sed -i.bak 's/i386/'$i'/g' live/config.iphone-simulator

cd live

./genMakeFiles iphone-simulator

make

cd liveMedia

mkdir $ROOTDIR/pc/$i

cp libliveMedia.a $ROOTDIR/pc/$i

cd ..

cd groupsock

mkdir $ROOTDIR/pc/$i

cp libgroupsock.a $ROOTDIR/pc/$i

cd ..

cd UsageEnvironment

mkdir $ROOTDIR/pc/$i

cp libUsageEnvironment.a $ROOTDIR/pc/$i

cd ..

cd BasicUsageEnvironment

mkdir $ROOTDIR/pc/$i

cp libBasicUsageEnvironment.a $ROOTDIR/pc/$i

cd ..

cd ..

done


###### Fifth, we'll LIPO together all of our libraries

mkdir $ROOTDIR/lib


for i in ${LIBNAMES[ <at> ]}

do

lipo -output $ROOTDIR/lib/$i  -create \

-arch armv7 $ROOTDIR/arms/armv7/$i \

-arch armv7s $ROOTDIR/arms/armv7s/$i \

-arch arm64 $ROOTDIR/arms/arm64/$i \

-arch i386 $ROOTDIR/pc/i386/$i \

-arch x86_64 $ROOTDIR/pc/x86_64/$i

done






##### Sixth, clean up our mess

rm -r -f $ROOTDIR/arms

rm -r -f $ROOTDIR/pc

rm -r -f $ROOTDIR/live

rm -f $ROOTDIR/$LIVEFILE
















_______________________________________________
live-devel mailing list
live-devel <at> lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel
Kirill Zhegulev | 22 Apr 20:33 2015

Leaking ReorderingBuffer packets in MultiFramedRTPSource.cpp on doStopGettingFrames [patch provided]

Hi.

- MultiFramedRTPSource::networkReadHandler1() gets freePacket when it is called. (now fSavedPacketFree==False)
- usually it will call fReorderingBuffer->freePacket(bPacket); either directly or indirectly at the
end, 
- however if packetReadWasIncomplete function exits earlier. At this point fPacketReadInProgress
holds the allocated packet, and fSavedPacketFree==False
- if close() is called at this point MultiFramedRTPSource::doStopGettingFrames() will call
ReorderingPacketBuffer::reset(), but since fSavedPacketFree==False, delete fSavedPacket won’t happen.

Suggested patch:
 <at>  <at>  -105,6 +105,10  <at>  <at> 
}

void MultiFramedRTPSource::doStopGettingFrames() {
+  if (fPacketReadInProgress != NULL) {
+    fReorderingBuffer->freePacket(fPacketReadInProgress);
+    fPacketReadInProgress = NULL;
+  }
  envir().taskScheduler().unscheduleDelayedTask(nextTask());
  fRTPInterface.stopNetworkReading();
  fReorderingBuffer->reset();

_______________________________________________
live-devel mailing list
live-devel <at> lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel
Ran Shalit | 22 Apr 14:25 2015

mpeg-ts over UDP

 

Hello,

I would please like to ask if live555 can be used for streaming mpeg-ts over UDP (without RTP).
Is there testProg or other example/readme for this ?

Thank you very much,
Ran

 

============================================

Ran Shalit, Software, Embedded Division

Office: +972 (77) 3604334 | Mobile: +972 (54) 9988056

Address: Yokneam, Israel

E-mail: Ran.Shalit <at> Comm-It.Com

 

 

 

_______________________________________________
live-devel mailing list
live-devel <at> lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel
PF Melamed | 20 Apr 08:25 2015

How to Streaming H264

Hi

I am working on a RTSP RTP-over-TCP H264 streaming application from a live HW-based encoder.

 

I am sure , there is somewhere a example code, please any reference, web....

 

Thanks

PF

 

_______________________________________________
live-devel mailing list
live-devel <at> lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel
Luca Ceresoli | 16 Apr 12:15 2015
Picon

[PATCH] live555: force link creation during installation

If live555 is being installed over a previous installation, ln -s fails:
  ln: failed to create symbolic link '.../lib/libliveMedia.so.38': File exists

Signed-off-by: Luca Ceresoli <luca <at> lucaceresoli.net>
---
 BasicUsageEnvironment/Makefile.tail | 4 ++--
 UsageEnvironment/Makefile.tail      | 4 ++--
 groupsock/Makefile.tail             | 4 ++--
 liveMedia/Makefile.tail             | 4 ++--
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/BasicUsageEnvironment/Makefile.tail b/BasicUsageEnvironment/Makefile.tail
index 84de5df..cb4e74c 100644
--- a/BasicUsageEnvironment/Makefile.tail
+++ b/BasicUsageEnvironment/Makefile.tail
 <at>  <at>  -37,7 +37,7  <at>  <at>  install1: libBasicUsageEnvironment.$(LIB_SUFFIX)
 	  install -m 644 include/*.hh $(DESTDIR)$(PREFIX)/include/BasicUsageEnvironment
 	  install -m 644 libBasicUsageEnvironment.$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)
 install_shared_libraries: libBasicUsageEnvironment.$(LIB_SUFFIX)
-	  ln -s $(NAME).$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)/$(NAME).$(SHORT_LIB_SUFFIX)
-	  ln -s $(NAME).$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)/$(NAME).so
+	  ls -fs $(NAME).$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)/$(NAME).$(SHORT_LIB_SUFFIX)
+	  ls -fs $(NAME).$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)/$(NAME).so

 ##### Any additional, platform-specific rules come here:
diff --git a/UsageEnvironment/Makefile.tail b/UsageEnvironment/Makefile.tail
index 96c6227..81bedd7 100644
--- a/UsageEnvironment/Makefile.tail
+++ b/UsageEnvironment/Makefile.tail
 <at>  <at>  -31,7 +31,7  <at>  <at>  install1: $(USAGE_ENVIRONMENT_LIB)
 	  install -m 644 include/*.hh $(DESTDIR)$(PREFIX)/include/UsageEnvironment
 	  install -m 644 $(USAGE_ENVIRONMENT_LIB) $(DESTDIR)$(LIBDIR)
 install_shared_libraries: $(USAGE_ENVIRONMENT_LIB)
-	  ln -s $(NAME).$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)/$(NAME).$(SHORT_LIB_SUFFIX)
-	  ln -s $(NAME).$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)/$(NAME).so
+	  ls -fs $(NAME).$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)/$(NAME).$(SHORT_LIB_SUFFIX)
+	  ls -fs $(NAME).$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)/$(NAME).so

 ##### Any additional, platform-specific rules come here:
diff --git a/groupsock/Makefile.tail b/groupsock/Makefile.tail
index 23d98dc..f1d2831 100644
--- a/groupsock/Makefile.tail
+++ b/groupsock/Makefile.tail
 <at>  <at>  -39,7 +39,7  <at>  <at>  install1: libgroupsock.$(LIB_SUFFIX)
 	  install -m 644 include/*.hh include/*.h $(DESTDIR)$(PREFIX)/include/groupsock
 	  install -m 644 libgroupsock.$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)
 install_shared_libraries: libgroupsock.$(LIB_SUFFIX)
-	  ln -s libgroupsock.$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)/libgroupsock.$(SHORT_LIB_SUFFIX)
-	  ln -s libgroupsock.$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)/libgroupsock.so
+	  ls -fs libgroupsock.$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)/libgroupsock.$(SHORT_LIB_SUFFIX)
+	  ls -fs libgroupsock.$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)/libgroupsock.so

 ##### Any additional, platform-specific rules come here:
diff --git a/liveMedia/Makefile.tail b/liveMedia/Makefile.tail
index f635b81..3569ed4 100644
--- a/liveMedia/Makefile.tail
+++ b/liveMedia/Makefile.tail
 <at>  <at>  -393,7 +393,7  <at>  <at>  install1: $(LIVEMEDIA_LIB)
 	 install -m 644 include/*.hh $(DESTDIR)$(PREFIX)/include/liveMedia
 	 install -m 644 $(LIVEMEDIA_LIB) $(DESTDIR)$(LIBDIR)
 install_shared_libraries: $(LIVEMEDIA_LIB)
-	 ln -s $(NAME).$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)/$(NAME).$(SHORT_LIB_SUFFIX)
-	 ln -s $(NAME).$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)/$(NAME).so
+	 ls -fs $(NAME).$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)/$(NAME).$(SHORT_LIB_SUFFIX)
+	 ls -fs $(NAME).$(LIB_SUFFIX) $(DESTDIR)$(LIBDIR)/$(NAME).so

 ##### Any additional, platform-specific rules come here:
--

-- 
1.9.1
Deanna Earley | 15 Apr 12:14 2015
Picon

Maximum interleaved RTP packet size

Hello Ross.

We have an open case with one of our RTSP source vendors where RTP streams over interleaved TCP seem to be
throttled resulting in dropped frames in situations where the camera increases the frame size.
This does not happen with UDP unicast.
For reference, here's the video explaining the issue to the vendor:
https://dl.dropboxusercontent.com/u/2931731/Bugs/Axis/501898/20150325_101155.mp4

The vendor's response suggests it could be a TCP flow control issue and that we can pass a value to increase
the RTP packets:
"If using unicast in combination with TCP, it is recommended to increase the size of the RTP packets to 64 000
bytes (from the standard 1500 bytes), provided that the client can accept larger packets."
Is there a specific upper limit to the packet size that liveMedia's interleaved TCP implementation can handle?

I'm aware that UDP is preferred, but we do allow the use of TCP to allow for better firewall traversal.
(We are discussing internally changing the default to UDP)

Thanks

--

-- 
Deanna Earley | Lead developer | icatchercctv

w: www.icode.co.uk/icatcher | t: 01329 835335 | f: 01329 835338
Registered Office : 71 The Hundred, Romsey, SO51 8BZ. Company Number : 03428325
Josh Marshall | 14 Apr 11:03 2015

How to Integrate live 555

Hello,

 

I am attempting to integrate Live 555 on my Windows system but having a lot of trouble. I have followed all steps on the website but the instructions seem a little outdated. Could I please get some help on how to integrate with QT. I am on a Windows 8.1 64 bit system.

 

Regards

 

Joshua Marshall

Software Systems Analyist,


Visio Ingenii, 
F2-F3 Maxet House
Liverpool Road
Luton
LU1 1RS

T: +44 (0) 1582488763 
M:+44 (0) 7803707770

E: joshua.g <at> visioingenii.com
Find out more: www.visioingenii.com
DISCLAIMER

The information in this email from Visio Ingenii Limited (Company number: 07928908) is confidential and may be legally privileged. The contents of this email and any attachments are intended solely for the addressee. If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited and may be unlawful. The recipient acknowledges that Visio Ingenii Limited may be unable to exercise control or ensure or guarantee the integrity of the text of the email message and the text is not warranted as to completeness and accuracy. The opinion expressed in this mail is that of the sender and does not necessarily reflect that of Visio Ingenii Limited. Before opening and accessing the attachment, if any, please check and scan for viruses. 

PROTECT THE ENVIRONMENT 

Please consider the environment before printing this email and its attachments.  

 

_______________________________________________
live-devel mailing list
live-devel <at> lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Gmane