Opened 12 years ago

Closed 11 years ago

#1535 closed defect (fixed)

Wrong "profile" FAQ entry

Reported by: burek Owned by: Timothy Gu
Priority: minor Component: documentation
Version: git-master Keywords:
Cc: timothygu99@gmail.com Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: yes

Description

This FAQ item explains it the best: http://ffmpeg.org/faq.html#g_t_002dprofile-option-fails-when-encoding-H_002e264-video-with-AAC-audio

It might be good to fix the error message to be a little bit more clear or descriptive. Simple "profile 'baseline' not recognized as a valid profile for AAC encoder, try using -profile:v instead" would be better since it would provide end users some clue what went wrong.

Change History (9)

comment:1 by Cigaes, 12 years ago

There is already a warning:

Please use -profile:a or -profile:v, -profile is ambiguous

Also, it seems that it will not actually fail if the profile is for x264: it will be taken as such and ignored for libfaac (even if the AAC stream comes first). Something may have changed since that entry in the FAQ, the FAQ may need to be updated.

comment:2 by Carl Eugen Hoyos, 12 years ago

Component: undetermineddocumentation
Reproduced by developer: set
Status: newopen
Summary: Unclear error messageWrong "profile" FAQ entry
Type: enhancementdefect
Version: unspecifiedgit-master

The documentation appears to be incorrect.

comment:3 by Elon Musk, 11 years ago

7 months passed and still not fixed?

comment:4 by Timothy Gu, 11 years ago

Cc: timothygu99@gmail.com added
Owner: set to Timothy Gu

comment:5 by Stefano Sabatini, 11 years ago

This ticket is confusing. It is not yet clear if the problem is with the FAQ entry or with the error message.

If the problem is with the FAQ entry, what's the problem with it? It only points to an HTML page which may have been updated in the meanwhile.

If the problem is with the error message the ticket is lacking an example command line to reproduce the problem, and it might not easy to fix it properly due to the many convolutions in the option setting code, and thus it would be not a simple matter of changing a string but to review the complex logic setting the option (and thus should not be considered a "documentation" bug).

comment:6 by Carl Eugen Hoyos, 11 years ago

In the codec documentation, -profile is repeatedly mentioned, one example is the x264 chapter:

‘profile (profile)’

    Set profile restrictions.

Imo all occurrences should also contain a stream specifier ('a' or 'v') for clarity. If you disagree, please close this ticket.

in reply to:  6 comment:7 by Stefano Sabatini, 11 years ago

Replying to cehoyos:

In the codec documentation, -profile is repeatedly mentioned, one example is the x264 chapter:

‘profile (profile)’

    Set profile restrictions.

Imo all occurrences should also contain a stream specifier ('a' or 'v') for clarity. If you disagree, please close this ticket.

This would be utterly wrong. The documentation is not supposed to be "ffmpeg-the-tool" documentation only, when it documents component options it should not assume the specific ffmpeg syntax, and thus the stream specifier should not be specified at all in the component options (although having ffmpeg examples is usually a good idea).

Again about the ticket: the current title is "Wrong profile FAQ entry", so again I ask this question, what's wrong with the FAQ entry?

Also note that the error is not currently reproduced, for example:

ffmpeg -f lavfi -i "testsrc[out0];sine[out1]" -profile baseline -pix_fmt yuv420p -c:v libx264 -c:a aac -strict experimental -t 10 -y outtest.mp4
ffmpeg version N-59468-g8c8c3ca Copyright (c) 2000-2014 the FFmpeg developers
  built on Jan  1 2014 13:02:48 with gcc 4.7 (Ubuntu/Linaro 4.7.3-1ubuntu1)
  configuration: --extra-cflags=-I/home/stefano/include --extra-ldflags=-L/home/stefano/lib --enable-pic --enable-fontconfig --enable-libass --enable-version3 --prefix=/home/stefano --disable-shared --enable-static --enable-debug=3 --enable-pthreads --enable-libvorbis --enable-libfdk-aac --enable-gpl --enable-nonfree --enable-libmp3lame --enable-libtheora --enable-gpl --enable-x11grab --enable-frei0r --enable-libfaac --enable-libcaca --enable-libflite --enable-libzmq --enable-libfreetype --enable-libopencv --disable-optimizations --enable-libgme --enable-libvo-aacenc --enable-libx264 --enable-ladspa
  libavutil      52. 59.100 / 52. 59.100
  libavcodec     55. 47.100 / 55. 47.100
  libavformat    55. 22.102 / 55. 22.102
  libavdevice    55.  5.102 / 55.  5.102
  libavfilter     4.  0.103 /  4.  0.103
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Input #0, lavfi, from 'testsrc[out0];sine[out1]':
  Duration: N/A, start: 0.000000, bitrate: 705 kb/s
    Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 320x240 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
    Stream #0:1: Audio: pcm_s16le, 44100 Hz, mono, s16, 705 kb/s
Please use -profile:a or -profile:v, -profile is ambiguous
[libx264 @ 0x269fb20] using SAR=1/1
[libx264 @ 0x269fb20] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX
[libx264 @ 0x269fb20] profile Constrained Baseline, level 1.3
[libx264 @ 0x269fb20] 264 - core 123 r2189 35cf912 - H.264/MPEG-4 AVC codec - Copyleft 2003-2012 - http://www.videolan.org/x264.html - options: cabac=0 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'outtest.mp4':
  Metadata:
    encoder         : Lavf55.22.102
    Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 320x240 [SAR 1:1 DAR 4:3], q=-1--1, 12800 tbn, 25 tbc
    Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, mono, fltp, 128 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo -> libx264)
  Stream #0:1 -> #0:1 (pcm_s16le -> aac)
Press [q] to stop, [?] for help
frame=  250 fps=0.0 q=-1.0 Lsize=     147kB time=00:00:10.00 bitrate= 120.3kbits/s    
video:67kB audio:72kB subtitle:0 global headers:0kB muxing overhead 5.363054%
[libx264 @ 0x269fb20] frame I:1     Avg QP:22.41  size:  3922
[libx264 @ 0x269fb20] frame P:249   Avg QP:27.54  size:   258
[libx264 @ 0x269fb20] mb I  I16..4: 75.0%  0.0% 25.0%
[libx264 @ 0x269fb20] mb P  I16..4:  3.0%  0.0%  0.1%  P16..4:  9.4%  3.6%  1.3%  0.0%  0.0%    skip:82.6%
[libx264 @ 0x269fb20] coded y,uvDC,uvAC intra: 2.7% 38.6% 8.1% inter: 1.7% 8.6% 3.4%
[libx264 @ 0x269fb20] i16 v,h,dc,p: 76%  4%  1% 20%
[libx264 @ 0x269fb20] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 43% 32% 20%  1%  1%  1%  0%  1%  0%
[libx264 @ 0x269fb20] i8c dc,h,v,p: 16% 14% 54% 15%
[libx264 @ 0x269fb20] ref P L0: 79.7% 13.8%  6.4%
[libx264 @ 0x269fb20] kb/s:54.52

If I specify -profile:v baseline no warning is issued.

Should we just remove the FAQ entry?

comment:8 by Stefano Sabatini, 11 years ago

Analyzed by developer: set

Fixed in:

commit d392619a465e01e72260a8967edeeb3487e882c6
Author: Stefano Sabatini <stefasab@gmail.com>
Date:   Fri Jan 3 13:38:49 2014 +0100

    doc/faq: remove "-profile option fails when encoding H.264 video with AAC audio" entry
    
    The error was fixed in commit ce9bd303794fcc94aa232c116bece13c5994b55b
    more than one year ago, and does not affect all the currently supported
    versions.
    
    In particular, fix trac issue #1535.

comment:9 by Stefano Sabatini, 11 years ago

Resolution: fixed
Status: openclosed
Note: See TracTickets for help on using tickets.