2017-10-17 23 views
0

FFMPEG를 사용하여 IP 카메라의 RTSP 스트림을 가져 와서 RTMP로 스트리밍 서버로 보냅니다. 명령을 실행하면 아래 오류 중 5 개가 발생하고 스트림이 시작됩니다. 그러나 내가 밤새도록 보내면 스트리밍을 멈추고이 오류가있는 터미널을 채 웁니다.FFMPEG : [flv @ 0xbeee10] 출력 스트림에서 단조롭지 않은 DTS

[flv @ 0x191ba0] Non-monotonous DTS in output stream 0:0; previous: 0, current: -202; changing to 0. This may result in incorrect timestamps in the output file. 

내 FFMPEG 명령에 문제가 있습니까?

ffmpeg -rtsp_transport tcp -i rtsp://[email protected]:redact_port/live0.264 -acodec copy -vcodec copy -f flv rtmp://127.0.0.1/live/ipcam 
ffmpeg version N-87747-g123f6dc Copyright (c) 2000-2017 the FFmpeg developers 
    built with gcc 4.9.2 (Raspbian 4.9.2-10) 
    configuration: --enable-shared --enable-gpl --prefix=/usr --enable-nonfree --enable-libmp3lame --enable-libx264 --enable-version3 --disable-mmx 
    libavutil  55. 77.101/55. 77.101 
    libavcodec  57.106.104/57.106.104 
    libavformat 57. 82.102/57. 82.102 
    libavdevice 57. 9.101/57. 9.101 
    libavfilter  6.106.101/6.106.101 
    libswscale  4. 7.103/4. 7.103 
    libswresample 2. 8.100/2. 8.100 
    libpostproc 54. 6.100/54. 6.100 
Guessed Channel Layout for Input Stream #0.1 : mono 
Input #0, rtsp, from 'rtsp://[email protected]:redact_port/live0.264': 
    Metadata: 
    title   : Session Streamed by LIBZRTSP 
    comment   : live0.264 
    Duration: N/A, start: 0.242000, bitrate: N/A 
    Stream #0:0: Video: h264 (Main), yuv420p(progressive), 1280x720, 25 fps, 24.83 tbr, 90k tbn, 50 tbc 
    Stream #0:1: Audio: pcm_mulaw, 8000 Hz, mono, s16, 64 kb/s 
Output #0, flv, to 'rtmp://127.0.0.1/live/ipcam': 
    Metadata: 
    title   : Session Streamed by LIBZRTSP 
    comment   : live0.264 
    encoder   : Lavf57.82.102 
    Stream #0:0: Video: h264 (Main) ([7][0][0][0]/0x0007), yuv420p(progressive), 1280x720, q=2-31, 25 fps, 24.83 tbr, 1k tbn, 90k tbc 
    Stream #0:1: Audio: pcm_mulaw ([8][0][0][0]/0x0008), 8000 Hz, mono, s16, 64 kb/s 
Stream mapping: 
    Stream #0:0 -> #0:0 (copy) 
    Stream #0:1 -> #0:1 (copy) 
Press [q] to stop, [?] for help 
[flv @ 0xbeee10] Non-monotonous DTS in output stream 0:0; previous: 0, current: -202; changing to 0. This may result in incorrect timestamps in the output file. 
[flv @ 0xbeee10] Non-monotonous DTS in output stream 0:0; previous: 0, current: -162; changing to 0. This may result in incorrect timestamps in the output file. 
[flv @ 0xbeee10] Non-monotonous DTS in output stream 0:0; previous: 0, current: -121; changing to 0. This may result in incorrect timestamps in the output file. 
[flv @ 0xbeee10] Non-monotonous DTS in output stream 0:0; previous: 0, current: -81; changing to 0. This may result in incorrect timestamps in the output file. 
[flv @ 0xbeee10] Non-monotonous DTS in output stream 0:0; previous: 0, current: -41; changing to 0. This may result in incorrect timestamps in the output file. 
[flv @ 0xbeee10] Non-monotonous DTS in output stream 0:0; previous: 0, current: -1; changing to 0. This may result in incorrect timestamps in the output file. 
frame=321421 fps= 25 q=-1.0 size= 1190616kB time=03:36:01.31 bitrate= 752.5kbits/s speed= 1x 

답변

0

입력이 불안정한 DTS를 제공하는 것 같습니다. 이는 라이브 입력에 정상적인 것입니다. 입력 DTS를 무시하고 출력 DTS에 출력 DTS를 강제 실행하는 것이 좋지만, 가능하다면 5 분 안에 나올 수는 없습니다.

내 행운의 추측은 그는 FFmpeg 매개 변수 중 하나를 재생하는 것입니다 :

-video_track_timescale 25 
-filter_complex "setpts=PTS-STARTPTS" 

당신이 운이 있다면 알려주세요!

+0

을 시도하지 나도 도움을 보인다. '-video_track_timescale 25'는 아무런 영향을 미치지 않습니다. '-filter_complex "를 사용하면 setpts = PTS-STARTPTS"'가 과거 기간의 묶음이됩니다. 0.998833 너무 커서 메시지를 출력하고 결국 출력 스트림 0 : 0에 버퍼링 된 패킷이 너무 많습니다. – brewcrazy

0

나는 -use_wallclock_as_timestamps 1-fflags +genpts