5

How can I keep the flow (protocol rtsp, codec h264) in file (container mp4)? That is, on input an endless stream (with CCTV camera), and the output files in mp4 format size of 5-10 minutes of recording time.

OS: debian, ubuntu Software: vlc, ffmpeg (avconv)

Currently this scheme is used:

cvlc rtsp://admin:admin@10.1.1.1:554/ch1-s1 --sout=file/ts:stream.ts
ffmpeg -i stream.ts -vcodec copy -f mp4 stream.mp4

But it can not record video continuously (between restarts vlc is a loss of about 10 seconds of live video)

Ruslan Sharipov
  • 153
  • 1
  • 1
  • 3

2 Answers2

12

VLC does not support segmenting the output file. You can try to use directly ffmpeg as it supports output segmentation:

ffmpeg -i rtsp://admin:admin@10.1.1.1:554/ch1-s1 -c copy -map 0 -f segment -segment_time 600 -segment_format mp4 "out%03d.mp4"
Ulrich Dangel
  • 296
  • 2
  • 5
  • 2
    I would advise that you want to use `-segment_atclocktime 1` if the application is for "CCTV". As this will try to split based on the wall clock and not time since recording began. – Aron Nov 23 '15 at 14:54
0

it may be helpful to know how to split audio files into 10 minute segments (i.e. many short files from a huge long file, e.g. for car stereo) since avconv man page has not enough explanatory value. Below is a working shell command line to split up the file "interview.mp3". using less parameters (map) did not work here. some audio files require -map 0:0 , watch output hints.

avconv -i interview.mp3 -codec copy -map 0 -f segment -segment_format mp3 -segment_time 600 "iview%03d.mp3"
Andrew Schulman
  • 8,561
  • 21
  • 31
  • 47