Page 1 of 1

IP camera feed in online section

PostPosted: Mon Jan 14, 2013 4:38 am
by kiwiman2000
Although the live streams can be used for camera feeds it dont work with
one of my cameras.. a wanscam (which seems to be same firmware as
the dericam m2) it doesnt support rtsp like the other camera I have (hd 720p)
which works with the live streams.(that one is same as dericam fw501 by looks)

the error in log seems to be it cant work out the http media and get red cross
Jpmpeg is probably the reason?

so a entry for ip cameras with http to force a transcode would help

as I can use VLC stream function to transcode in background and then
use the 127.0.0.1 port to get a mmsh feeding from it which works with
live streams.. but its not the best
as its reading the camera stream all the time and putting extra strain
on bandwidth etc and a plugin would only
access the stream when you click the link in the media server

why add ipcamera option.. very nice to see front door and outside house camera
on the big screen instead of using a APP on the android tablet :)

Re: IP camera feed in online section

PostPosted: Mon Jan 14, 2013 3:10 pm
by zip
if you have the camera stream URL, post ffmpeg -i for it

Re: IP camera feed in online section

PostPosted: Tue Jan 15, 2013 12:10 am
by kiwiman2000
the general url to camera

http://id:pwd@192.168.1.55:99/videostream.cgi?rate=11

I get back with what ffmpeg sees.

I suspect vlc handles its better then ffmpeg
why some media servers and camera software (like ispy) offer a VLC plugin

perhaps someone can write a plugin for vlc where can enter the url want to convert etc

ideally LIVE STREAM needs an option to feed non urls like perhaps VLC.exe params ?

Re: IP camera feed in online section

PostPosted: Tue Jan 15, 2013 12:16 am
by kiwiman2000
C:\Program Files\Serviio\lib>ffmpeg -i http://ID2010:PWD2010@192.168.1.
55:99/videostream.cgi?rate=11
ffmpeg version N-42368-gbf53863 Copyright (c) 2000-2012 the FFmpeg developers
built on Jul 10 2012 03:40:45 with gcc 4.6.3
configuration: --enable-static --disable-shared --disable-ffplay --disable-ffs
erver --enable-memalign-hack --enable-libmp3lame --enable-librtmp --extra-libs='
-lrtmp -lpolarssl -lws2_32 -lwinmm' --arch=x86 --enable-runtime-cpudetect --enab
le-pthreads --target-os=mingw32 --cross-prefix=i686-w64-mingw32- --pkg-config=pk
g-config
libavutil 51. 64.100 / 51. 64.100
libavcodec 54. 33.100 / 54. 33.100
libavformat 54. 15.102 / 54. 15.102
libavdevice 54. 1.100 / 54. 1.100
libavfilter 3. 1.100 / 3. 1.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 15.100 / 0. 15.100
[loas @ 002CBDA0] Format loas detected only with low score of 1, misdetection po
ssible!
[loas @ 002CBDA0] Stream #0: not enough frames to estimate rate; consider increa
sing probesize
[loas @ 002CBDA0] decoding for stream 0 failed
[loas @ 002CBDA0] Could not find codec parameters (Audio: aac_latm, 0 channels,
s16)
[loas @ 002CBDA0] Estimating duration from bitrate, this may be inaccurate
http://id2010:pwd2010@192.168.1.55:99/v ... gi?rate=11: could no
t find codec parameters

C:\Program Files\Serviio\lib>


Dont seem FFMPEG likes it at all

however now issue feeding it into vlc

and no issue using rtsp url on the other hd camera I have

is ffmpeg limited or buggy perhaps?

Re: IP camera feed in online section

PostPosted: Tue Jan 15, 2013 5:10 pm
by zip
try this

  Code:
ffmpeg -i "http://id:pwd@192.168.1.55:99/videostream.cgi?rate=11"

Re: IP camera feed in online section

PostPosted: Mon Jan 21, 2013 4:24 am
by kiwiman2000
it did the same.

I checked the url format in firefox.. it popped up your about to login message then clicked ok
and went in streaming fine
next I tried the url in google chrome went straight in and streamed fine

IE8 kept saying the http site not found.. typical MS always a issue
so im wondering if thats the problem.. its trying to use windows IE in serviio to
get the data

of course vlc no issue also goes in and streams

Re: IP camera feed in online section

PostPosted: Mon Jan 21, 2013 4:34 am
by kiwiman2000
tried this format as well worked in firefox but IE gave do you wish to find or save pop up lol

anyhow ffmpeg still gave the same error as before
http://192.168.1.55:99/videostream.cgi? ... n&pwd=blag

Re: IP camera feed in online section

PostPosted: Mon Jan 21, 2013 4:38 am
by kiwiman2000
I checked the source code for IE8 and it uses snapshot.cgi rather then stream for the mobile
section and runs it in a loop in js so it reads a single snap each time and updates the
webpage beats me what to try next

Re: IP camera feed in online section

PostPosted: Thu Feb 07, 2013 7:29 am
by Tomok
Hi,

I am running some older AXIS-ip-cameras (#2100, #2120, #2420). The only possible stream-format is MJPEG with variable frame rates depending on the actual light.

Using the option
'-use_wallclock_as_timestamps 1'
FFmpeg transcodes the MJPEG stream input into MPG which can be handled by Serviio.

Example for recording from AXIS-ip-cams:

ffmpeg.exe -use_wallclock_as_timestamps 1 -re -i "http://192.168.x.xx/mjpg/video.mjpg" -target pal-dvd c:\my-output.mpg

Streaming (UDP only):

ffmpeg.exe -use_wallclock_as_timestamps 1 -re -i "http://192.168.x.xx/mjpg/video.mjpg" -target pal-dvd udp://192.168.x.xyz:6789

Serviio doesn't accept UDP-input but FFmpeg is already enclosed. How can I add '-use_wallclock_as_timestamps 1' as an option to Serviio's FFmpeg ?

Thank you in advance.
Best regards.

Re: IP camera feed in online section

PostPosted: Thu Feb 07, 2013 10:31 am
by zip
Tomok wrote: How can I add '-use_wallclock_as_timestamps 1' as an option to Serviio's FFmpeg ?

You can't

Re: IP camera feed in online section

PostPosted: Thu Feb 07, 2013 11:18 pm
by Tomok
Hi,

> You cant

too bad! I hope you will do it sometime ... :-)

My workaround (WinXP-SP3) for the meantime:

1. Transcoding IP-cam-MJPEG-stream --> MPG via UDP:

ffmpeg.exe -use_wallclock_as_timestamps 1 -re -i "http://192.168.2.xx/mjpg/video.mjpg" -filter:v yadif -target pal-dvd udp://192.168.2.yyy:6789
('-filter:v yadif' is a deinterlacing option)

2. Restreaming UDP --> TCP:

vlc.exe udp://@192.168.2.yyy:6789 --sout #std{mux=ts,access=http,dst=127.0.0.1:8081}


Running both programms Serviio picks the IP-cam's stream online at http://127.0.0.1:8081 and 'transports' it to my TV for hours without any crash.

Thank you very much for Serviio ! Best regards.

Re: IP camera feed in online section

PostPosted: Mon Feb 25, 2013 3:33 pm
by mpi
Hi,

I'm having similar issue with Dericam 502W (h264), I can't manage to enable in online feed.

here is the debug log
  Code:
2013-02-28 22:24:16,377 WARN  [FeedUpdaterThread] Failed to retrieve online item information for rtsp://user:pass@IP_ADDR:81. It might not play.
java.io.IOException: org.serviio.library.local.metadata.extractor.InvalidMediaFormatException: Unknown video width.
   at org.serviio.library.online.metadata.FeedUpdaterThread.retrieveMetadata(FeedUpdaterThread.java:291)
   at org.serviio.library.online.metadata.FeedUpdaterThread.retrieveTechnicalMetadata(FeedUpdaterThread.java:209)
   at org.serviio.library.online.metadata.FeedUpdaterThread.run(FeedUpdaterThread.java:102)
Caused by: org.serviio.library.local.metadata.extractor.InvalidMediaFormatException: Unknown video width.
   at org.serviio.library.metadata.FFmpegMetadataRetriever.validateMandatoryMetadata(FFmpegMetadataRetriever.java:415)
   at org.serviio.library.metadata.FFmpegMetadataRetriever.retrieveMetadata(FFmpegMetadataRetriever.java:89)
   at org.serviio.library.metadata.FFmpegMetadataRetriever.retrieveOnlineMetadata(FFmpegMetadataRetriever.java:127)
   at org.serviio.library.online.metadata.FeedUpdaterThread.retrieveMetadata(FeedUpdaterThread.java:268)
   ... 2 more



Here is ffmpeg info.
  Code:
$ ./ffmpeg -i "rtsp://user:pass@IP_ADDR:81"
ffmpeg version N-42368-gbf53863 Copyright (c) 2000-2012 the FFmpeg developers
  built on Jul 10 2012 22:12:54 with gcc 4.0.1 (Apple Inc. build 5493)
  configuration: --enable-static --disable-shared --bindir=/tmp/ffmpeg --disable-ffplay --disable-ffserver --enable-libmp3lame --enable-librtmp --enable-pthreads --disable-mmx --extra-ldflags=-L/tmp/static/lib --extra-cflags=-I/tmp/static/include --extra-libs=-lpolarssl
  libavutil      51. 64.100 / 51. 64.100
  libavcodec     54. 33.100 / 54. 33.100
  libavformat    54. 15.102 / 54. 15.102
  libavdevice    54.  1.100 / 54.  1.100
  libavfilter     3.  1.100 /  3.  1.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 15.100 /  0. 15.100
[rtsp @ 0x13ad000] UDP timeout, retrying with TCP
[rtsp @ 0x13ad000] Could not find codec parameters (Video: h264)
[rtsp @ 0x13ad000] Estimating duration from bitrate, this may be inaccurate
Guessed Channel Layout for  Input Stream #0.1 : mono
Input #0, rtsp, from 'rtsp://user:pass@IP_ADDR:81':
  Metadata:
    title           : h264 stream by H.264/MJPEG RTSP stream(IPCamera_Logo)
  Duration: N/A, start: 0.000000, bitrate: 64 kb/s
    Stream #0:0: Video: h264, 90k tbr, 90k tbn, 180k tbc
    Stream #0:1: Audio: pcm_mulaw, 8000 Hz, mono, s16, 64 kb/s
At least one output file must be specified
$
Thanks for any help!

Re: IP camera feed in online section

PostPosted: Sun Mar 10, 2013 8:43 am
by Tomok
Hi,

please keep in mind that I am doing a pre-transcoding outside Serviio to generate my own MPG-online-stream (older AXIS-IP-cams support MJPEG only).
As kiwiman2000 has mentioned before this additional process continuously consumes CPU-power – whether Serviio is used or not.

Btw:
Using the RTP protocol the additional VLC restreaming (UDP -> TCP) can be avoided.
______________________________
Example ‘A’: 1 x MJPG-IP-cam (AXIS):

ffmpeg.exe -use_wallclock_as_timestamps 1 -i http://192.168.1.85/mjpg/video.mjpg -target pal-dvd -f rtp rtp://127.0.0.1:8085

Serviio 1.2 accepts ‘rtp://127.0.0.1:8085’ as ‘live stream’.
_______________________________
Example ‘B’: 3 x MJPG-IP-cams (AXIS) (cam ‘…85’ with FFmpeg-based deinterlacing):

ffmpeg.exe -use_wallclock_as_timestamps 1 -i http://192.168.2.83/mjpg/video.mjpg -use_wallclock_as_timestamps 1 -i http://192.168.2.85/mjpg/video.mjpg -use_wallclock_as_timestamps 1 -i http://192.168.2.81/mjpg/video.mjpg -map 0 -target pal-dvd -f rtp rtp://127.0.0.1:8083 -map 1 -filter:v yadif -target pal-dvd -f rtp rtp://127.0.0.1:8085 -map 2 -target pal-dvd -f rtp rtp://127.0.0.1:8081

Serviio 1.2 accepts ‘rtp://127.0.0.1:8081’, ‘rtp://127.0.0.1:8083’ and ‘rtp://127.0.0.1:8085’ as three independent ‘live streams’.


The IP-cams also supply JPG-snapshots on request:
http://192.168.2.83/jpg/image.jpg

But I don’t know how to successfully use this URL as an ‘image online resource’.

Help & improvements are welcome :)