Attempting to restream Wowee Rovio video stream (H.263?)

Hello All,

I have spent the better part of a week banging my head against the wall on this and am finally breaking down to ask for help. I have a Wowee Rovio which says it outputs mpeg4 video but I am thinking that it is actually H.263.

I am using the newest version of Wowza, Wowza Media Server 2.2.2

(downloaded the new one today)

I am running it on Windows XP

I have also tried using ffmpeg I am running:

FFmpeg version SVN-r18639, Copyright © 2000-2009 Fabrice Bellard, et al.

I have went through the tutorials on How to re-stream video from an IP camera (RTSP/RTP re-streaming), which didn’t work for this “IP Camera”

I have appended the output from the Wowza Media Server window at the bottom of this posting.

Two days ago I decided to jump in and see if I could use FFmpeg to get the rovio stream in to the correct format. This has not been very successful either. Yesterday I came up with the realization that the video format of the RTSP stream may be H263. If any of you are familiar with the Rovio you can request what the video settings are with

GetMediaFormat.cgi and it was telling me that it was H263. I have spent yesterday and most of today spinning my wheels on trying to use ffmpeg to transcode the rtsp stream to a format that I could feed in to Wowza. I saw that there were a couple posts to the Forums from “charlie” who seemed to have some expertise in transcoding with ffmpeg, but his few examples I found seemed to not work for me either.

I have appended my attempts at getting ffmpeg to transcode the stream as well.

I REALLY want to make an AIR app that can pull the Rovio video in. I also got a AR Drone for Christmas (early Christmas present) its documentation also says it uses H263 format so hopefully I can figure that one out next!

I would appreciate any help anyone can provide. I am attempting to do a proof of concept that will prove the need to move a large scale robotics project from using FMS to Wowza.

Thanks,

Kyle

I copied this from the Wowza Media Server window if it helps at all:

WARN server comment - RTPPacketFragmentListReader.skip: Bad skip count: -1753657

133

WARN server comment - Waiting for RTCP packet. See docs for (Application.xml: RT

P/AVSyncMethod and RTP/MaxRTCPWaitTime).

WARN server comment - RTPDePacketizerRFC3984H264.handleRTPPacket: Unsupported pa

cket type: FU-B

INFO server comment - RTPMediaCaster.resetConnection[26564976:rtplive/definst:

camera.stream]:

INFO server comment - RTPMediaCaster.closeRTPSession[26564976:rtplive/definst:

camera.stream]

INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.close clo

seSession

INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.onClose

INFO server comment - RTPSessionTracker.remove[rtsp://172.16.10.134:554/webcam]:

0:true

INFO stream unpublish camera.stream -

INFO stream destroy camera.stream -

INFO server comment - RTPMediaCaster.Reconnector[26564976:rtplive/definst:came

ra.stream]: start: 28

INFO server comment - RTPSessionTracker.add[rtsp://172.16.10.134:554/webcam]: 1

INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.processRe

sponse: SETUP: rtsp://172.16.10.134:554/webcam/track0

INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.processRe

sponse: SETUP: rtsp://172.16.10.134:554/webcam/track1

INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.buildSDPD

ata: sessionId:00EE7F66CE9DD53F04FF5D38DC2A56 sessionTimeout:0

INFO server comment - RTPSessionDescriptionDataProviderBasic.getStreamInfo[rtpli

ve/definst]: RTSP/RTP re-streaming. Success, received SDP data.

INFO stream create - -

INFO stream publish camera.stream -

INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.sessionSt

art: PLAY: rtsp://172.16.10.134:554/webcam

INFO server comment - RTPSessionDescriptionDataProviderBasicRTSPWorker.processRe

sponse: PLAY: rtsp://172.16.10.134:554/webcam/

INFO server comment - RTPMediaCaster.Reconnector[26564976:rtplive/definst:came

ra.stream]: done: 28

INFO server comment - firstPacket: TCP:$0

INFO server comment - LivePlayer.play[rtplive/definst/camera.stream]: Dynamic

Stream Markers are on.

INFO server comment - firstPacket: TCP:$2

This was an attempt to do anything with the “RTSP” stream from the Rovio… I originally tried to transcode and send it off to wowza but I figured I would try to crawling before I walk…

C:\ffmpeg>ffmpeg -r 10 -s 320x240 -an -i rtsp://172.16.10.134:554/webcam test.mp4

FFmpeg version SVN-r18639, Copyright © 2000-2009 Fabrice Bellard, et al.

configuration: --enable-memalign-hack --enable-postproc --enable-gpl --enable-

libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libvorbis

–enable-libtheora --enable-libx264 --enable-libxvid --disable-ffserver --enable

-avisynth --enable-pthreads

libavutil 50. 3. 0 / 50. 3. 0

libavcodec 52.27. 0 / 52.27. 0

libavformat 52.32. 0 / 52.32. 0

libavdevice 52. 2. 0 / 52. 2. 0

libswscale 0. 7. 1 / 0. 7. 1

libpostproc 51. 2. 0 / 51. 2. 0

built on Apr 21 2009 13:44:38, gcc: 4.2.4 (TDM-1 for MinGW)

[rtsp @ 0x3db5e0]Could not find codec parameters (Video: mpeg4)

Input #0, rtsp, from ‘rtsp://172.16.10.134:554/webcam’:

Duration: N/A, bitrate: N/A

Stream #0.0: Video: mpeg4, 90k tbr, 90k tbn, 90k tbc

Stream #0.1: Audio: pcm_alaw, 8000 Hz, mono, s16, 64 kb/s

picture size invalid (0x0)

Cannot allocate temp picture, check pix fmt

Ok I just typed this once and then hit the wrong button and it all went bye-bye. Anyway! I was looking through the one How To and the first step is looking at the Codec Detail of the RTSP stream with VLC and I noticed something odd it show 4 streams? 0-3 two of them video and two of them audio…

Stream 0

Type: Video

Codec: MPEG-4 Video (mp4v)

Stream 1

Type: Audio

Codec: PCM ALAW (alaw)

Channels: 1

Sample rate: 8000 Hz

Stream 2

Type: Video

Codec: MPEG-4 Video (mp4v)

Resolution: 320x240

Frame rate 30000

Stream 3

Type: Audio

Codec: PCM ALAW (alaw)

Channels: Mono

Sample rate: 8000 Hz

Bits per sample: 16

So from this do I need to be attempting to send the “Stream 2” versus the “Stream 0”??? It does look like I am going to need something like ffmpeg to transcode this stream before I can pass it in to WMS. If you can not provide any assistance on how this would be done using ffmpeg could you please point me towards a good FFmpeg forum?

Thanks,

Kyle

The stream will need to be transcoded. None of these formats are supported by Wowza. Take a look at these two posts as a good starting point:

https://www.wowza.com/docs/how-to-use-vlc-as-a-live-stream-encoder-with-wowza-media-server-mpeg-ts)

https://www.wowza.com/docs/how-to-use-ffmpeg-with-wowza-media-server-mpeg-ts)

Charlie

I think you have the presets in the wrong place. This is the path I use and it works:

C:\usr\local\share\ffmpeg

Then “-vpre default”, etc. should work.

Richard

I don’t have “presets” folder. All the preset files are in C:\usr\local\share\ffmpeg

For example:

C:\usr\local\share\ffmpeg\libx264-default.ffpreset

Try it like that.

Richard

I’m not sure. I would check that rtsp url in VLC. And you might try VLC in place of FFMPEG.

Richard

ffmpeg does support rtsp no problem, however the error seems to indicate an output parameter being incorrect, but alas ffmpeg never quite tells you why.

Shamrock

Charlie you are a RockStar!

I was able to use the VLC example to get video across. It does look like VLC after a very short period of time takes a dump and eats up all the system resources, but those couple of minutes it is running is magic! Ok not magic but at least blurry delayed video… I am still frustrated with the ffmpeg version. I was following the tutorial and actually went out to find the exact same release of ffmpeg that was in the tutorial. I am having issues with the -vpre default and -vpre baseline… it looks like default doesn’t even exist in the ffpresets folder. Also with the other version of ffmpeg I had running I had to do;

-vpre “C:/usr/local/share/ffmpeg/presets/libx264-default.baseline.ffpreset”

This also doesn’t seem to work with the version of ffmpeg. I know you do not support ffmpeg and I will start looking this up, but if you have any ideas I would would love to hear them…

Thanks again for the help you have provided so far! It is greatly appreciated!

Kyle

That is where I put everything and the presets folder is C:\usr\local\share\ffmpeg\presets. Maybe I am doing something wrong when I am running it… I open a command window and go to C:\usr\local\share\ffmpeg\bin and the run the command: ffmpeg -i…

Am I doing that part somehow wrong?

Thanks,

Kyle

Richard,

So moving the ffmpeg,exe and all of the presets to the C:\usr\local\share\ffmpeg folder got me past the errors for -vpre and I was able to stream the sample.mp4 file in to my AIR app through Wowza! I am still getting an error when I attempt to use my Rovio video stream “rtsp://…/webcam” It is throwing errors:

This was one of my last tests:

C:\usr\local\share\ffmpeg>ffmpeg -s 640x480 -i “rtsp://172.16.10.134:554/webcam”

-vcodec libx264 -vpre default -vpre fast -g 60 -vb 150000 -strict experimental

-acodec aac -ab 96000 -ar 48000 -ac 2 -vbsf h264_mp4toannexb -f mpegts udp://127

.0.0.1:10000?pkt_size=1316

FFmpeg version SVN-r25705, Copyright © 2000-2010 the FFmpeg developers

built on Nov 8 2010 04:07:03 with gcc 4.4.2

configuration: --enable-gpl --enable-version3 --enable-libgsm --enable-pthread

s --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libmp3lame –

enable-libopenjpeg --enable-libschroedinger --enable-libopencore_amrwb --enable-

libopencore_amrnb --enable-libvpx --disable-decoder=libvpx --arch=x86 --enable-r

untime-cpudetect --enable-libxvid --enable-libx264 --extra-libs=’-lx264 -lpthrea

d’ --enable-librtmp --extra-libs=’-lrtmp -lpolarssl -lws2_32 -lwinmm’ --target-o

s=mingw32 --enable-avisynth --cross-prefix=i686-mingw32- --cc='ccache i686-mingw

32-gcc’ --enable-memalign-hack

libavutil 50.32. 6 / 50.32. 6

libavcore 0.12. 0 / 0.12. 0

libavcodec 52.94. 3 / 52.94. 3

libavformat 52.84. 0 / 52.84. 0

libavdevice 52. 2. 2 / 52. 2. 2

libavfilter 1.58. 0 / 1.58. 0

libswscale 0.12. 0 / 0.12. 0

[rtsp @ 003fd1f0] Could not find codec parameters (Video: mpeg4, yuv420p)

[rtsp @ 003fd1f0] Estimating duration from bitrate, this may be inaccurate

Input #0, rtsp, from ‘rtsp://172.16.10.134:554/webcam’:

Metadata:

title : Test

Duration: N/A, bitrate: N/A

Stream #0.0: Video: mpeg4, yuv420p, 90k tbr, 90k tbn, 90k tbc

Stream #0.1: Audio: pcm_alaw, 8000 Hz, 1 channels, s16, 64 kb/s

[buffer @ 01e4fc40] w:0 h:0 pixfmt:yuv420p

[libx264 @ 01e480a0] invalid width x height (0x0)

Output #0, mpegts, to ‘udp://127.0.0.1:10000?pkt_size=1316’:

Stream #0.0: Video: libx264, yuv420p, q=10-51, 150 kb/s, 90k tbn, 90k tbc

Stream #0.1: Audio: aac, 48000 Hz, 2 channels, s16, 96 kb/s

Stream mapping:

Stream #0.0 -> #0.0

Stream #0.1 -> #0.1

Error while opening encoder for output stream #0.0 - maybe incorrect parameters

such as bit_rate, rate, width or height