Opened 13 years ago
Closed 12 years ago
#356 closed defect (fixed)
-profile aac_low option sets also the profile for the video codec
Reported by: | Thierry | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avcodec |
Version: | git-master | Keywords: | |
Cc: | tfoucu@gmail.com | Blocked By: | |
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description
ex:
./ffmpeg -i trailer_720p.20.flv -b 56000 -vf scale=176:144 -level 8 -vcodec mpeg4 -ab 24000 -ar 22050 -ac 1 -profile aac_low -acodec libfaac -f mp4 -y /tmp/test.mp4
will generate a mp4 file with the video codec profile/level to be 24
output from mp4info:
Track Type Info
1 video MPEG-4 Unknown Profile(24), 211.085 secs, 63 kbps, 176x144 @ 23.976123 fps
2 audio MPEG-4 AAC LC, 211.162 secs, 24 kbps, 22050 Hz
if you remove the profile option from the command line, output of mp4info
Track Type Info
1 video MPEG-4 Simple @ L0, 211.085 secs, 63 kbps, 176x144 @ 23.976123 fps
2 audio MPEG-4 AAC LC, 211.162 secs, 24 kbps, 22050 Hz
So, it seems that -profile aac_low does set the profile of the video encoder context to be 1 as well as the audio encoder context.
The exact output of the command line with -profile aac_low
./ffmpeg -i trailer_720p.20.flv -b 56000 -vf scale=176:144 -level 8 -vcodec mpeg4 -ab 24000 -ar 22050 -ac 1 -profile aac_low -acodec libfaac -f mp4 -y /tmp/test.mp4
ffmpeg version N-31566-gd303e0a, Copyright (c) 2000-2011 the FFmpeg developers
built on Jul 19 2011 20:35:45 with gcc 4.4.3
configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-libfaac
libavutil 51. 11. 0 / 51. 11. 0
libavcodec 53. 8. 0 / 53. 8. 0
libavformat 53. 6. 0 / 53. 6. 0
libavdevice 53. 2. 0 / 53. 2. 0
libavfilter 2. 27. 0 / 2. 27. 0
libswscale 2. 0. 0 / 2. 0. 0
libpostproc 51. 2. 0 / 51. 2. 0
[flv @ 0x260d420] Estimating duration from bitrate, this may be inaccurate
Seems stream 0 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 23.98 (24000/1001)
Input #0, flv, from 'trailer_720p.20.flv':
Duration: 00:03:31.06, start: 0.000000, bitrate: 256 kb/s
Stream #0.0: Video: flv, yuv420p, 1280x720, 23.98 tbr, 1k tbn, 1k tbc
Stream #0.1: Audio: mp3, 44100 Hz, stereo, s16, 256 kb/s
[buffer @ 0x260d360] w:1280 h:720 pixfmt:yuv420p tb:1/1000000 sar:0/1 sws_param:
[scale @ 0x2610d40] w:1280 h:720 fmt:yuv420p -> w:176 h:144 fmt:yuv420p flags:0x4
Output #0, mp4, to '/tmp/test.mp4':
Metadata:
encoder : Lavf53.6.0
Stream #0.0: Video: mpeg4, yuv420p, 176x144, q=2-31, 56 kb/s, 24k tbn, 23.98 tbc
Stream #0.1: Audio: libfaac (LC), 22050 Hz, 1 channels, s16, 24 kb/s
Stream mapping:
Press [q] to stop, ? for help
frame= 5061 fps=141 q=2.0 Lsize= 2320kB time=00:03:31.08 bitrate= 90.0kbits/s
video:1623kB audio:619kB global headers:0kB muxing overhead 3.477867%
Change History (3)
comment:1 by , 13 years ago
Reproduced by developer: | set |
---|
comment:2 by , 13 years ago
Also for old as well as current ffmpeg -aprofile aac_low could be used to achive this.
comment:3 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Sort of fixed, now it display warning message, but does not abort.
The correct way to do this now is to use -profile:a aac_low
i need to think about what to do about -profile aac_low