Salve o fluxo em arquivos mp4

3

Como posso manter o fluxo (protocolo rtsp, codec h264) no arquivo (container mp4)? Ou seja, na entrada de um fluxo sem fim (com câmera de CCTV), e os arquivos de saída em tamanho de formato mp4 de 5-10 minutos de tempo de gravação.

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

Atualmente, este esquema é usado:

cvlc rtsp://admin:[email protected]:554/ch1-s1 --sout=file/ts:stream.ts
ffmpeg -i stream.ts -vcodec copy -f mp4 stream.mp4

Mas não é possível gravar vídeo continuamente (entre as reinicializações vlc é uma perda de cerca de 10 segundos de vídeo ao vivo)

    
por Ruslan Sharipov 05.05.2012 / 09:32

2 respostas

7

O VLC não suporta a segmentação do arquivo de saída. Você pode tentar usar o ffmpeg diretamente, pois ele suporta a segmentação saída :

ffmpeg -i rtsp://admin:[email protected]:554/ch1-s1 -c copy -map 0 -f segment -segment_time 600 -segment_format mp4 "out%03d.mp4"
    
por 05.05.2012 / 15:45
0

pode ser útil saber como dividir arquivos de áudio em segmentos de 10 minutos (ou seja, muitos arquivos curtos de um arquivo grande e extenso, por exemplo, para estéreo automotivo), já que a man page avconv não tem valor explicativo suficiente. Abaixo está uma linha de comando de trabalho para dividir o arquivo "interview.mp3". usando menos parâmetros (mapa) não funcionou aqui. alguns arquivos de áudio requerem -map 0: 0, veja dicas de saída.

avconv -i interview.mp3 -codec copy -map 0 -f segment -segment_format mp3 -segment_time 600 "iview%03d.mp3"
    
por 16.09.2014 / 16:26