[FFmpeg-user] ffserver avc1 incompatible with codec id '28'

Ricardo Kleemann ricardo at americasnet.com
Mon May 4 03:49:52 CEST 2015


Hello,

Sorry I'm jumping on my own question, but I did get past the error from the
original question. It turns out that I was using a ubuntu installed package
that didn't properly support libx264. So I recompiled ffmpeg.

But now I have a different problem, I'm getting this error:

$ sudo ffserver
ffserver version 2.4.3-1ubuntu1~trusty6 Copyright (c) 2000-2014 the FFmpeg
developers
  built on Nov 22 2014 17:07:19 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: --prefix=/usr --extra-version='1ubuntu1~trusty6'
--build-suffix=-ffmpeg --toolchain=hardened --extra-cflags=
--extra-cxxflags= --libdir=/usr/lib/x86_64-linux-gnu
--shlibdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu
--enable-gpl --enable-shared --disable-stripping --enable-avresample
--enable-avisynth --enable-fontconfig --enable-gnutls --enable-ladspa
--enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca
--enable-libcdio --enable-libflite --enable-libfreetype --enable-libfribidi
--enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame
--enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp
--enable-libschroedinger --enable-libshine --enable-libspeex
--enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis
--enable-libvpx --enable-libwavpack --enable-libwebp --enable-opengl
--enable-x11grab --enable-libxvid --enable-libx265 --enable-libdc1394
--enable-libiec61883 --enable-libzvbi --enable-libzmq --enable-frei0r
--enable-libx264 --enable-libsoxr --enable-openal --enable-libopencv
  libavutil      54.  7.100 / 54.  7.100
  libavcodec     56.  1.100 / 56.  1.100
  libavformat    56.  4.101 / 56.  4.101
  libavdevice    56.  0.100 / 56.  0.100
  libavfilter     5.  1.100 /  5.  1.100
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  0.100 /  3.  0.100
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  0.100 / 53.  0.100
Sun May  3 18:42:13 2015 FFserver started.
Sun May  3 18:42:18 2015 127.0.0.1 - - [GET] "/feed1.ffm HTTP/1.1" 200 4175
Sun May  3 18:42:27 2015 [mp4 @ 0xc0b0f0]sample rate not set
Sun May  3 18:42:27 2015 Error writing output header for stream 'live.mp4':
Invalid argument
Sun May  3 18:42:27 2015 45.50.16.215 - - [GET] "/live.mp4 HTTP/1.1" 200 68

I've tried ensuring a sample rate on both the ffmpeg and the ffserver
sides. Here's the ffserver config section:

<Stream live.mp4>
Feed feed1.ffm
Format mp4
AVOptionVideo flags +global_header
AudioCodec aac
AudioBitRate 64
AudioChannels 2
AudioSampleRate 48000
AVOptionAudio flags +global_header
</Stream>

And the ffmpeg command + output:

$ ffmpeg -re -i sample.mp4 -c copy -ar 48000 http://localhost:8090/feed1.ffm
ffmpeg version 2.6.git Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: --prefix=/home/ubuntu/ffmpeg_build
--pkg-config-flags=--static
--extra-cflags=-I/home/ubuntu/ffmpeg_build/include
--extra-ldflags=-L/home/ubuntu/ffmpeg_build/lib --bindir=/home/ubuntu/bin
--enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype
--enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis
--enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
  libavutil      54. 23.101 / 54. 23.101
  libavcodec     56. 35.101 / 56. 35.101
  libavformat    56. 31.100 / 56. 31.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 16.100 /  5. 16.100
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'sample.mp4':
  Metadata:
    major_brand     : qt
    minor_version   : 512
    compatible_brands: qt
    creation_time   : 1970-01-01 00:00:00
    encoder         : Lavf52.73.0
  Duration: 00:09:56.46, start: 0.000000, bitrate: 524 kb/s
    Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 /
0x31637661), yuv420p, 424x240, 420 kb/s, 24 fps, 24 tbr, 24 tbn, 48 tbc
(default)
    Metadata:
      creation_time   : 1970-01-01 00:00:00
      handler_name    : DataHandler
      encoder         : libx264
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
stereo, fltp, 99 kb/s (default)
    Metadata:
      creation_time   : 1970-01-01 00:00:00
      handler_name    : DataHandler
[libx264 @ 0x3876500] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x3876500] profile High, level 2.1
Output #0, ffm, to 'http://localhost:8090/feed1.ffm':
  Metadata:
    major_brand     : qt
    minor_version   : 512
    compatible_brands: qt
    creation_time   : now
    encoder         : Lavf56.31.100
    Stream #0:0(eng): Audio: aac (libfdk_aac), 48000 Hz, stereo, s16, 139
kb/s (default)
    Metadata:
      creation_time   : 1970-01-01 00:00:00
      handler_name    : DataHandler
      encoder         : Lavc56.35.101 libfdk_aac
    Stream #0:1(eng): Video: h264 (libx264), yuv420p, 424x240, q=-1--1, 24
fps, 1000k tbn, 24 tbc (default)
    Metadata:
      creation_time   : 1970-01-01 00:00:00
      handler_name    : DataHandler
      encoder         : Lavc56.35.101 libx264
Stream mapping:
  Stream #0:1 -> #0:0 (aac (native) -> aac (libfdk_aac))
  Stream #0:0 -> #0:1 (h264 (native) -> h264 (libx264))


On Sun, May 3, 2015 at 9:31 AM, Ricardo Kleemann <ricardo at americasnet.com>
wrote:

> Hi,
>
> I'm trying to feed a stream (mp4 file) to ffserver via ffmpeg, and trying
> to access on ffserver and get the error:
>
> Sun May  3 09:18:25 2015 127.0.0.1 - - [GET] "/feed1.ffm HTTP/1.1" 200 4175
> Sun May  3 09:18:32 2015 [mp4 @ 0x24edf10]Tag avc1/0x31637661 incompatible
> with output codec id '28' ([33][0][0][0])
> Sun May  3 09:18:32 2015 Error writing output header for stream
> 'live.mp4': Invalid data found when processing input
>
> The ffserver config for testing is very simple:
> <Stream live.mp4>
> Feed feed1.ffm
> Format mp4
> AVOptionVideo flags +global_header
> AVOptionAudio flags +global_header
> </Stream>
>
> (I've tried the test with and without the line "VideoCodec libx264" with
> same results... when not having the line in there the objective is to copy
> the instream codec)
>
> When I startup ffserver this is what I get:
>
> ~$ sudo ffserver
> ffserver version 2.4.3-1ubuntu1~trusty6 Copyright (c) 2000-2014 the FFmpeg
> developers
>   built on Nov 22 2014 17:07:19 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
>   configuration: --prefix=/usr --extra-version='1ubuntu1~trusty6'
> --build-suffix=-ffmpeg --toolchain=hardened --extra-cflags=
> --extra-cxxflags= --libdir=/usr/lib/x86_64-linux-gnu
> --shlibdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu
> --enable-gpl --enable-shared --disable-stripping --enable-avresample
> --enable-avisynth --enable-fontconfig --enable-gnutls --enable-ladspa
> --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca
> --enable-libcdio --enable-libflite --enable-libfreetype --enable-libfribidi
> --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame
> --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp
> --enable-libschroedinger --enable-libshine --enable-libspeex
> --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis
> --enable-libvpx --enable-libwavpack --enable-libwebp --enable-opengl
> --enable-x11grab --enable-libxvid --enable-libx265 --enable-libdc1394
> --enable-libiec61883 --enable-libzvbi --enable-libzmq --enable-frei0r
> --enable-libx264 --enable-libsoxr --enable-openal --enable-libopencv
>   libavutil      54.  7.100 / 54.  7.100
>   libavcodec     56.  1.100 / 56.  1.100
>   libavformat    56.  4.101 / 56.  4.101
>   libavdevice    56.  0.100 / 56.  0.100
>   libavfilter     5.  1.100 /  5.  1.100
>   libavresample   2.  1.  0 /  2.  1.  0
>   libswscale      3.  0.100 /  3.  0.100
>   libswresample   1.  1.100 /  1.  1.100
>   libpostproc    53.  0.100 / 53.  0.100
> Sun May  3 09:27:58 2015 FFserver started.
>
>
> Here is my line for ffmpeg:
>
> $ ffmpeg -re -i sample.mp4 -c copy http://localhost:8090/feed1.ffm
> ffmpeg version 2.4.3-1ubuntu1~trusty6 Copyright (c) 2000-2014 the FFmpeg
> developers
>   built on Nov 22 2014 17:07:19 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
>   configuration: --prefix=/usr --extra-version='1ubuntu1~trusty6'
> --build-suffix=-ffmpeg --toolchain=hardened --extra-cflags=
> --extra-cxxflags= --libdir=/usr/lib/x86_64-linux-gnu
> --shlibdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu
> --enable-gpl --enable-shared --disable-stripping --enable-avresample
> --enable-avisynth --enable-fontconfig --enable-gnutls --enable-ladspa
> --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca
> --enable-libcdio --enable-libflite --enable-libfreetype --enable-libfribidi
> --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame
> --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp
> --enable-libschroedinger --enable-libshine --enable-libspeex
> --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis
> --enable-libvpx --enable-libwavpack --enable-libwebp --enable-opengl
> --enable-x11grab --enable-libxvid --enable-libx265 --enable-libdc1394
> --enable-libiec61883 --enable-libzvbi --enable-libzmq --enable-frei0r
> --enable-libx264 --enable-libsoxr --enable-openal --enable-libopencv
>   libavutil      54.  7.100 / 54.  7.100
>   libavcodec     56.  1.100 / 56.  1.100
>   libavformat    56.  4.101 / 56.  4.101
>   libavdevice    56.  0.100 / 56.  0.100
>   libavfilter     5.  1.100 /  5.  1.100
>   libavresample   2.  1.  0 /  2.  1.  0
>   libswscale      3.  0.100 /  3.  0.100
>   libswresample   1.  1.100 /  1.  1.100
>   libpostproc    53.  0.100 / 53.  0.100
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'sample.mp4':
>   Metadata:
>     major_brand     : qt
>     minor_version   : 512
>     compatible_brands: qt
>     creation_time   : 1970-01-01 00:00:00
>     encoder         : Lavf52.73.0
>   Duration: 00:09:56.46, start: 0.000000, bitrate: 524 kb/s
>     Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 /
> 0x31637661), yuv420p, 424x240, 420 kb/s, 24 fps, 24 tbr, 24 tbn, 48 tbc
> (default)
>     Metadata:
>       creation_time   : 1970-01-01 00:00:00
>       handler_name    : DataHandler
>       encoder         : libx264
>     Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo,
> fltp, 99 kb/s (default)
>     Metadata:
>       creation_time   : 1970-01-01 00:00:00
>       handler_name    : DataHandler
> Output #0, ffm, to 'http://localhost:8090/feed1.ffm':
>   Metadata:
>     major_brand     : qt
>     minor_version   : 512
>     compatible_brands: qt
>     creation_time   : now
>     encoder         : Lavf56.4.101
>     Stream #0:0(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, 99
> kb/s (default)
>     Metadata:
>       creation_time   : 1970-01-01 00:00:00
>       handler_name    : DataHandler
>     Stream #0:1(eng): Video: h264 (avc1 / 0x31637661), yuv420p, 424x240,
> q=2-31, 420 kb/s, 24 fps, 1000k tbn, 24 tbc (default)
>     Metadata:
>       creation_time   : 1970-01-01 00:00:00
>       handler_name    : DataHandler
>       encoder         : libx264
>     Stream #0:2(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, 99
> kb/s (default)
>     Metadata:
>       creation_time   : 1970-01-01 00:00:00
>       handler_name    : DataHandler
>     Stream #0:3(eng): Video: h264 (avc1 / 0x31637661), yuv420p, 424x240,
> q=2-31, 420 kb/s, 24 fps, 1000k tbn, 24 tbc (default)
>     Metadata:
>       creation_time   : 1970-01-01 00:00:00
>       handler_name    : DataHandler
>       encoder         : libx264
>     Stream #0:4(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, 99
> kb/s (default)
>     Metadata:
>       creation_time   : 1970-01-01 00:00:00
>       handler_name    : DataHandler
>     Stream #0:5(eng): Video: h264 (avc1 / 0x31637661), yuv420p, 424x240,
> q=2-31, 420 kb/s, 24 fps, 1000k tbn, 24 tbc (default)
>     Metadata:
>       creation_time   : 1970-01-01 00:00:00
>       handler_name    : DataHandler
>       encoder         : libx264
> Stream mapping:
>   Stream #0:1 -> #0:0 (copy)
>   Stream #0:0 -> #0:1 (copy)
>   Stream #0:1 -> #0:2 (copy)
>   Stream #0:0 -> #0:3 (copy)
>   Stream #0:1 -> #0:4 (copy)
>   Stream #0:0 -> #0:5 (copy)
> Press [q] to stop, [?] for help
> frame=   13 fps=0.0 q=-1.0 q=-1.0 q=-1.0 size=      40kB time=00:00:00.54
> bitratframe=   25 fps= 25 q=-1.0 q=-1.0 q=-1.0 size=      92kB
> time=00:00:01.04 bitratframe=   37 fps= 24 q=-1.0 q=-1.0 q=-1.0 size=
> 160kB time=00:00:01.55 bitratframe=   50 fps= 25 q=-1.0 q=-1.0 q=-1.0
> size=     260kB time=00:00:02.08 bitratframe=   53 fps= 24 q=-1.0 Lq=-1.0
> q=-1.0 size=     292kB time=00:00:02.20 bitrate=1083.2kbits/s
>
>
> When I try to access the "live.mp4" stream here's what I get on ffserver:
>
> Sun May  3 09:30:10 2015 127.0.0.1 - - [GET] "/feed1.ffm HTTP/1.1" 200 4175
> Sun May  3 09:30:17 2015 [mp4 @ 0x14a7950]Tag avc1/0x31637661 incompatible
> with output codec id '28' ([33][0][0][0])
> Sun May  3 09:30:17 2015 Error writing output header for stream
> 'live.mp4': Invalid data found when processing input
> Sun May  3 09:30:17 2015 45.50.16.215 - - [GET] "/live.mp4 HTTP/1.1" 200 68
> Sun May  3 09:30:23 2015 45.50.16.215 - - [] " " 200 0
>
> So I don't quite understand the incompatible error. After all, this is
> h264/avc1. Is the avc1 from ffmpeg different? Should I be specifying
> something different in the ffserver.conf? Even when I specify libx264 I get
> the same error.
>
> thank you
> Ricardo
>


More information about the ffmpeg-user mailing list