FFmpeg无法找到yuv420p stream

时间:2017-03-30 08:52:40

标签: ios video ffmpeg video-streaming

我正在尝试使用FFmpeg(使用IJKPlayer)从相机流式传输RTSP流。我试图在iOS上这样做,所以我自己编译了FFmpeg。

但是,当我尝试播放流时,似乎会产生错误:

  

无法找到流0的编解码器参数(视频:h264,1参考   frame,none(left)):未指定的大小考虑增加值   'analyzeuration'和'probesize'选项

再往下,显示的流信息如下:

  Metadata:
    title           : streamed by the Santachi RTSP server
  Duration: N/A, start: 0.000000, bitrate: 64 kb/s
    Stream #0:0, 0, 1/90000: Video: h264, 1 reference frame, none(left), 90k tbr, 90k tbn, 180k tbc
    Stream #0:1, 0, 1/8000: Audio: pcm_alaw, 8000 Hz, 1 channels, s16, 64 kb/s

作为参考,当我尝试从我的PC连接到流时,它可以工作,我得到的流信息如下:

  Metadata:
    title           : streamed by the Santachi RTSP server
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0, 28, 1/90000: Video: h264 (Main), 1 reference frame, yuv420p(progressive, left), 1280x720, 0/1, 20 tbr, 90k tbn, 180k tbc
    Stream #0:1, 17, 1/8000: Audio: pcm_alaw, 8000 Hz, mono, s16, 64 kb/s

看到编解码器是yuv420p,我重新编译了FFmpeg并包含以下选项:

COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=yuv4"
COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=yuv4mpegpipe"

H264解码器和解析器已经启用。但结果是一样的。此外,来自不同来源的其他流似乎工作正常。只是这个特定的相机的流不起作用。

因为看起来FFmpeg在正确编译时可以使用流,所以在编译时我似乎缺少一些选项,但我不知道哪些选项。有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

我设法通过切换到VLCKit(可用作iOS的Pod)来解决我的问题。虽然它仍然使用下面的ffmpeg,但它对流做了一些“魔术”,它似乎工作正常。