java - FFMPEG profile-level-id 大小无效

标签 java c++ ffmpeg video-streaming

我正在尝试从 JVC KY-PZ 100 录制 RTSP 流.
因此,为此我使用带有一些参数的 ffmpeg,如分段、hls、ts、m3u8 等......
我总是收到错误The profile-level-id field size is invalid (41)Error parsing AU headers
这是 FFPROBE 的输出调试 RTSP

ffprobe -loglevel verbose  -i rtsp://jvc:0000@192.168.0.124:554/stream

ffprobe version 4.2.2 Copyright (c) 2007-2019 the FFmpeg developers
  built with Apple LLVM version 10.0.0 (clang-1000.11.45.5)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.2.2 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.0.1.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.0.1.jdk/Contents/Home/include/darwin' --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable-indev=jack
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
[tcp @ 0x7fa99ee001c0] Starting connection attempt to 192.168.0.124 port 554
[tcp @ 0x7fa99ee001c0] Successfully connected to 192.168.0.124 port 554
[rtsp @ 0x7fa99f807200] SDP:
v=0
o=- 1581949225269357 1 IN IP4 192.168.0.124
s=KY-PZ100
i=KY-PZ100
t=0 0
a=tool:LIVE555 Streaming Media v2013.10.03
a=type:broadcast
a=control:*
a=range:npt=0-
a=x-qt-text-nam:KY-PZ100
a=x-qt-text-inf:KY-PZ100
m=audio 0 RTP/AVP 96
c=IN IP4 0.0.0.0
b=AS:96
a=rtpmap:96 mpeg4-generic/48000/2
a=fmtp:96 streamtype=5;profile-level-id=41;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1190
a=control:track1
m=video 0 RTP/AVP 97
c=IN IP4 0.0.0.0
b=AS:1500
a=rtpmap:97 H264/90000
a=fmtp:97 packetization-mode=1;profile-level-id=4D401E;sprop-parameter-sets=Z01AHqtgUBf8uAqQEBAUAAAPpAADqYOlABksDcoUQDuLFIs=,aM48gA==
a=control:track2

[rtsp @ 0x7fa99f807200] The profile-level-id field size is invalid (41)
[rtsp @ 0x7fa99f807200] setting jitter buffer size to 500
    Last message repeated 1 times
[rtsp @ 0x7fa99f807200] Error parsing AU headers
    Last message repeated 4 times
[h264 @ 0x7fa9a0806600] Reinit context to 640x368, pix_fmt: yuv420p
[rtsp @ 0x7fa99f807200] Error parsing AU headers
    Last message repeated 235 times
[rtsp @ 0x7fa99f807200] max_analyze_duration 5000000 reached at 5005000 microseconds st:1
Input #0, rtsp, from 'rtsp://jvc:0000@192.168.0.124:554/stream':
  Metadata:
    title           : KY-PZ100
    comment         : KY-PZ100
  Duration: N/A, start: 0.066733, bitrate: N/A
    Stream #0:0: Audio: aac, 48000 Hz, stereo, fltp
    Stream #0:1: Video: h264 (Main), 1 reference frame, yuv420p(tv, bt709, progressive, left), 640x360 (640x368) [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc

最佳答案

SDP验证fmtp c29d81e73641d0f58e6f058a095e18b99769dac1 中修复了整数参数范围但补丁可能还没有发布。

编译ffmpeg从最新的 git 源并重试。

关于java - FFMPEG profile-level-id 大小无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60281127/

相关文章:

java - while 循环中的多个条件的条件顺序是否重要?

Java和Ubuntu,java FTP服务器连接问题

java - 健康端点仅显示 "status: up"并且不显示敏感信息

用于检查给定用户、架构、表是否存在的 Java 代码?

c++ - 如何通过函数 C++ 链接数组值

c++ - 如何使用 xlib 正确截屏?

用于自动 getter-setter 方法的 C++ 类模板 - 好的/坏的做法?

networking - 为什么无法从同一网络中的另一台电脑接收 rtp 流?

ffmpeg CLI 设置 -r 30 如果输入 => 30 fps,否则 -r 如果 < 30 fps 则采用输入 fps

ffmpeg 将 yuv400p16le 转换为 yuv42016le