2012-05-05 3 views
12

파일 (컨테이너 mp4)에 흐름 (프로토콜 rtsp, 코덱 h264)을 유지하려면 어떻게해야합니까? 즉, (CCTV 카메라로) 끝없는 스트림을 입력 할 때, 그리고 출력 파일은 5-10 분의 녹음 시간의 mp4 형식 크기로되어 있습니다.연속 RTSP 스트림을 5-10 분 길이의 mp4 파일로 저장

OS : 데비안, 우분투 소프트웨어 : VLC,는 FFmpeg은 (avconv)

현재이 제도를 사용

:

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

그러나 지속적으로 영상을 기록 할 수는 (다시 시작 사이에 VLC는 약 10 초를 잃는다 라이브 비디오).

답변

0

팀 작업 : 비디오 소스를 분할하고 두 프로세스가 시간 프레임을 번갈아 기록하도록하십시오. 시작 시간이 얼마나 가변적이며 어떻게 가변적인지 테스트 해보고 싶을 것입니다. 시작 시간 차이를 줄이기 위해 프로세스 우선 순위를 실시간으로 설정하고자 할 수 있습니다. 약간의 오버랩이있을 것입니다.하지만 내가 추론 한 것에서 응용 프로그램이 괜찮을 것 같은 소리입니다. 예 :

p1: sRRRRRRRRRwwwwwwwwsRRRRRRRRRwwwwwwwwsRRRRRRRRR... 
p2: wwwwwwwwwsRRRRRRRRRwwwwwwwwsRRRRRRRRRwwwwwwwww... 

        time --> 

s: startup 
R: running 
w: wait 
21

자세한 내용은 this question 및 서버 오류에 대한 대답을 참조하십시오. 요컨대 스위치 도구. avconv는 당신이 원하는 것을 할 것입니다. (ffmpeg는 avconv가되었습니다.)

찾고있는 기능을 세분화라고합니다. 귀하의 명령 줄은 다음과 같이 보일 것입니다 :

avconv -i rtsp://10.2.2.19/live/ch01_0 -c copy -map 0 -f segment -segment_time 300 -segment_format mp4 "capture-%03d.mp4"

+1

응용 프로그램이 "CCTV"용인 경우 '-segment_atclocktime 1'을 사용 하시길 권합니다. 녹음이 시작된 이래로 벽 시계와 시간을 기준으로 분할하려고하므로 – Aron

+0

Ffmpeg는 avconv가 아니며 avconv는 새로운 ffmpeg가 아닙니다. 그들은 서로 다른 프로젝트입니다.https://stackoverflow.com/questions/9477115/what-are-the-differences-and-similarities-between-ffmpeg-libav-and-avconv –

5

알렉산더 정원 솔루션은 아래의 버전을 사용 ffmpep 작동합니다. avconvffmpeg으로 바꿉니다.

./ffmpeg -i RTSP : //10.2.2.19/live/ch01_0 -c 복사 -map -f 0 세그먼트 '%의 03d.mp4 캡처 - "-segment_time 300 -segment_format MP4

나는이 헤더를 포함하여 FFmpeg의 혼동 때문에 버전, 우분투 분열 및 빠른 개발.

는 FFmpeg 버전 N-80023-gd55568d 저작권 GCC 4.8 내장 (C) 2000-2016 ffmpeg라는 개발자 (우분투 4.8.4-2ubuntu1 ~ 14.04.1) 구성 : --prefix =/집/rhinchley/q10/ffmpeg_build --pkg-config-flags = - 정적 --extra-cflags = -I/home/rhinchley/q10/ffmpeg_build/include --extra-ldflags = -L/home/rhinchley/q10/ffmpeg_build/lib --bindir =/home/rhinchley/q10/bin - 사용 가능 - gpl - 사용 가능 libass - 사용 가능 -libfdk-aac - 사용 가능 libfreetype - 사용 가능 -libmp3lame - 사용 가능 libopus - libtheora - 사용 가능 libvorbis - 사용 가능 libvpx - 사용 가능 libx264 - 사용 가능 libx265 - 사용 가능 - nonfree libavutil 55. 24.100/55. 24.100 libavcodec 57. 42.100/57. 42.100 libavformat 5 제 36.100/57 libavdevice 36.100 57 0.101/0.101 57 45.100 libavfilter 6/6 45.100 libswscale 4 1.100/1.100 4. libswresample 2 0.101/0.101 2. libpostproc 54 0.100/54 . 0.100

+0

FFmpeg 솔루션의이 버전을 공유해 주셔서 감사합니다. FFmpeg를 사용하고 싶습니다. over avconv. 그리고 bash가 FFmpeg의 헤더 섹션에서 멈추는 이상한 문자와 혼동되지 않도록 URL을 큰 따옴표로 마무리하는 것이 좋습니다. –

관련 문제