[Ffmpeg-devel] [Ffmpeg-devel-old] Segfaults when streaming

Adam K Kirchhoff adamk
Mon Aug 8 17:13:15 CEST 2005


Adam K Kirchhoff wrote:

>
> How about this:
> Has anyone gotten this to work with a brooktree card and a version 
> from CVS?  If so, can you send your ffserver.conf file and tell me the 
> date of the pull from CVS?
>
> Adam
>

Alright...  So apparently this is a bug that no one wants to deal with 
at the moment.  Is there a bug tracker for ffmpeg?  Should I just leave 
this problem as is and assume it's being worked on?

Adam

>
> Adam K Kirchhoff wrote:
>
>>
>> No one knows what's wrong?
>>
>> Adam
>>
>> Adam K Kirchhoff wrote:
>>
>>>
>>> Hello all,
>>>
>>>    I'm trying to get ffserver and ffmpeg to stream live video from 
>>> my brooktree card, but I'm running into some problems.
>>>
>>>    ffmpeg is from cvs (late last week), and was configured with 
>>> "--enable-mp3lame --enable-xvid --enable-faad --enable-faac 
>>> --enable-libogg --enable-gpl --enable-vorbis".  It built without 
>>> problems.
>>>
>>>    I'm using the ffserver.conf file from the doc directory, but have 
>>> commented out all streams except for the mpeg one (I'm attaching my 
>>> ffserver.conf file, just in case).  I start up ffserver without any 
>>> problems.  When I go try to send a feed to the server, this is what 
>>> I get:
>>>
>>> [ adamk at thorn - ~ ]: ffmpeg http://localhost:8090/feed1.ffm ffmpeg 
>>> version CVS, build 4759, Copyright (c) 2000-2004 Fabrice Bellard
>>>  configuration:  --enable-mp3lame --enable-xvid --enable-faad 
>>> --enable-faac --enable-libogg --enable-gpl --enable-vorbis
>>>  built on Aug  3 2005 14:07:46, gcc: 3.3.4
>>> Input #0, video4linux, from '':
>>>  Duration: N/A, bitrate: N/A
>>>  Stream #0.0: Video: rawvideo, yuv420p, 320x240, 3.00 fps
>>> Input #1, audio_device, from '':
>>>  Duration: N/A, bitrate: N/A
>>>  Stream #1.0: Audio: pcm_s16le, 44100 Hz, mono, 705 kb/s
>>> picture size invalid (0x236)
>>> Segmentation fault
>>>
>>> Run through gdb:
>>>
>>> [ adamk at thorn - ~/saved/source/ffmpeg ]: gdb ./ffmpeg_g
>>> GNU gdb 6.3
>>> Copyright 2004 Free Software Foundation, Inc.
>>> GDB is free software, covered by the GNU General Public License, and 
>>> you are
>>> welcome to change it and/or distribute copies of it under certain 
>>> conditions.
>>> Type "show copying" to see the conditions.
>>> There is absolutely no warranty for GDB.  Type "show warranty" for 
>>> details.
>>> This GDB was configured as "i486-slackware-linux"...Using host 
>>> libthread_db library "/lib/libthread_db.so.1".
>>>
>>> (gdb) set args http://localhost:8090/feed1.ffm
>>> (gdb) run
>>> Starting program: /home/adamk/saved/source/ffmpeg/ffmpeg_g 
>>> http://localhost:8090/feed1.ffm
>>> ffmpeg version CVS, build 4759, Copyright (c) 2000-2004 Fabrice Bellard
>>>  configuration:  --enable-mp3lame --enable-xvid --enable-faad 
>>> --enable-faac --enable-libogg --enable-gpl --enable-vorbis
>>>  built on Aug  3 2005 14:07:46, gcc: 3.3.4
>>> Input #0, video4linux, from '':
>>>  Duration: N/A, bitrate: N/A
>>>  Stream #0.0: Video: rawvideo, yuv420p, 320x240, 3.00 fps
>>> Input #1, audio_device, from '':
>>>  Duration: N/A, bitrate: N/A
>>>  Stream #1.0: Audio: pcm_s16le, 44100 Hz, mono, 705 kb/s
>>> picture size invalid (0x236)
>>>
>>> Program received signal SIGSEGV, Segmentation fault.
>>> 0xb7bc828a in img_resample_close () from /usr/local/lib/libavcodec.so
>>> (gdb) bt
>>> #0  0xb7bc828a in img_resample_close () from 
>>> /usr/local/lib/libavcodec.so
>>> #1  0x0804bc3f in av_encode (output_files=0x805aa40, 
>>> nb_output_files=1, input_files=0x805a940, nb_input_files=2, 
>>> stream_maps=0x805aaa0,
>>>    nb_stream_maps=0) at ffmpeg.c:2165
>>> #2  0x0804a821 in main (argc=8998, argv=0xbfe76724) at ffmpeg.c:4491
>>> (gdb) disass $pc-32 $pc+32
>>> Dump of assembler code from 0xb7bc826a to 0xb7bc82aa:
>>> 0xb7bc826a <img_resample+186>:  decl   0x5e5bf465(%ebp)
>>> 0xb7bc8270 <img_resample+192>:  pop    %edi
>>> 0xb7bc8271 <img_resample+193>:  pop    %ebp
>>> 0xb7bc8272 <img_resample+194>:  ret   0xb7bc8273 
>>> <img_resample+195>:  lea    0x0(%esi),%esi
>>> 0xb7bc8279 <img_resample+201>:  lea    0x0(%edi),%edi
>>> 0xb7bc8280 <img_resample_close+0>:      push   %ebp
>>> 0xb7bc8281 <img_resample_close+1>:      mov    %esp,%ebp
>>> 0xb7bc8283 <img_resample_close+3>:      push   %ebx
>>> 0xb7bc8284 <img_resample_close+4>:      sub    $0x10,%esp
>>> 0xb7bc8287 <img_resample_close+7>:      mov    0x8(%ebp),%ebx
>>> 0xb7bc828a <img_resample_close+10>:     mov    0x140(%ebx),%edx
>>> 0xb7bc8290 <img_resample_close+16>:     push   %edx
>>> 0xb7bc8291 <img_resample_close+17>:     call   0xb7abd940 <av_free>
>>> 0xb7bc8296 <img_resample_close+22>:     mov    %ebx,0x8(%ebp)
>>> 0xb7bc8299 <img_resample_close+25>:     add    $0x10,%esp
>>> 0xb7bc829c <img_resample_close+28>:     mov    0xfffffffc(%ebp),%ebx
>>> 0xb7bc829f <img_resample_close+31>:     mov    %ebp,%esp
>>> 0xb7bc82a1 <img_resample_close+33>:     pop    %ebp
>>> 0xb7bc82a2 <img_resample_close+34>:     jmp    0xb7abd940 <av_free>
>>> 0xb7bc82a7 <img_resample_close+39>:     mov    %esi,%esi
>>> 0xb7bc82a9 <img_resample_close+41>:     lea    0x0(%edi),%edi
>>> End of assembler dump.
>>> eax            0x1      1
>>> ecx            0x806ae84        134655620
>>> edx            0x0      0
>>> ebx            0x0      0
>>> esp            0xbfe76024       0xbfe76024
>>> ebp            0xbfe76038       0xbfe76038
>>> esi            0x0      0
>>> edi            0x806ad70        134655344
>>> eip            0xb7bc828a       0xb7bc828a
>>> eflags         0x10286  66182
>>> cs             0x73     115
>>> ss             0x7b     123
>>> ds             0x7b     123
>>> es             0x7b     123
>>> fs             0x0      0
>>> gs             0x0      0
>>> st0            0        (raw 0x00000000000000000000)
>>> st1            0        (raw 0x00000000000000000000)
>>> st2            0        (raw 0x00000000000000000000)
>>> st3            0        (raw 0x00000000000000000000)
>>> st4            21.994216536704321640627313172444701     (raw 
>>> 0x4003aff427ccb24cb000)
>>> st5            16       (raw 0x40038000000000000000)
>>> st6            -5.4564792608687668826195071858364827e-12        (raw 
>>> 0xbfd9bffb988f00000000)
>>> st7            32768    (raw 0x400e8000000000000000)
>>> fctrl          0x37f    895
>>> fstat          0x32     50
>>> ftag           0xffff   65535
>>> fiseg          0x73     115
>>> fioff          0xb7ae9c43       -1213293501
>>> foseg          0x7b     123
>>> fooff          0xbfe75f40       -1075355840
>>> fop            0x1c9    457
>>> xmm0           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 
>>> 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0,
>>>    0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, 
>>> v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
>>> xmm1           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 
>>> 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0,
>>>    0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, 
>>> v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
>>> xmm2           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 
>>> 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0,
>>>    0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, 
>>> v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
>>> xmm3           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 
>>> 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0,
>>>    0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, 
>>> v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
>>> xmm4           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 
>>> 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0,
>>>    0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, 
>>> v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
>>> xmm5           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 
>>> 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0,
>>>    0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, 
>>> v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
>>> xmm6           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 
>>> 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0,
>>>    0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, 
>>> v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
>>> xmm7           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 
>>> 0x0}, v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0,
>>>    0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, 
>>> v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
>>> mxcsr          0x1f80   8064
>>> mm0            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = 
>>> {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
>>> 0x0}}
>>> mm1            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = 
>>> {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
>>> 0x0}}
>>> mm2            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = 
>>> {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
>>> 0x0}}
>>> mm3            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = 
>>> {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
>>> 0x0}}
>>> mm4            {uint64 = 0xaff427ccb24cb000, v2_int32 = {0xb24cb000, 
>>> 0xaff427cc}, v4_int16 = {0xb000, 0xb24c, 0x27cc, 0xaff4}, v8_int8 = {
>>>    0x0, 0xb0, 0x4c, 0xb2, 0xcc, 0x27, 0xf4, 0xaf}}
>>> mm5            {uint64 = 0x8000000000000000, v2_int32 = {0x0, 
>>> 0x80000000}, v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 
>>> 0x0, 0x0,
>>>    0x0, 0x0, 0x0, 0x0, 0x80}}
>>> mm6            {uint64 = 0xbffb988f00000000, v2_int32 = {0x0, 
>>> 0xbffb988f}, v4_int16 = {0x0, 0x0, 0x988f, 0xbffb}, v8_int8 = {0x0, 
>>> 0x0, 0x0,
>>>    0x0, 0x8f, 0x98, 0xfb, 0xbf}}
>>> mm7            {uint64 = 0x8000000000000000, v2_int32 = {0x0, 
>>> 0x80000000}, v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 
>>> 0x0, 0x0,
>>>    0x0, 0x0, 0x0, 0x0, 0x80}}
>>>
>>> I've also tried modifying ffserver.conf so, uncommenting the NoVideo 
>>> line.  This time I get something different:
>>>
>>> (gdb) set args http://localhost:8090/feed1.ffm
>>> (gdb) run
>>> Starting program: /home/adamk/saved/source/ffmpeg/ffmpeg_g 
>>> http://localhost:8090/feed1.ffm
>>> ffmpeg version CVS, build 4759, Copyright (c) 2000-2004 Fabrice Bellard
>>>  configuration:  --enable-mp3lame --enable-xvid --enable-faad 
>>> --enable-faac --enable-libogg --enable-gpl --enable-vorbis
>>>  built on Aug  3 2005 14:07:46, gcc: 3.3.4
>>> Input #0, audio_device, from '':
>>>  Duration: N/A, bitrate: N/A
>>>  Stream #0.0: Audio: pcm_s16le, 44100 Hz, mono, 705 kb/s
>>> Output #0, ffm, to 'http://localhost:8090/feed1.ffm':
>>>  Stream #0.0: Audio: mp2, 44100 Hz, mono
>>> Stream mapping:
>>>  Stream #0.0 -> #0.0
>>> Press [q] to stop encoding
>>>
>>> Program received signal SIGSEGV, Segmentation fault.
>>> 0x0804b810 in av_encode (output_files=0x805aa40, nb_output_files=1, 
>>> input_files=0x805a940, nb_input_files=1, stream_maps=0x805aaa0,
>>>    nb_stream_maps=0) at ffmpeg.c:2028
>>> 2028                if(ost->frame_number >= 
>>> max_frames[ost->st->codec->codec_type]){
>>> (gdb) disass $pc-32 $pc+32
>>> Dump of assembler code from 0x804b7f0 to 0x804b830:
>>> 0x0804b7f0 <av_encode+2400>:    inc    %ebp
>>> 0x0804b7f1 <av_encode+2401>:    jne    0x804bf10 <av_encode+4224>
>>> 0x0804b7f7 <av_encode+2407>:    test   %ebx,%ebx
>>> 0x0804b7f9 <av_encode+2409>:    fstpl  0xfffffa80(%ebp)
>>> 0x0804b7ff <av_encode+2415>:    jne    0x804b807 <av_encode+2423>
>>> 0x0804b801 <av_encode+2417>:    mov    %edx,0xfffffa98(%ebp)
>>> 0x0804b807 <av_encode+2423>:    mov    0x8(%ecx),%edi
>>> 0x0804b80a <av_encode+2426>:    mov    0xe0(%edi),%edx
>>> 0x0804b810 <av_encode+2432>:    mov    0x805a5a8(,%edx,4),%esi
>>> 0x0804b817 <av_encode+2439>:    mov    0xfffffac0(%ebp),%ecx
>>> 0x0804b81d <av_encode+2445>:    cmp    %esi,0x14(%ecx)
>>> 0x0804b820 <av_encode+2448>:    jge    0x804b9c6 <av_encode+2870>
>>> 0x0804b826 <av_encode+2454>:    incl   0xfffffad8(%ebp)
>>> 0x0804b82c <av_encode+2460>:    mov    0xfffffac8(%ebp),%eax
>>> End of assembler dump.
>>>
>>> I'll spare you from the all-registers info this time, but let me 
>>> know if you'd like me to send it along.
>>>
>>> Any help would be appreciated.  Thanks!
>>>
>>> Adam
>>>
>>> ------------------------------------------------------------------------ 
>>>
>>>
>>> # Port on which the server is listening. You must select a different
>>> # port from your standard HTTP web server if it is running on the same
>>> # computer.
>>> Port 8090
>>>
>>> # Address on which the server is bound. Only useful if you have
>>> # several network interfaces.
>>> BindAddress 0.0.0.0
>>>
>>> # Number of simultaneous requests that can be handled. Since FFServer
>>> # is very fast, it is more likely that you will want to leave this high
>>> # and use MaxBandwidth, below.
>>> MaxClients 1000
>>>
>>> # This the maximum amount of kbit/sec that you are prepared to
>>> # consume when streaming to clients.
>>> MaxBandwidth 1000
>>>
>>> # Access log file (uses standard Apache log file format)
>>> # '-' is the standard output.
>>> CustomLog -
>>>
>>> # Suppress that if you want to launch ffserver as a daemon.
>>> NoDaemon
>>>
>>>
>>> ##################################################################
>>> # Definition of the live feeds. Each live feed contains one video
>>> # and/or audio sequence coming from an ffmpeg encoder or another
>>> # ffserver. This sequence may be encoded simultaneously with several
>>> # codecs at several resolutions.
>>>
>>> <Feed feed1.ffm>
>>>
>>> # You must use 'ffmpeg' to send a live feed to ffserver. In this
>>> # example, you can type:
>>> # # ffmpeg http://localhost:8090/feed1.ffm
>>>
>>> # ffserver can also do time shifting. It means that it can stream any
>>> # previously recorded live stream. The request should contain:
>>> # "http://xxxx?date=[YYYY-MM-DDT][[HH:]MM:]SS[.m...]".You must specify
>>> # a path where the feed is stored on disk. You also specify the
>>> # maximum size of the feed (100M bytes here). Default:
>>> # File=/tmp/feed_name.ffm FileMaxSize=5M
>>> File /tmp/feed1.ffm
>>> FileMaxSize 200K
>>>
>>> # You could specify
>>> # ReadOnlyFile /saved/specialvideo.ffm
>>> # This marks the file as readonly and it will not be deleted or 
>>> updated.
>>>
>>> # Specify launch in order to start ffmpeg automatically.
>>> #Launch
>>>
>>> # Only allow connections from localhost to the feed.
>>> ACL allow 127.0.0.1
>>>
>>> </Feed>
>>>
>>>
>>> ##################################################################
>>> # Now you can define each stream which will be generated from the
>>> # original audio and video stream. Each format has a filename (here
>>> # 'test1.mpg'). FFServer will send this stream when answering a
>>> # request containing this filename.
>>>
>>> <Stream test1.mpg>
>>>
>>> # coming from live feed 'feed1'
>>> Feed feed1.ffm
>>>
>>> # Format of the stream : you can choose among:
>>> # mpeg       : MPEG-1 multiplexed video and audio
>>> # mpegvideo  : only MPEG-1 video
>>> # mp2        : MPEG-2 audio (use AudioCodec to select layer 2 and 3 
>>> codec)
>>> # ogg        : Ogg format (Vorbis audio codec)
>>> # rm         : RealNetworks-compatible stream. Multiplexed audio and 
>>> video.
>>> # ra         : RealNetworks-compatible stream. Audio only.
>>> # mpjpeg     : Multipart JPEG (works with Netscape without any plugin)
>>> # jpeg       : Generate a single JPEG image.
>>> # asf        : ASF compatible streaming (Windows Media Player format).
>>> # swf        : Macromedia Flash compatible stream
>>> # avi        : AVI format (MPEG-4 video, MPEG audio sound)
>>> # master     : special ffmpeg stream used to duplicate a server
>>> Format mpeg
>>>
>>> # Bitrate for the audio stream. Codecs usually support only a few
>>> # different bitrates. AudioBitRate 32
>>>
>>> # Number of audio channels: 1 = mono, 2 = stereo
>>> AudioChannels 1
>>>
>>> # Sampling frequency for audio. When using low bitrates, you should
>>> # lower this frequency to 22050 or 11025. The supported frequencies
>>> # depend on the selected audio codec.
>>> AudioSampleRate 44100
>>>
>>> # Bitrate for the video stream
>>> VideoBitRate 64
>>>
>>> # Ratecontrol buffer size
>>> VideoBufferSize 40
>>>
>>> # Number of frames per second
>>> VideoFrameRate 3
>>>
>>> # Size of the video frame: WxH (default: 160x128)
>>> # The following abbreviations are defined: sqcif, qcif, cif, 4cif
>>> #VideoSize 160x128
>>> VideoSize 320x240
>>>
>>> # Transmit only intra frames (useful for low bitrates, but kills 
>>> frame rate).
>>> #VideoIntraOnly
>>>
>>> # If non-intra only, an intra frame is transmitted every VideoGopSize
>>> # frames. Video synchronization can only begin at an intra frame.
>>> VideoGopSize 12
>>>
>>> # More MPEG-4 parameters
>>> # VideoHighQuality
>>> # Video4MotionVector
>>>
>>> # Choose your codecs: #AudioCodec mp2
>>> #VideoCodec mpeg1video
>>>
>>> # Suppress audio
>>> #NoAudio
>>>
>>> # Suppress video
>>> #NoVideo
>>>
>>> #VideoQMin 3
>>> #VideoQMax 31
>>>
>>> # Set this to the number of seconds backwards in time to start. Note 
>>> that
>>> # most players will buffer 5-10 seconds of video, and also you need 
>>> to allow
>>> # for a keyframe to appear in the data stream.
>>> #Preroll 15
>>>
>>> # ACL:
>>>
>>> # You can allow ranges of addresses (or single addresses)
>>> #ACL ALLOW <first address> <last address>
>>>
>>> # You can deny ranges of addresses (or single addresses)
>>> #ACL DENY <first address> <last address>
>>>
>>> # You can repeat the ACL allow/deny as often as you like. It is on a 
>>> per
>>> # stream basis. The first match defines the action. If there are no 
>>> matches,
>>> # then the default is the inverse of the last ACL statement.
>>> #
>>> # Thus 'ACL allow localhost' only allows access from localhost. # 
>>> 'ACL deny 1.0.0.0 1.255.255.255' would deny the whole of network 1 and
>>> # allow everybody else.
>>>
>>> </Stream>
>>>
>>>
>>> ##################################################################
>>> # Example streams
>>>
>>>
>>> # Multipart JPEG
>>>
>>> #<Stream test.mjpg>
>>> #Feed feed1.ffm
>>> #Format mpjpeg
>>> #VideoFrameRate 2
>>> #VideoIntraOnly
>>> #NoAudio
>>> #</Stream>
>>>
>>>
>>> # Single JPEG
>>>
>>> #<Stream test.jpg>
>>> #Feed feed1.ffm
>>> #Format jpeg
>>> #VideoFrameRate 2 #VideoIntraOnly
>>> ##VideoSize 352x240
>>> #NoAudio
>>> #</Stream>
>>>
>>>
>>> # Flash
>>>
>>> #<Stream test.swf>
>>> #Feed feed1.ffm
>>> #Format swf
>>> #VideoFrameRate 2
>>> #VideoIntraOnly
>>> #NoAudio
>>> #</Stream>
>>>
>>>
>>> # ASF compatible
>>>
>>> #<Stream test.asf>
>>> #Feed feed1.ffm
>>> #Format asf
>>> #VideoFrameRate 15
>>> #VideoSize 352x240
>>> #VideoBitRate 256
>>> #VideoBufferSize 40
>>> #VideoGopSize 30
>>> #AudioBitRate 64
>>> #StartSendOnKey
>>> #</Stream>
>>>
>>>
>>> # MP3 audio
>>> #<Stream test.mp3>
>>> #Feed feed1.ffm
>>> #Format mp2
>>> #AudioCodec mp3
>>> #AudioBitRate 64
>>> #AudioChannels 1
>>> #AudioSampleRate 44100
>>> #NoVideo
>>> #</Stream>
>>>
>>>
>>> # Ogg Vorbis audio
>>>
>>> #<Stream test.ogg>
>>> #Feed feed1.ffm
>>> #Title "Stream title"
>>> #AudioBitRate 64
>>> #AudioChannels 2
>>> #AudioSampleRate 44100
>>> #NoVideo
>>> #</Stream>
>>>
>>>
>>> # Real with audio only at 32 kbits
>>>
>>> #<Stream test.ra>
>>> #Feed feed1.ffm
>>> #Format rm
>>> #AudioBitRate 32
>>> #NoVideo
>>> #NoAudio
>>> #</Stream>
>>>
>>>
>>> # Real with audio and video at 64 kbits
>>>
>>> #<Stream test.rm>
>>> #Feed feed1.ffm
>>> #Format rm
>>> #AudioBitRate 32
>>> #VideoBitRate 128
>>> #VideoFrameRate 25
>>> #VideoGopSize 25
>>> #NoAudio
>>> #</Stream>
>>>
>>>
>>> ##################################################################
>>> # A stream coming from a file: you only need to set the input
>>> # filename and optionally a new format. Supported conversions:
>>> #    AVI -> ASF
>>>
>>> #<Stream file.rm>
>>> #File "/usr/local/httpd/htdocs/tlive.rm"
>>> #NoAudio
>>> #</Stream>
>>>
>>> #<Stream file.asf>
>>> #File "/usr/local/httpd/htdocs/test.asf"
>>> #NoAudio
>>> #Author "Me"
>>> #Copyright "Super MegaCorp"
>>> #Title "Test stream from disk"
>>> #Comment "Test comment"
>>> #</Stream>
>>>
>>>
>>> ##################################################################
>>> # RTSP examples
>>> #
>>> # You can access this stream with the RTSP URL:
>>> #   rtsp://localhost:5454/test1-rtsp.mpg
>>> #
>>> # A non-standard RTSP redirector is also created. Its URL is:
>>> #   http://localhost:8090/test1-rtsp.rtsp
>>>
>>> #<Stream test1-rtsp.mpg>
>>> #Format rtp
>>> #File "/usr/local/httpd/htdocs/test1.mpg"
>>> #</Stream>
>>>
>>>
>>> ##################################################################
>>> # SDP/multicast examples
>>> #
>>> # If you want to send your stream in multicast, you must set the
>>> # multicast address with MulticastAddress. The port and the TTL can
>>> # also be set.
>>> #
>>> # An SDP file is automatically generated by ffserver by adding the
>>> # 'sdp' extension to the stream name (here
>>> # http://localhost:8090/test1-sdp.sdp). You should usually give this
>>> # file to your player to play the stream.
>>> # # The 'NoLoop' option can be used to avoid looping when the stream is
>>> # terminated.
>>>
>>> #<Stream test1-sdp.mpg>
>>> #Format rtp
>>> #File "/usr/local/httpd/htdocs/test1.mpg"
>>> #MulticastAddress 224.124.0.1
>>> #MulticastPort 5000
>>> #MulticastTTL 16
>>> #NoLoop
>>> #</Stream>
>>>
>>>
>>> ##################################################################
>>> # Special streams
>>>
>>> # Server status
>>>
>>> <Stream stat.html>
>>> Format status
>>>
>>> # Only allow local people to get the status
>>> ACL allow localhost
>>> ACL allow 192.168.0.0 192.168.255.255
>>> ACL allow 208.16.19.0 208.16.19.255
>>>
>>> #FaviconURL http://pond1.gladstonefamily.net:8080/favicon.ico
>>> </Stream>
>>>
>>>
>>> # Redirect index.html to the appropriate site
>>>
>>> <Redirect index.html>
>>> URL http://www.ffmpeg.org/
>>> </Redirect>
>>>
>>>
>>>  
>>>
>>> ------------------------------------------------------------------------ 
>>>
>>>
>>> _______________________________________________
>>> ffmpeg-devel mailing list
>>> ffmpeg-devel at mplayerhq.hu
>>> http://mplayerhq.hu/mailman/listinfo/ffmpeg-devel
>>>  
>>>
>>
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel at mplayerhq.hu
>> http://mplayerhq.hu/mailman/listinfo/ffmpeg-devel
>>
>
>





More information about the ffmpeg-devel mailing list