FFmpeg RTSP проблема с IP-камерой - PullRequest
3 голосов
/ 02 апреля 2011

Я загружаю двоичный файл FFmpeg для Windows и успешно использую ffplay.exe для медиафайлов и некоторых Ip-камер с поддержкой RTSP (например, Acti).

Я пробую ffplay на камере Bosch (h264) NDC 265 P, она не работает. Когда я запускаю ffplay с опцией отладки, я получаю следующее

D:\Test>ffplay -debug 1 rtsp:/XXXXXXXXXX/video
FFplay version SVN-r26400, Copyright (c) 2003-2011 the FFmpeg developers
  built on Jan 18 2011 04:09:28 with gcc 4.4.2
  configuration: --enable-gpl --enable-version3 --enable-libgsm --enable-libvorb
is --enable-libtheora --enable-libspeex --enable-libmp3lame --enable-libopenjpeg
 --enable-libschroedinger --enable-libopencore_amrwb --enable-libopencore_amrnb
--enable-libvpx --disable-decoder=libvpx --arch=x86 --enable-runtime-cpudetect -
-enable-libxvid --enable-libx264 --enable-librtmp --extra-libs='-lrtmp -lpolarss
l -lws2_32 -lwinmm' --target-os=mingw32 --enable-avisynth --enable-w32threads --
cross-prefix=i686-mingw32- --cc='ccache i686-mingw32-gcc' --enable-memalign-hack
 --enable-shared --disable-static
  libavutil     50.36. 0 / 50.36. 0
  libavcore      0.16. 1 /  0.16. 1
  libavcodec    52.108. 0 / 52.108. 0
  libavformat   52.93. 0 / 52.93. 0
  libavdevice   52. 2. 3 / 52. 2. 3
  libavfilter    1.74. 0 /  1.74. 0
  libswscale     0.12. 0 /  0.12. 0
[rtsp @ 006db540] SDP:
v=0
o=- 0 0 IN IP4 XXXXXXXXXX
s=LIVE VIEW
t=0 0
c=IN IP4 0.0.0.0
m=video 0 RTP/AVP 35
a=rtpmap:35 H264/90000
a=control:rtsp://XXXXXXXXXX/video
a=recvonly
a=fmtp:35 packetization-mode=1;profile-level-id=4d0028;sprop-parameter-sets=Z00A
KI2NKAoAt2AgEA==,aO48gA==

[rtsp @ 006db540] video codec set to: (null)
[rtsp @ 006db540] hello state=0
[rtsp @ 006db540] Probe buffer size limit 5000000 reached
[rtsp @ 006db540] Estimating duration from bitrate, this may be inaccurate
Input #0, rtsp, from 'rtsp:/XXXXXXXXXX/video':
  Metadata:
    title           : LIVE VIEW
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0.0, 4035, 1/90000: Video: [0][0][0][0] / 0x0000, 90k tbr, 90k tbn,
90k tbc
rtsp:/XXXXXXXXXX/video: c1o3u0l1d7 3n2o1t5 2o.p2e1n  Ac-oVd:e c s0
.000 s:0.0 aq=    0KB vq=    0KB sq=    0B f=0/0

Я могу играть в IP-камеру Bosch с VLC Player ... Но не могу с FFmpeg ...

Итак

  • ffmpeg не поддерживает H264?

1 Ответ

1 голос
/ 22 апреля 2014

При попытке воспроизведения с помощью ffplay (версия 0.10) возникла та же проблема с потоком H.264 с камеры Bosch DINION HD.

Основная причина вашей проблемы - неправильный тип полезной нагрузки в SDP:

m=video 0 RTP/AVP 35
a=rtpmap:35 H264/90000

Похоже, что устройства Bosch отправляют свои данные на pt значение 35 вместо нормального динамического диапазона.
Просто удалите pt в h264 / mpeg4 иh263 (de) payloaders, и у вас будет поддержка Bosch.

А также несколько связанных с этим проблем:

То же самое было найдено для набора другогоУстройства Bosch: Bosch DINION HD 720p IVA, Bosch DINION NBN-498-P IVA, Bosch NTC-255-PI, Bosch VIP X1600 XFM4.

...