I have several IPCams from different manufacturers. All of them transmit audio/video stream through a well-known RTSP URL.

They can use different video codecs, mainly H.264 or H.265 (in some cases, MJPEG for low resolution streams).

Also audio codecs are different: G.711a, G.711u, AAC, G.726, MP3, PCM, MP2L2 and so on.

I'm trying to use ffmpeg to receive streams from those IPCams. I'm using segment muxer to keep always a certain number of segments in memory, that is what I need. I finally reached the following command line:

  ffmpeg -hide_banner -rtsp_transport tcp -stimeout 10000000 -i <rtsp addr> -f segment -segment_time 2 -reset_timestamps 1 -segment_wrap 11 -c copy %d.<output format>

ffmpeg runs on a small embedded Linux box based on iMX6ULL CPU. It isn't a powerful CPU, so I'd like to use "-c copy" to avoid overloading the CPU when transcoding 10 streams at the same time.

Now the problem is the output format to use (the muxer?).

I started with mp4, but it doesn't support G.711 and similar audio codecs.

I tried with mkv, but ffmpeg exits with error for some IPCams, because it couldn't find timestamps. The error is:

  [matroska @ 000001e89e880e00] Can't write packet with unknown timestamp
  av_interleaved_write_frame(): Invalid argument
  frame=    3 fps=0.0 q=-1.0 Lsize=N/A time=00:00:00.12 bitrate=N/A speed=48.2x   video:56kB audio:1kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
  Conversion failed!

I tried to fix this error with '-fflags +genpts' and other solutions I found on the web, without success.

So I tried mov and it appears to work for all my IPCams, but I'm wondering if it will work for other IPCams I will use.

First question: could ffmpeg save the stream in a "raw" format as it is received from RTSP, without too much problems? I don't need to play the video continuously, only when I want. Only at that moment, I could use ffmpeg to join segments and transcode to mp4. In this case the transcoding is limited in time and only for short videos.

Second question: is there another media container format that could be better to use in my situation?


_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to