Opened 12 years ago

Closed 12 years ago

#2311 closed defect (fixed)

unexpected tee muxer behaviour

Reported by: Adam Clarke Owned by:
Priority: minor Component: documentation
Version: git-master Keywords: tee
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:
Attempts to stream a webcam to two outputs fails unexpectedly, with the message Output file #0 does not contain any stream.

The included example uses '[f=flv]alpha.flv|[f=flv]beta.flv]'
Other attempts include:

  • '[f=mpegts]alpha.ts|[f=mpegts]beta.ts'
  • '[f=mp4]alpha.mp4|[f=mp4]beta.mp4'
  • 'alpha.mkv|[f=mp4]/dev/null'

How to reproduce:

$ ffmpeg -report -v 9 -loglevel 99 -f v4l2 -i /dev/video1 -c:v libx264 -f tee "[f=flv]alpha.flv|[f=flv]beta.flv]"
ffmpeg started on 2013-02-27 at 17:38:18
Report written to "ffmpeg-20130227-173818.log"
ffmpeg version N-50368-ge54a1bd Copyright (c) 2000-2013 the FFmpeg developers
  built on Feb 27 2013 16:56:11 with gcc 4.7 (Ubuntu/Linaro 4.7.2-2ubuntu1)
  configuration: --enable-gpl --enable-nonfree --enable-shared --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libpulse --enable-librtmp
  libavutil      52. 17.103 / 52. 17.103
  libavcodec     54. 92.100 / 54. 92.100
  libavformat    54. 63.101 / 54. 63.101
  libavdevice    54.  3.103 / 54.  3.103
  libavfilter     3. 41.100 /  3. 41.100
  libswscale      2.  2.100 /  2.  2.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
Splitting the commandline.
Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
Reading option '-v' ... matched as option 'v' (set libav* logging level) with argument '9'.
Reading option '-loglevel' ... matched as option 'loglevel' (set libav* logging level) with argument '99'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'v4l2'.
Reading option '-i' ... matched as input file with argument '/dev/video1'.
Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'libx264'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'tee'.
Reading option '[f=flv]alpha.flv|[f=flv]beta.flv]' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option report (generate a report) with argument 1.
Applying option v (set libav* logging level) with argument 9.
Successfully parsed a group of options.
Parsing a group of options: input file /dev/video1.
Applying option f (force format) with argument v4l2.
Successfully parsed a group of options.
Opening an input file: /dev/video1.
[video4linux2,v4l2 @ 0x1dcc9c0] fd:4 capabilities:85000001
[video4linux2,v4l2 @ 0x1dcc9c0] Selecting input_channel: 0
[video4linux2,v4l2 @ 0x1dcc9c0] input_channel: 0, input_name: kinect
[video4linux2,v4l2 @ 0x1dcc9c0] Querying the device for the current frame size
[video4linux2,v4l2 @ 0x1dcc9c0] Setting frame size to 640x480
[video4linux2,v4l2 @ 0x1dcc9c0] The V4L2 driver changed the pixel format from 0x32315559 to 0x59565955
[video4linux2,v4l2 @ 0x1dcc9c0] Trying to set codec:rawvideo pix_fmt:yuv420p
[video4linux2,v4l2 @ 0x1dcc9c0] The V4L2 driver changed the pixel format from 0x32315559 to 0x59565955
[video4linux2,v4l2 @ 0x1dcc9c0] Trying to set codec:rawvideo pix_fmt:yuv420p
[video4linux2,v4l2 @ 0x1dcc9c0] The V4L2 driver changed the pixel format from 0x32315659 to 0x59565955
[video4linux2,v4l2 @ 0x1dcc9c0] Trying to set codec:rawvideo pix_fmt:yuv422p
[video4linux2,v4l2 @ 0x1dcc9c0] The V4L2 driver changed the pixel format from 0x50323234 to 0x59565955
[video4linux2,v4l2 @ 0x1dcc9c0] Trying to set codec:rawvideo pix_fmt:yuyv422
[video4linux2,v4l2 @ 0x1dcc9c0] The V4L2 driver changed the pixel format from 0x56595559 to 0x59565955
[video4linux2,v4l2 @ 0x1dcc9c0] Trying to set codec:rawvideo pix_fmt:uyvy422
[video4linux2,v4l2 @ 0x1dcc9c0] Probe buffer size limit of 5000000 bytes reached
rfps: 14.083333 0.019419
    Last message repeated 1 times
rfps: 14.166667 0.016053
rfps: 14.250000 0.013012
rfps: 14.333333 0.010296
rfps: 14.416667 0.007903
    Last message repeated 1 times
rfps: 14.500000 0.005836
    Last message repeated 1 times
rfps: 14.583333 0.004093
rfps: 14.666667 0.002674
rfps: 14.750000 0.001580
    Last message repeated 1 times
rfps: 14.833333 0.000810
    Last message repeated 1 times
rfps: 14.916667 0.000365
    Last message repeated 1 times
rfps: 15.000000 0.000245
rfps: 15.083333 0.000449
    Last message repeated 1 times
rfps: 15.166667 0.000978
    Last message repeated 1 times
rfps: 15.250000 0.001831
    Last message repeated 1 times
rfps: 15.333333 0.003008
rfps: 15.416667 0.004510
rfps: 15.500000 0.006337
    Last message repeated 1 times
rfps: 15.583333 0.008488
    Last message repeated 1 times
rfps: 15.666667 0.010964
rfps: 15.750000 0.013764
rfps: 15.833333 0.016889
rfps: 29.083333 0.019695
    Last message repeated 1 times
rfps: 29.166667 0.016371
rfps: 29.250000 0.013371
rfps: 29.333333 0.010696
rfps: 29.416667 0.008346
    Last message repeated 1 times
rfps: 29.500000 0.006320
    Last message repeated 1 times
rfps: 29.583333 0.004619
rfps: 29.666667 0.003242
rfps: 29.750000 0.002190
    Last message repeated 1 times
rfps: 29.833333 0.001462
    Last message repeated 1 times
rfps: 29.916667 0.001058
    Last message repeated 1 times
rfps: 30.000000 0.000980
rfps: 30.083333 0.001226
    Last message repeated 1 times
rfps: 30.166667 0.001796
    Last message repeated 1 times
rfps: 30.250000 0.002691
    Last message repeated 1 times
rfps: 30.333333 0.003910
rfps: 30.416667 0.005454
rfps: 30.500000 0.007322
    Last message repeated 1 times
rfps: 30.583333 0.009515
    Last message repeated 1 times
rfps: 30.666667 0.012033
rfps: 30.750000 0.014875
rfps: 30.833333 0.018041
rfps: 44.166667 0.017178
rfps: 44.250000 0.014220
rfps: 44.333333 0.011587
rfps: 44.416667 0.009278
    Last message repeated 1 times
rfps: 44.500000 0.007294
    Last message repeated 1 times
rfps: 44.583333 0.005634
rfps: 44.666667 0.004299
rfps: 44.750000 0.003289
    Last message repeated 1 times
rfps: 44.833333 0.002603
    Last message repeated 1 times
rfps: 44.916667 0.002241
    Last message repeated 1 times
rfps: 45.000000 0.002204
rfps: 45.083333 0.002492
    Last message repeated 1 times
rfps: 45.166667 0.003104
    Last message repeated 1 times
rfps: 45.250000 0.004041
    Last message repeated 1 times
rfps: 45.333333 0.005302
rfps: 45.416667 0.006887
rfps: 45.500000 0.008798
    Last message repeated 1 times
rfps: 45.583333 0.011032
    Last message repeated 1 times
rfps: 45.666667 0.013591
rfps: 45.750000 0.016475
rfps: 45.833333 0.019683
rfps: 59.166667 0.018475
rfps: 59.250000 0.015559
rfps: 59.333333 0.012967
rfps: 59.416667 0.010700
    Last message repeated 1 times
rfps: 59.500000 0.008758
rfps: 59.583333 0.007140
rfps: 59.666667 0.005847
rfps: 59.750000 0.004878
    Last message repeated 1 times
rfps: 59.833333 0.004234
    Last message repeated 1 times
rfps: 59.916667 0.003914
rfps: 60.000000 0.003919
rfps: 29.970030 0.000971
rfps: 59.940060 0.003883
rfps: 14.985015 0.000243
    Last message repeated 1 times
[video4linux2,v4l2 @ 0x1dcc9c0] Estimating duration from bitrate, this may be inaccurate
Input #0, video4linux2,v4l2, from '/dev/video1':
  Duration: N/A, start: 463381.035470, bitrate: N/A
    Stream #0:0, 9, 1/1000000: Video: rawvideo (UYVY / 0x59565955), uyvy422, 640x480, 1/1000000, -2147483 kb/s, 14.99 tbr, 1000k tbn, 1000k tbc
Successfully opened the file.
Parsing a group of options: output file [f=flv]alpha.flv|[f=flv]beta.flv].
Applying option c:v (codec name) with argument libx264.
Applying option f (force format) with argument tee.
Successfully parsed a group of options.
Opening an output file: [f=flv]alpha.flv|[f=flv]beta.flv].
Successfully opened the file.
Output #0, tee, to '[f=flv]alpha.flv|[f=flv]beta.flv]':
Output file #0 does not contain any stream

Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.

Attachments (1)

ffmpeg-20130227-173818.log (6.9 KB ) - added by Adam Clarke 12 years ago.
report file

Download all attachments as: .zip

Change History (5)

by Adam Clarke, 12 years ago

Attachment: ffmpeg-20130227-173818.log added

report file

comment:1 by Cigaes, 12 years ago

This is more or less the expected behaviour: the tee muxer does not know the capabilities of the underlying muxers, so it requires the streams to be explicitly mapped using the -map option. The same happens with the segment muxer, for instance.

I just sent a patch to put it in the documentation.

comment:2 by Adam Clarke, 12 years ago

Just confirming that yes, explicit mapping resolves the issue, thank-you

comment:3 by Carl Eugen Hoyos, 12 years ago

Component: avformatdocumentation
Keywords: muxer removed
Priority: normalminor
Status: newopen

comment:4 by Carl Eugen Hoyos, 12 years ago

Resolution: fixed
Status: openclosed

Fixed by Nicolas George.

Note: See TracTickets for help on using tickets.