Opened 12 years ago

Closed 11 years ago

#1970 closed defect (fixed)

ffserver ignores ffmpeg command line arguments

Reported by: Igor Owned by:
Priority: important Component: ffserver
Version: git-master Keywords: regression
Cc: zack@gilburd.com Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

I'm trying to transcode from mpegts to flv. In mpegts are 2 audio streams but I want to transcode just one, and igore the other.

http://pastebin.com/EMu5WS7Z

please notice, that there is 2 examples:

  1. ffmpeg writes to file - audio stream mapping works great.
  2. ffserver ignores audio stream specified by ffmpeg and transcodes first one, not specified.

The problem: ffserver ignores ffmpeg arguments! In this example it's obvious that ignores -map argument, but if I specify video filters - ffserver ignores as well.

Change History (24)

comment:1 by Carl Eugen Hoyos, 12 years ago

Priority: criticalnormal

Please post all necessary information here on the tracker, please try to avoid external resources.
Is the problem also reproducible with current git head? Is it a regression?

comment:2 by Igor, 12 years ago

This bug I noticed than upgraded from 1years old ffmpeg version :)

* TEST1 - ffmpeg with map arguments and writing to file

# ffmpeg -i http://10.2.3.14:9050/233.239.0.66 -map 0:2 -map 0:0 -c copy /tmp/tofile.ts
ffmpeg version N-46531-g7693543 Copyright (c) 2000-2012 the FFmpeg developers

built on Nov 9 2012 11:36:04 with gcc 4.4.5 (Debian 4.4.5-8)
configuration: --prefix=/usr/local --enable-nonfree --enable-gpl --enable-runtime-cpudetect --disable-ffprobe --disable-ffplay --disable-devices --enable-libmp3lame --enable-libx264 --disable-protocols --enable-protocol=http --enable-protocol=udp --enable-protocol=file --disable-hwaccels
libavutil 52. 5.100 / 52. 5.100
libavcodec 54. 71.100 / 54. 71.100
libavformat 54. 36.100 / 54. 36.100
libavdevice 54. 3.100 / 54. 3.100
libavfilter 3. 21.106 / 3. 21.106
libswscale 2. 1.102 / 2. 1.102
libswresample 0. 16.100 / 0. 16.100
libpostproc 52. 1.100 / 52. 1.100

[mpegts @ 0x2e22240] max_analyze_duration 5000000 reached at 5016000
[mpegts @ 0x2e22240] Estimating duration from bitrate, this may be inaccurate
Input #0, mpegts, from 'http://10.2.3.14:9050/233.239.0.66':

Duration: N/A, start: 23737.567233, bitrate: 384 kb/s
Program 1850

Stream #0:0[0x73b]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p, 720x576 [SAR 16:15 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1[0x73e](rus): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16, 192 kb/s
Stream #0:2[0x73f](eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16, 192 kb/s

Output #0, mpegts, to '/tmp/tofile.ts':

Metadata:

encoder : Lavf54.36.100
Stream #0:0(eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, 192 kb/s
Stream #0:1: Video: mpeg2video ([2][0][0][0] / 0x0002), yuv420p, 720x576 [SAR 16:15 DAR 4:3], q=2-31, 25 fps, 90k tbn, 25 tbc

Stream mapping:

Stream #0:2 -> #0:0 (copy)
Stream #0:0 -> #0:1 (copy)

Press [q] to stop, ? for help
frame= 212 fps= 58 q=-1.0 Lsize= 4071kB time=00:00:08.88 bitrate=3754.8kbits/s
video:3558kB audio:200kB subtitle:0 global headers:0kB muxing overhead 8.323952%

Notice Stream #0:2 -> #0:0 (copy) 0:2 -> 0:0 Thats OK.

* TEST2 - ffmpeg with map arguments and feeding to ffserver

#ffmpeg -i http://10.2.3.14:9050/233.239.0.66 -map 0:2 -map 0:0 http://127.0.0.1:1200/stream.ffm
ffmpeg version N-46531-g7693543 Copyright (c) 2000-2012 the FFmpeg developers

built on Nov 9 2012 11:36:04 with gcc 4.4.5 (Debian 4.4.5-8)
configuration: --prefix=/usr/local --enable-nonfree --enable-gpl --enable-runtime-cpudetect --disable-ffprobe --disable-ffplay --disable-devices --enable-libmp3lame --enable-libx264 --disable-protocols --enable-protocol=http --enable-protocol=udp --enable-protocol=file --disable-hwaccels
libavutil 52. 5.100 / 52. 5.100
libavcodec 54. 71.100 / 54. 71.100
libavformat 54. 36.100 / 54. 36.100
libavdevice 54. 3.100 / 54. 3.100
libavfilter 3. 21.106 / 3. 21.106
libswscale 2. 1.102 / 2. 1.102
libswresample 0. 16.100 / 0. 16.100
libpostproc 52. 1.100 / 52. 1.100

[mpeg2video @ 0x2a69a40] mpeg_decode_postinit() failure

Last message repeated 10 times

[mpegts @ 0x2a63240] max_analyze_duration 5000000 reached at 5016000
[mpegts @ 0x2a63240] Estimating duration from bitrate, this may be inaccurate
Input #0, mpegts, from 'http://10.2.3.14:9050/233.239.0.66':

Duration: N/A, start: 23860.207222, bitrate: 384 kb/s
Program 1850

Stream #0:0[0x73b]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p, 720x576 [SAR 16:15 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1[0x73e](rus): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16, 192 kb/s
Stream #0:2[0x73f](eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16, 192 kb/s

[libx264 @ 0x2b1aea0] using SAR=1/1
[libx264 @ 0x2b1aea0] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX
[libx264 @ 0x2b1aea0] profile High, level 4.1
[libx264 @ 0x2b1aea0] 264 - core 128 - H.264/MPEG-4 AVC codec - Copyleft 2003-2012 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=5 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=2 keyint=25 keyint_min=13 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=640 ratetol=1.0 qcomp=0.50 qpmin=10 qpmax=51 qpstep=4 vbv_maxrate=800 vbv_bufsize=41943 nal_hrd=none ip_ratio=1.40 aq=1:1.00
Output #0, ffm, to 'http://127.0.0.1:1200/stream.ffm':

Metadata:

creation_time : now
encoder : Lavf54.36.100
Stream #0:0(rus): Audio: mp3, 44100 Hz, mono, s32p, 64 kb/s
Stream #0:1: Video: h264, yuv420p, 640x480 [SAR 1:1 DAR 4:3], q=10-51, 640 kb/s, 1000k tbn, 25 tbc

Stream mapping:

Stream #0:1 -> #0:0 (mp2 -> libmp3lame)
Stream #0:0 -> #0:1 (mpeg2video -> libx264)

Press [q] to stop, ? for help

Notice Stream #0:1 -> #0:0 (mp2 -> libmp3lame) audio stream picked first, despite of -map 0:2! Thats not OK.

* FFSERVER config

Port 1200
#######################################
<Feed stream.ffm>

File /dev/shm/1200.ffm
FileMaxSize 5M

</Feed>


<Stream stream.flv>
Feed stream.ffm
Format flv


VideoCodec libx264
VideoBitRate 640k
VideoBufferSize 5120k
VideoFrameRate 25
VideoSize 640x480
AVPresetVideo lossless_medium
AVOptionVideo flags +global_header


AudioCodec libmp3lame
AudioBitRate 64k
AudioChannels 1
AudioSampleRate 44100

#i tried to uncomment - results the same AVOptionAudio map 0:2

AVOptionAudio flags +global_header


Preroll 5
StartSendOnKey
</Stream>

Version 0, edited 12 years ago by Igor (next)

in reply to:  2 comment:3 by Carl Eugen Hoyos, 12 years ago

Keywords: regression added
Priority: normalimportant
Version: 1.0git-master

Replying to importinis:

This bug I noticed than upgraded from 1years old ffmpeg version :)

Do you know which version was working for you?

Isn't this a duplicate of ticket #1930 ?

comment:4 by Igor, 12 years ago

With latest git version(ffmpeg version N-47120-g8aa6d89) the issue reproduces.

The working version is of Libav developers:
FFmpeg version git-4c64c8e, Copyright (c) 2000-2011 the Libav developers. I got this git link from ffmpeg.org

#1930 ticket is similar, but ffserver ignores not only vf arguments, it ignores any... :)

in reply to:  4 comment:5 by Carl Eugen Hoyos, 12 years ago

Replying to importinis:

The working version is of Libav developers:
FFmpeg version git-4c64c8e, Copyright (c) 2000-2011 the Libav developers.

Does c407984 not work?

comment:6 by Igor, 12 years ago

Yes, c407984 works.

# ffmpeg -f mpegts -i http://10.2.3.14:9050/233.239.0.66 -loglevel debug -vf "yadif=0:-1:1" -map 0:2 -map 0:0 -acodec libmp3lame -ar 44100 -ac 2 -ab 96k -vcodec libx264 -preset medium -tune zerolatency -vb 640k -s 640x480 -r 25  -f ffm  http://127.0.0.1:1999/stream.ffm
FFmpeg version git-N-29167-gc407984, Copyright (c) 2000-2011 the FFmpeg developers
  built on Nov 27 2012 11:47:45 with gcc 4.4.5
  configuration: --prefix=/usr/local --enable-gpl --enable-pthreads --enable-libmp3lame --enable-nonfree --disable-ffplay --disable-devices --disable-ffprobe --enable-postproc --enable-avfilter --enable-runtime-cpudetect --enable-libx264
  libavutil    50. 40. 1 / 50. 40. 1
  libavcodec   52.120. 0 / 52.120. 0
  libavformat  52.108. 0 / 52.108. 0
  libavdevice  52.  4. 0 / 52.  4. 0
  libavfilter   1. 79. 0 /  1. 79. 0
  libswscale    0. 13. 0 /  0. 13. 0
  libpostproc  51.  2. 0 / 51.  2. 0
[mpeg2video @ 0x1608150] mpeg_decode_postinit() failure
    Last message repeated 3 times
[mpegts @ 0x15e8660] max_analyze_duration reached
[mpegts @ 0x15e8660] Estimating duration from bitrate, this may be inaccurate
Input #0, mpegts, from 'http://10.2.3.14:9050/233.239.0.66':
  Duration: N/A, start: 33457.519222, bitrate: 15384 kb/s
  Program 1850
    Stream #0.0[0x73b]: Video: mpeg2video (Main), yuv420p, 720x576 [PAR 16:15 DAR 4:3], 15000 kb/s, 25.40 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0.1[0x73e](rus): Audio: mp2, 48000 Hz, stereo, s16, 192 kb/s
    Stream #0.2[0x73f](eng): Audio: mp2, 48000 Hz, stereo, s16, 192 kb/s
Probed with size=2048 and score=101
[buffer @ 0x1609cf0] w:720 h:576 pixfmt:yuv420p
[scale @ 0x160a040] w:720 h:576 fmt:yuv420p -> w:640 h:480 fmt:yuv420p flags:0x4
[libx264 @ 0x160f3c0] using SAR=16/15
[libx264 @ 0x160f3c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX
[libx264 @ 0x160f3c0] profile Main, level 4.1
Output #0, ffm, to 'http://127.0.0.1:1999/stream.ffm':
  Metadata:
    encoder         : Lavf52.108.0
    Stream #0.0(eng), 0, 1/1000000: Audio: libmp3lame, 44100 Hz, 1 channels, s16, 64 kb/s
    Stream #0.1, 0, 1/1000000: Video: libx264, yuv420p, 640x480 [PAR 16:15 DAR 64:45], 1/25, q=10-51, 640 kb/s, 1000k tbn, 25 tbc
Stream mapping:
  Stream #0.2 -> #0.0
  Stream #0.0 -> #0.1
Press [q] to stop encoding
Last edited 12 years ago by Carl Eugen Hoyos (previous) (diff)

in reply to:  6 comment:7 by Carl Eugen Hoyos, 12 years ago

Replying to importinis:

Yes, c407984 works.

If you want to help, please use git bisect to find the change introducing the regression.

comment:8 by Igor, 12 years ago

git bisect start
# good: [c40798441f47341c310b38e8f329cfb943924faf] Merge remote branch 'qatar/master'
git bisect good c40798441f47341c310b38e8f329cfb943924faf
# bad: [769354348a3acddb36582277a7d3f26e6d179369] PRINT_CODEC_SUPPORTED: fix used variable
git bisect bad 769354348a3acddb36582277a7d3f26e6d179369
# bad: [175ab5f9a923343dbeb3914a185c223c43702d95] lavfi/*showinfo: use av_ts2* macros in showinfo and ashowinfo
git bisect bad 175ab5f9a923343dbeb3914a185c223c43702d95
# skip: [1e4d60353cdb50619bc39d78f84afe961d013fae] vc1: disable parts of the interlaced code due to security issues.
git bisect skip 1e4d60353cdb50619bc39d78f84afe961d013fae
# good: [53d5cd2c8225e251826c77f8f69a30250038fbd0] mov: Support Digital Voodoo SD 8 Bit and DTS codec identifiers.
git bisect good 53d5cd2c8225e251826c77f8f69a30250038fbd0
# skip: [9e8dff90efa3faae5ac07fa5fae7e154367e24fd] Revert "mov: do not misreport empty stts"
git bisect skip 9e8dff90efa3faae5ac07fa5fae7e154367e24fd
# skip: [182cbe433aea20b0d9627d40de7c75713ec736db] avtools: parse loglevel before all the other options.
git bisect skip 182cbe433aea20b0d9627d40de7c75713ec736db
# bad: [2dd7a1c030e64cdd8fed18e2530fb5b95f41b990] swscale: Split C input functions into separate file.
git bisect bad 2dd7a1c030e64cdd8fed18e2530fb5b95f41b990
# bad: [c4b97fbdfabb9d252a13c9c1f7bc8e1c2e9e43c5] pulse: documentation
git bisect bad c4b97fbdfabb9d252a13c9c1f7bc8e1c2e9e43c5
# bad: [5d06f15235c2fa1b6ed2c5af3bc0e3750df4291c] libx264: set default thread count to 0 (auto)
git bisect bad 5d06f15235c2fa1b6ed2c5af3bc0e3750df4291c
# good: [55eda370cb6fe9e4c21539f3f90fd940fcf7a103] swscale: clip unscaled colorspace conversion path.
git bisect good 55eda370cb6fe9e4c21539f3f90fd940fcf7a103
# good: [bac3ab13ea6a9dd8853e79ef3eacf51d234c8774] h264: notice memory allocation failure
git bisect good bac3ab13ea6a9dd8853e79ef3eacf51d234c8774
# good: [bb337b4fbceb6af7f70ef2f9476733cc2fa5350b] avconv: Fix spelling errors.
git bisect good bb337b4fbceb6af7f70ef2f9476733cc2fa5350b
# good: [d2ba1fb50c72ee8bb92111cd32453b741c545769] configure: fix typo in avconv dependency list
git bisect good d2ba1fb50c72ee8bb92111cd32453b741c545769
# good: [0f29699db73d569307cac1abce64ae43647db2d2] libx264: add 'weightb' private option.
git bisect good 0f29699db73d569307cac1abce64ae43647db2d2
# good: [38934f19fe624270fabf32a411d84f1fee3e0aae] libx264: add 'psy' private option.
git bisect good 38934f19fe624270fabf32a411d84f1fee3e0aae
# skip: [9bb2d1a3f0ea3595fafad32d6ee1261506f57bb4] h263p encoder: add 'umv' private option.
git bisect skip 9bb2d1a3f0ea3595fafad32d6ee1261506f57bb4
# skip: [4bcee8e7f826b79206da660cd66ad91e497d7184] h263/p encoder: add 'structured_slices' private option.
git bisect skip 4bcee8e7f826b79206da660cd66ad91e497d7184
# bad: [0e5d37309f54f4377ec1f1a7ca41ea06d4ade923] mpeg12enc/mpeg4videoenc: add 'alternate_scan' private option.
git bisect bad 0e5d37309f54f4377ec1f1a7ca41ea06d4ade923
# bad: [0cc06b9e23bc798b1af3302d095db23f000a97e6] snow: add 'memc_only' private option.
git bisect bad 0cc06b9e23bc798b1af3302d095db23f000a97e6

some version I've skipped because of making errors. I hope It will help to bugfix

comment:9 by Carl Eugen Hoyos, 12 years ago

Your results are not completely conclusive.
Please test 0ed7bc4 and a9c6936.

comment:10 by Igor, 12 years ago

0ed7bc4: then I try to feed ffserver, i get segmentation fault
# ffmpeg -i http://10.2.3.14:9050/233.239.0.69 -map 0:2 -map 0:0 http://127.0.0.1:1999/stream.ffm
ffmpeg version N-32258-g0ed7bc4, Copyright (c) 2000-2011 the FFmpeg developers

built on Nov 27 2012 23:13:00 with gcc 4.4.5
configuration: --prefix=/usr/local --enable-gpl --enable-pthreads --enable-lib mp3lame --enable-nonfree --disable-devices --enable-postproc --enable-avfilter - -enable-runtime-cpudetect --enable-libx264
libavutil 51. 14. 0 / 51. 14. 0
libavcodec 53. 12. 0 / 53. 12. 0
libavformat 53. 10. 0 / 53. 10. 0
libavdevice 53. 3. 0 / 53. 3. 0
libavfilter 2. 37. 0 / 2. 37. 0
libswscale 2. 0. 0 / 2. 0. 0
libpostproc 51. 2. 0 / 51. 2. 0

[mpeg2video @ 0x2833760] mpeg_decode_postinit() failure
[mpegts @ 0x282c420] max_analyze_duration 5000000 reached at 5000000
[mpegts @ 0x282c420] Estimating duration from bitrate, this may be inaccurate
Input #0, mpegts, from 'http://10.2.3.14:9050/233.239.0.69':

Duration: N/A, start: 54421.190778, bitrate: 15384 kb/s
Program 1860

Stream #0.0[0x745]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p, 720x576 [SAR 64:45 DAR 16:9], 15000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0.1[0x748](ru): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16, 192 kb/s
Stream #0.2[0x749]: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16, 192 kb/s

[buffer @ 0x2b0a3c0] w:720 h:576 pixfmt:yuv420p tb:1/1000000 sar:64/45 sws_param:
Segmentation fault

a9c6936: I dont know the reason, but then I try to feed ffserver ffmpeg exits.

# ffmpeg -i http://10.2.3.14:9050/233.239.0.66 -loglevel debug -map 0:2 -map 0:0 http://127.0.0.1:1999/stream.ffm
ffmpeg version N-32226-ga9c6936, Copyright (c) 2000-2011 the FFmpeg developers

built on Nov 27 2012 23:30:11 with gcc 4.4.5
configuration: --prefix=/usr/local --enable-gpl --enable-pthreads --enable-libmp3lame --enable-nonfree --disable-devices --enable-postproc --enable-avfilter --enable-runtime-cpudetect --enable-libx264
libavutil 51. 14. 0 / 51. 14. 0
libavcodec 53. 12. 0 / 53. 12. 0
libavformat 53. 10. 0 / 53. 10. 0
libavdevice 53. 3. 0 / 53. 3. 0
libavfilter 2. 37. 0 / 2. 37. 0
libswscale 2. 0. 0 / 2. 0. 0
libpostproc 51. 2. 0 / 51. 2. 0

[mpeg2video @ 0x1c17760] mpeg_decode_postinit() failure

Last message repeated 2 times

[mpegts @ 0x1c10420] max_analyze_duration 5000000 reached at 5016000
[mpegts @ 0x1c10420] Estimating duration from bitrate, this may be inaccurate
Input #0, mpegts, from 'http://10.2.3.14:9050/233.239.0.66':

Duration: N/A, start: 15700.217533, bitrate: 15384 kb/s
Program 1850

Stream #0.0[0x73b]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p, 720x576 [SAR 16:15 DAR 4:3], 15000 kb/s, 25.20 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0.1[0x73e](rus): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16, 192 kb/s
Stream #0.2[0x73f](eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16, 192 kb/s

[ffm @ 0x1c170c0] Format ffm probed with size=2048 and score=101
Aborted

comment:11 by Carl Eugen Hoyos, 12 years ago

Reproduced by developer: set
Status: newopen

Last working revision was 896e597, regression since bb258fb / 1cede1d

comment:12 by Igor, 12 years ago

Is there anything I could help?

in reply to:  12 comment:13 by Carl Eugen Hoyos, 12 years ago

Replying to importinis:

Is there anything I could help?

You helped very much by allowing me to find the version that introduced the regression.

The only thing you could do is to send a patch that fixes the bug;-)

comment:14 by Igor, 12 years ago

I hope you do this :)

comment:15 by Igor, 12 years ago

Hello,

I know you are busy, but I want answer :) When you are planing to fix this bug?
I could do donation to your community if it helps to fix it quicker :)

comment:16 by RIck van der Zwet, 12 years ago

Whould a workaround be to filter first and then pipe the output to the ffmpeg instance which does the 'distribution' to ffserver? Like this:

./bin/ffmpeg -y -i rtsp://172.17.20.5/live/ch01_0 -vf "$FILTER" -f avi pipe:1 | ./bin/ffmpeg -y -i pipe:0 foo.mp4 foo.webm

comment:17 by Igor, 12 years ago

any progress per 5 months ?

in reply to:  15 comment:18 by Michael Niedermayer, 11 years ago

Replying to importinis:

I know you are busy, but I want answer :) When you are planing to fix this bug?
I could do donation to your community if it helps to fix it quicker :)

If the bug is still open, and you still want to pay someone to get this fixed, maybe a specific offer would attract more interrest

comment:19 by Zack G., 11 years ago

Wow, I'm amazed that such a critical bug hasn't been fixed - and bounties are required to get it done! Ignoring command line options and filter chains seems like a huge, mega blocker deal for ffmpeg/ffserver.

The ticket I care more about is the vf being ignored while outputting to FFM (https://ffmpeg.org/trac/ffmpeg/ticket/1930).

Either way, I am putting up a bounty of 0.5 bitcoins if it is fixed before July 15. Bounty increases to 1 bitcoin if it's fixed by July 4th. In order for this bounty to be paid out, ffmpeg must not ignore filter chains when outputting to FFMs.

For proof, here's our bounty fund. http://blockchain.info/fb/1dwdoti (With between 0.5-1btc reserved for this bug.)

Last edited 11 years ago by Zack G. (previous) (diff)

comment:20 by Zack G., 11 years ago

Cc: zack@gilburd.com added

comment:21 by Michael Niedermayer, 11 years ago

Resolution: fixed
Status: openclosed

Fixed in d1e8d4b055bd9a79baa15ca80d9a1476d2a8ccdb
You can override ffservers input stuff with ffmpeg -override_ffserver and then specify all the map stuff to ffmpeg.
Also ffserver really is a community project with no single leader or core team behind it so instead of complaining its much more effective if you guys try to fix issues yourselfs and submit patches (that really applies to all the ffserver issues not so much this one now)

comment:22 by Igor, 11 years ago

With new "fix" new have new bugs :) All ffserver params are ignored!

Here is my simple ffserver.conf

Port 9898
BindAddress 0.0.0.0
<Feed stream.ffm>

Launch ffmpeg -i udp://239.3.3.3:6666 -override_ffserver -vf yadif -codec:v libx264 -c:a libfaac -bsf:a aac_adtstoasc
File /tmp/t.ffm
FileMaxSize 2M

</Feed>

<Stream live.flv>

Feed stream.ffm
Preroll 2
StartSendOnKey
AVOptionVideo flags +global_header
AVOptionAudio flags +global_header

</Stream>

In ffserver.conf in section <stream live.flv> I always used
Preroll
StartSendOnKey
AVOptionVideo flags +global_header
AVOptionAudio flags +global_header

with this "fix" they all are ignored, I'm getting errors:

  1. " Mon Aug 5 10:01:44 2013 Codec for stream 0 does not use global headers but container format requires global headers

Mon Aug 5 10:01:44 2013 Codec for stream 1 does not use global headers but container format requires global headers
"

  1. Preroll/StartSendOnKey doesnt work - audio starts immediately, but video appears after 5-15 seconds!

comment:23 by Igor, 11 years ago

Priority: importantcritical
Resolution: fixed
Status: closedreopened

in reply to:  22 comment:24 by Carl Eugen Hoyos, 11 years ago

Priority: criticalimportant
Resolution: fixed
Status: reopenedclosed

Replying to importinis:

With new "fix" new have new bugs :)

Please open a new ticket for new bugs.

Note: See TracTickets for help on using tickets.