Всем привет! Ребят, подскажите в чем проблема и как ее устранить. Имеется Raspberry Pi (B+) с модулем камера. С помощью утилиты raspivid снимаю h264-видеопоток и посредством ffmpeg пытаюсь стримить его по RTP.
raspivid -o - -t 0 -n -w 640 -h 480 -fps 30 -b 3000000 | ffmpeg -y -loglevel warning -i pipe:0 -vcodec copy -f rtp "rtp://192.168.0.100:6666?pkt_size=1428&ttl=4" > stream.sdp
Seems stream 0 codec frame rate differs from container frame rate: 2400000.00 (2400000/1) -> 25.00 (25/1)
Stream mapping:
Stream #0.0 -> #0.0
Press ctrl-c to stop encoding
^Cmmal: Aborting program.0 size= 44089kB time=10000000000.00 bitrate= 0.0kbits/s
На ПК, с помощью сгененрированого SDP-файла, пытаюсь воспроизвести поток. Однако, тут происходит следующее: ffplay выволивается с кучей ошибок, через некоторое время показывает ОДИН смазаный кадр и замирает, при этом ошибки продолжают сыпаться.
bat@debian:~/Apps/gstreamer/encode$ ffplay /home/bat/Apps/stream.sdp
avplay version 0.8.16-6:0.8.16-1, Copyright (c) 2003-2014 the Libav developers
built on Sep 17 2014 13:32:57 with gcc 4.7.2
[sdp @ 0x8f0e1a0] Estimating duration from bitrate, this may be inaccurate
Input #0, sdp, from '/home/bat/Apps/stream.sdp':
Metadata:
title : No Name
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0.0: Video: h264 (High), yuv420p, 640x480, 90k tbr, 90k tbn, 180k tbc
[h264 @ 0x8f2eac0] error while decoding MB 3 17, bytestream (-9)7 0
[h264 @ 0x8f2eac0] concealing 566 DC, 566 AC, 566 MV errors
[h264 @ 0x8f2eac0] error while decoding MB 34 4, bytestream (-3)2
[h264 @ 0x8f2eac0] concealing 1055 DC, 1055 AC, 1055 MV errors
[h264 @ 0x8f105c0] error while decoding MB 28 11, bytestream (-9)
[h264 @ 0x8f105c0] concealing 781 DC, 781 AC, 781 MV errors
[h264 @ 0x8f2eac0] error while decoding MB 31 11, bytestream (-7)
Пробовал mplayer использовать, тут ситуация чуть лучше: сыпит ошибки и секнуд через 15-20 начинает воспроизводить, при этом ошибки сыпятся. Вначале видео воспроизводится ускоренно, то что за первые секнуды он не успел показать, потом более-менее стабильно.
Movie-Aspect is undefined - no prescaling applied.
VO: [xv] 640x480 => 640x480 Planar YV12
No pts value from demuxer to use for frame!
pts after filters MISSING
V: 0.0 0/ 0 ??% ??% ??,?% 0 0
[h264 @ 0xb63ea640]concealing 878 DC, 878 AC, 878 MV errors
[h264 @ 0xb63ea640]concealing 999 DC, 999 AC, 999 MV errors
[h264 @ 0xb63ea640]left block unavailable for requested intra4x4 mode -1 at 0 13
[h264 @ 0xb63ea640]error while decoding MB 0 13, bytestream (6271)
[h264 @ 0xb63ea640]concealing 729 DC, 729 AC, 729 MV errors
[h264 @ 0xb63ea640]error while decoding MB 22 6, bytestream (-7)
[h264 @ 0xb63ea640]concealing 987 DC, 987 AC, 987 MV errors
V: 0.0 0/ 0 ??% ??% ??,?% 0 0
Собственно хотелось бы понять, что это за ошибки и как их исправить, что бы нормально просматривать стрим. Спасибо за внимание.