[FFmpeg-user] how to output mp4 video stream:muxer does not support non seekable output

Soho Soho123 soho123.2012 at gmail.com
Tue Mar 26 10:24:17 CET 2013


Hi all,


I would like to output a mp4 video stream  but I got error when I use
jwplayer to connect ffserver.
what is the menaing about "muxer does not support non seekable output"?

 my ffserver.conf for the stream:

<Stream test.mp4>
Feed feed1.ffm
Format mp4

AVOptionVideo flags +global_header
VideoSize 640x480
VideoFrameRate 10
VideoCodec libx264
NoAudio
</Stream>

the log is :

# ffserver -f /etc/ffserver.conf &
# ffserver version 1.2 Copyright (c) 2000-2013 the FFmpeg developers
  built on Mar 26 2013 16:09:05 with gcc 4.4.5-1.5.5p4 (GCC)
  configuration: --enable-cross-compile --cross-prefix=sdk-linux-
--arch=mips --target-os=linux --disable
-doc --disable-htmlpages --disable-manpages --disable-podpages
--disable-txtpages --disable-mips32r2 --dis
able-ffplay --disable-postproc --disable-runtime-cpudetect
--disable-swscale-alpha --disable-mipsdspr1 --d
isable-mipsdspr2 --disable-mipsfpu --enable-small
--prefix=/ffmpeg/romfs --bindir=/ffmpeg/romfs --disable-bsfs
--disable-filters --enable-gpl --enable-libx264 --extra-c
flags=-I/lib/crosslib/include --extra-libs='-L/lib/crosslib/lib
-lx264' --enable-filter='aformat,aresample
,copy,format,fps,framestep,resample' --disable-encoders
--enable-encoder='h264,libx264,libx264rgb' --enabl
e-encoder=yuv4 --enable-encoder=mjpeg --disable-decoders
--enable-decoder=mjpeg --enable-decoder=h264 --en
able-decoder=mpegvideo --enable-decoder=mpeg2video --enable-decoder=y
libavutil      52. 18.100 / 52. 18.
100
  libavcodec     54. 92.100 / 54. 92.100
  libavformat    54. 63.104 / 54. 63.104
  libavdevice    54.  3.103 / 54.  3.103
  libavfilter     3. 42.103 /  3. 42.103
  libswscale      2.  2.100 /  2.  2.100
  libswresample   0. 17.102 /  0. 17.102
Tue Mar 26 17:16:41 2013 FFserver started.
ffmpeg  -loglevel debug -f video4linux2 -r 10 -s 640x480 -input_format h264 -i
 /dev/video1  -vcodec copy  http://localhost:8090/feed1.ffm
ffmpeg version 1.2 Copyright (c) 2000-2013 the FFmpeg developers
  built on Mar 26 2013 16:09:05 with gcc 4.4.5-1.5.5p4 (GCC)
  configuration: --enable-cross-compile --cross-prefix=sdk-linux-
--arch=mips --target-os=linux --disable
-doc --disable-htmlpages --disable-manpages --disable-podpages
--disable-txtpages --disable-mips32r2 --dis
able-ffplay --disable-postproc --disable-Setting frame interval to
1/10 (1000000).
rUsing frame interval 100000.0 us (10.0 fps).
untime-cpudetect --disable-swscale-alpha --disable-mipsdspr1
--disable-mipsdspr2 --disable-mipsfpu --enabl
e-small --prefix=ffmpeg/romfs
--bindir=/ffmpeg/romfs --disabl
e-bsfs --disable-filters --enable-gpl --enable-libx264
--extra-cflags=-I/lib/crosslib/include --extra-libs
='-L/lib/crosslib/lib -lx264'
--enable-filter='aformat,aresample,copy,format,fps,framestep,resample'
--dis
able-encoders --enable-encoder='h264,libx264,libx264rgb'
--enable-encoder=yuv4 --enable-encoder=mjpeg --di
sable-decoders --enable-decoder=mjpeg --enable-decoder=h264
--enable-decoder=mpegvideo --enable-decoder=mp
eg2video --enable-decoder=y  libavutil      52. 18.100 / 52. 18.100
  libavcodec     54. 92.100 / 54. 92.100
  libavformat    54. 63.104 / 54. 63.104
  libavdevice    54.  3.103 / 54.  3.103
  libavfilter     3. 42.103 /  3. 42.103
  libswscale      2.  2.100 /  2.  2.100
  libswresample   0. 17.102 /  0. 17.102
Splitting the commandline.
Reading option '-loglevel' ... matched as option 'loglevel' (set
libav* logging level) with argument 'debug'.
Reading option '-f' ... matched as option 'f' (force format) with
argument 'video4linux2'.
Reading option '-r' ... matched as option 'r' (set frame rate (Hz
value, fraction or abbreviation)) with argument '10'.
Reading option '-s' ... matched as option 's' (set frame size (WxH or
abbreviation)) with argument '640x480'.
Reading option '-input_format' ... matched as AVOption 'input_format'
with argument 'h264'.
Reading option '-i' ... matched as input file with argument '/dev/video1'.
Reading option '-vcodec' ... matched as option 'vcodec' (force video
codec ('copy' to copy stream)) with a
rgument 'copy'.
Reading option 'http://localhost:8090/feed1.ffm' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set libav* logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input file /dev/video1.
Applying option f (force format) with argument video4linux2.
Applying option r (set frame rate (Hz value, fraction or
abbreviation)) with argument 10.
Applying option s (set frame size (WxH or abbreviation)) with argument 640x480.
Successfully parsed a group of options.
Opening an input file: /dev/video1.
[video4linux2,v4l2 @ 0x6af660] fd:3 capabilities:4000001
[video4linux2,v4l2 @ 0x6af660] Selecting input_channel: 0
[video4linux2,v4l2 @ 0x6af660] input_channel: 0, input_name: Camera 1
[video4linux2,v4l2 @ 0x6af660] Setting time per frame to 1/10
[video4linux2,v4l2 @ 0x6af660] End of v4l2_read_header
[h264 @ 0x6b0190] Using externally provided dimensions
[video4linux2,v4l2 @ 0x6af660] All info found
[video4linux2,v4l2 @ 0x6af660] Estimating duration from bitrate, this
may be inaccurate
Input #0, video4linux2,v4l2, from '/dev/video1':
  Duration: N/A, start: 71.040000, bitrate: N/A
    Stream #0:0, 8, 1/1000000: Video: h264, yuv420p, 640x480,
1/2000000, -1 kb/s, 10 fps, 10 tbr, 1000k tb
n, 2000k tbc
Successfully opened the file.
Parsing a group of options: output file http://localhost:8090/feed1.ffm.
Applying option vcodec (force video codec ('copy' to copy stream))
with argument copy.
Successfully parsed a group of options.
Opening an output file: http://localhost:8090/feed1.ffm.
[ffm @ 0x750900] Format ffm probed with size=2048 and score=101
[AVIOContext @ 0x75b5e0] Statistics: 4096 bytes read, 0 seeks
Successfully opened the file.
Output #0, ffm, to 'http://localhost:8090/feed1.ffm':
  Metadata:
    creation_time   : now
    encoder         : Lavf54.63.104
    Stream #0:0, 0, 1/1000000: Video: h264, yuv420p, 640x480,
1/1000000, q=2-31, -1 kb/s, 10 fps, 1000k tb
n, 1000k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame=   13 fps=0.0 q=-1.0 size=      40kB time=00:00:01.63 bitrate=
201.0kbits/s    Tue Mar 26 17:17:07 2013 127.0.0.1 - - [GET]
"/feed1.ffm HTTP/1.1" 200 4175
frame=   17 fps= 17 q=-1.0 size=     120kB time=00:00:02.03 bitrate=
484.3kbits/s    frame=   20 fps= 13 q=-1.0 size=     220kB
time=00:00:02.45 bitrate= 735.6kbits/s    frame=   25 fps= 12 q=-1.0
size=     360kB time=00:00:03.03 bitrate= 973.3kbits/s    frame=   30
fps= 12 q=-1.0 size=     504kB time=00:00:03.53 bitrate=1169.6kbits/s
  frame=   35 fps= 12 q=-1.0 size=     644kB time=00:00:04.03
bitrate=1309.1kbits/s    frame=   40 fps= 11 q=-1.0 size=     784kB
time=00:00:04.53 bitrate=1417.8kbits/s    frame=   45 fps= 11 q=-1.0
size=     924kB time=00:00:05.03 bitrate=1504.9kbits/s    frame=   50
fps= 11 q=-1.0 size=    1068kB time=00:00:05.54 bitrate=1579.3kbits/s
  frame=   55 fps= 11 q=-1.0 size=    1212kB time=00:00:06.04
bitrate=1643.8kbits/s    frame=   60 fps= 11 q=-1.0 size=    1352kB
time=00:00:06.54 bitrate=1693.5kbits/s    frame=   65 fps= 11 q=-1.0
size=    1496kB time=00:00:07.04 bitrate=1740.8kbits/s    frame=   70
fps= 11 q=-1.0 size=    1636kB time=00:00:07.54 bitrate=1777.5kbits/s
  frame=   75 fps= 11 q=-1.0 size=    1780kB time=00:00:08.04
bitrate=1813.7kbits/s    frame=   80 fps= 11 q=-1.0 size=    1920kB
time=00:00:08.54 bitrate=1841.8kbits/s    frame=   85 fps= 11 q=-1.0
size=    2064kB time=00:00:09.05 bitrate=1868.3kbits/s    frame=   90
fps= 11 q=-1.0 size=    2208kB time=00:00:09.55 bitrate=1894.0kbits/s
  frame=   95 fps= 11 q=-1.0 size=    2352kB time=00:00:10.05
bitrate=1917.2kbits/s    frame=  100 fps= 11 q=-1.0 size=    2496kB
time=00:00:10.55 bitrate=1938.1kbits/s    frame=  105 fps= 10 q=-1.0
size=    2636kB time=00:00:11.05 bitrate=1954.2kbits/s    Tue Mar 26
17:17:17 2013 muxer does not support non seekable output
Tue Mar 26 17:17:17 2013 Error writing output header
Tue Mar 26 17:17:17 2013 192.168.1.3 - - [GET] "/test.mp4 HTTP/1.1" 200 68
frame=  110 fps= 10 q=-1.0 size=    2780kB time=00:00:11.55
bitrate=1971.8kbits/s    frame=  115 fps= 10 q=-1.0 size=    2924kB
time=00:00:12.05 bitrate=1987.8kbits/s    frame=  120 fps= 10 q=-1.0
size=    3064kB time=00:00:12.55 bitrate=2000.0kbits/s    frame=  125
fps= 10 q=-1.0 size=    3208kB time=00:00:13.05 bitrate=2013.8kbits/s
  frame=  130 fps= 10 q=-1.0 size=    3352kB time=00:00:13.55
bitrate=2026.5kbits/s    frame=  135 fps= 10 q=-1.0 size=    3496kB
time=00:00:14.06 bitrate=2036.9kbits/s    frame=  140 fps= 10 q=-1.0
size=    3640kB time=00:00:14.56 bitrate=2048.0kbits/s    frame=  145
fps= 10 q=-1.0 size=    3784kB time=00:00:15.06 bitrate=2058.3kbits/s
  frame=  150 fps= 10 q=-1.0 size=    3924kB time=00:00:15.56
bitrate=2065.9kbits/s    frame=  155 fps= 10 q=-1.0 size=    4068kB
time=00:00:16.06 bitrate=2075.0kbits/s    frame=  160 fps= 10 q=-1.0
size=    4212kB time=00:00:16.56 bitrate=2083.6kbits/s    frame=  165
fps= 10 q=-1.0 size=    4356kB time=00:00:17.06 bitrate=2091.7kbits/s
  frame=  170 fps= 10 q=-1.0 size=    4496kB time=00:00:17.57
bitrate=2096.3kbits/s    frame=  175 fps= 10 q=-1.0 size=    4640kB
time=00:00:18.07 bitrate=2103.5kbits/s    frame=  180 fps= 10 q=-1.0
size=    4784kB time=00:00:18.57 bitrate=2110.4kbits/s    frame=  180
fps= 10 q=-1.0 Lsize=    4788kB time=00:00:18.57 bitrate=2112.2kbits/s
video:4764kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.511711%
Tue Mar 26 17:17:24 2013 127.0.0.1 - - [POST] "/feed1.ffm HTTP/1.1" 200 4902912
#


More information about the ffmpeg-user mailing list