【问题标题】:`ffmpeg` can not dump RTSP streaming but `ffplay` can play it`ffmpeg` 不能转储 RTSP 流,但 `ffplay` 可以播放
【发布时间】:2014-03-12 08:15:17
【问题描述】:

我想将 RTSP 流转储到文件中。

ffmpeg -y-i rtsp://172.19.12.37/live.sdp -acodec copy -vcodec copy tmp.mp4

但我有错误,

[mp4 @ 0x7fe98400dc00] track 1: could not find tag, codec not currently supported in container

Could not write header for output file #0 (incorrect codec parameters ?): Operation not permitted

但是,我可以通过任何媒体播放器播放 RTSP 流,我的 ffmpeg 命令有什么问题?

是否有任何选项可以转储任何流并将其转储为相同的视频格式。

ffplay日志

$ ffplay rtsp://172.19.12.37/live.sdp
ffplay version 2.1.4 Copyright (c) 2003-2014 the FFmpeg developers
  built on Mar 12 2014 14:37:48 with Apple LLVM version 5.1 (clang-503.0.38) (based on LLVM 3.4svn)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/2.1.4 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid --enable-libfreetype --enable-libtheora --enable-libvorbis --enable-libvpx --enable-librtmp --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-aacenc --enable-libass --enable-ffplay --enable-libspeex --enable-libschroedinger --enable-libfdk-aac --enable-openssl --enable-libopus --enable-frei0r --enable-libcaca --enable-libquvi --enable-libopenjpeg --extra-cflags='-I/usr/local/Cellar/openjpeg/1.5.1/include/openjpeg-1.5 '
  libavutil      52. 48.101 / 52. 48.101
  libavcodec     55. 39.101 / 55. 39.101
  libavformat    55. 19.104 / 55. 19.104
  libavdevice    55.  5.100 / 55.  5.100
  libavfilter     3. 90.100 /  3. 90.100
  libavresample   1.  1.  0 /  1.  1.  0
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
[h264 @ 0x7fb966001c00] RTP: missed 13 packets0KB sq=    0B f=0/0
[h264 @ 0x7fb966001c00] left block unavailable for requested intra mode at 0 86
[h264 @ 0x7fb966001c00] error while decoding MB 0 86, bytestream (347)
[h264 @ 0x7fb966001c00] concealing 5489 DC, 5489 AC, 5489 MV errors in I frame
Input #0, rtsp, from 'rtsp://172.19.12.37/live.sdp':=    0B f=0/0
  Metadata:
    title           : RTSP server
  Duration: N/A, start: 0.000000, bitrate: 64 kb/s
    Stream #0:0: Video: h264 (Main), yuv420p, 2560x1920, 13.33 tbr, 90k tbn, 180k tbc
    Stream #0:1: Audio: pcm_mulaw, 8000 Hz, 1 channels, s16, 64 kb/s
[h264 @ 0x7fb966888400] left block unavailable for requested intra mode at 0 86
[h264 @ 0x7fb966888400] error while decoding MB 0 86, bytestream (347)
[h264 @ 0x7fb966888400] concealing 5489 DC, 5489 AC, 5489 MV errors in I frame
   5.08 A-V:    nan fd=   2 aq=    0KB vq=    0KB sq=    0B f=1/1

ffmpeg 日志

ffmpeg version 2.1.4 Copyright (c) 2000-2014 the FFmpeg developers
  built on Mar 12 2014 14:37:48 with Apple LLVM version 5.1 (clang-503.0.38) (based on LLVM 3.4svn)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/2.1.4 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid --enable-libfreetype --enable-libtheora --enable-libvorbis --enable-libvpx --enable-librtmp --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-aacenc --enable-libass --enable-ffplay --enable-libspeex --enable-libschroedinger --enable-libfdk-aac --enable-openssl --enable-libopus --enable-frei0r --enable-libcaca --enable-libquvi --enable-libopenjpeg --extra-cflags='-I/usr/local/Cellar/openjpeg/1.5.1/include/openjpeg-1.5 '
  libavutil      52. 48.101 / 52. 48.101
  libavcodec     55. 39.101 / 55. 39.101
  libavformat    55. 19.104 / 55. 19.104
  libavdevice    55.  5.100 / 55.  5.100
  libavfilter     3. 90.100 /  3. 90.100
  libavresample   1.  1.  0 /  1.  1.  0
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Guessed Channel Layout for  Input Stream #0.1 : mono
Input #0, rtsp, from 'rtsp://172.19.12.37/live.sdp':
  Metadata:
    title           : RTSP server
  Duration: N/A, start: 0.000000, bitrate: 64 kb/s
    Stream #0:0: Video: h264 (Main), yuv420p, 2560x1920, 13.33 tbr, 90k tbn, 180k tbc
    Stream #0:1: Audio: pcm_mulaw, 8000 Hz, mono, s16, 64 kb/s
[mp4 @ 0x7fe98400dc00] track 1: could not find tag, codec not currently supported in container
Output #0, mp4, to 'tmp.mp4':
  Metadata:
    title           : RTSP server
    encoder         : Lavf55.19.104
    Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 2560x1920, q=2-31, 90k tbn, 90k tbc
    Stream #0:1: Audio: pcm_mulaw, 8000 Hz, mono, 64 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Could not write header for output file #0 (incorrect codec parameters ?): Operation not permitted

【问题讨论】:

    标签: video ffmpeg


    【解决方案1】:

    [mp4 @ 0x7fe98400dc00] track 1: could not find tag, codec not currently supported in container

    这意味着在 MP4 输出容器格式中不允许使用 pcm_mulaw。您的选择是:

    使用不同的输出容器格式

    ffmpeg -i input -codec copy output.mkv
    

    或者重新编码音频

    ffmpeg -i input -c:v copy -c:a aac output.mp4
    

    【讨论】:

    • 我遇到了同样的问题。我需要更多参数才能使其对我有用: ffmpeg -i rtsp://172.19.12.37/live.sdp -flags +global_header -vcodec copy -acodec libfdk_aac output.mp4
    猜你喜欢
    • 2021-12-14
    • 2019-05-18
    • 1970-01-01
    • 2016-06-26
    • 2016-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多