You are not logged in.
Hi.
I use following command for encode a video from camera:
$ ffmpeg -i /tmp/test.avi -vf hqdn3d=2:1:2 -vcodec libx264 -threads 12 -vprofile high -preset veryslow -x264opts level=30:ref=6:deblock=-2,-2:dct-decimate=0:fast_pskip=0:direct=auto:qpmax=51:keyint=300:bitrate=900:threads=12 -acodec aac -ab 88 -strict experimental -ar 48000 /tmp/video.mp4
After upgrade ffmpeg (20111211-1 -> 20120111-1) I recieve errors:
malformated aac bitstream, use -absf aac_adtstoasc00:00.00 bitrate= 0.0kbits/s
av_interleaved_write_frame(): Operation not permitted
With 20111211-1 above command works fine.
With mencoder:
$ mencoder "test.avi" -aspect 4:3 -noskip -mc 0 -vf hqdn3d=2:1:2 -ovc x264 -x264encopts profile=high:level=30:preset=veryslow:crf=6:deblock=-2,-2:dct-decimate=0:fast_pskip=0:direct=auto:qpmax=51:keyint=300:bitrate=900:threads=12 -ofps 30 -af resample=48000,channels=2 -srate 48000 -oac faac -faacopts quality=25 -of lavf -lavfopts format=mp4 -o "video.mp4"
get
[mp4 @ 0xdd5b60]malformated aac bitstream, use -absf aac_adtstoasc
Error while writing frame.
Mediainfo source file:
$ mediainfo test.avi
General
Complete name : test.avi
Format : AVI
Format/Info : Audio Video Interleave
File size : 317 MiB
Duration : 2mn 58s
Overall bit rate : 14.9 Mbps
Mastered date : Wed Nov 16 00:03:55 2011
Writing application : CanonMVI06
Video
ID : 0
Format : JPEG
Codec ID : MJPG
Duration : 2mn 58s
Bit rate : 14.8 Mbps
Width : 640 pixels
Height : 480 pixels
Display aspect ratio : 4:3
Frame rate : 30.000 fps
Color space : YUV
Chroma subsampling : 4:2:2
Bit depth : 8 bits
Scan type : Progressive
Compression mode : Lossy
Bits/(Pixel*Frame) : 1.608
Stream size : 315 MiB (99%)
Audio
ID : 1
Format : PCM
Format settings, Sign : Unsigned
Codec ID : 1
Duration : 2mn 58s
Bit rate mode : Constant
Bit rate : 88.2 Kbps
Channel(s) : 1 channel
Sampling rate : 11.024 KHz
Bit depth : 8 bits
Stream size : 1.87 MiB (1%)
Interleave, duration : 995 ms (29.85 video frames)
Interleave, preload duration : 1000 ms
Last edited by unikum (2012-01-12 20:39:17)
Offline
Seems it is related with mp4 container because same command with avi output works fine.
Last edited by unikum (2012-01-12 18:00:32)
Offline
report it upstream
Give what you have. To someone, it may be better than you dare to think.
Offline
Did you manage to find any solution, while we wait for a fix?
Offline
@wonder: I'm not too good at this. May be you?
@attejensen: I build mp4 with MP4Box. ffmpeg only encode tracks. Wait fix from upstream.
Offline
Hi.
I use following command for encode a video from camera:
$ ffmpeg -i /tmp/test.avi -vf hqdn3d=2:1:2 -vcodec libx264 -threads 12 -vprofile high -preset veryslow -x264opts level=30:ref=6:deblock=-2,-2:dct-decimate=0:fast_pskip=0:direct=auto:qpmax=51:keyint=300:bitrate=900:threads=12 -acodec aac -ab 88 -strict experimental -ar 48000 /tmp/video.mp4
After upgrade ffmpeg (20111211-1 -> 20120111-1) I recieve errors:
malformated aac bitstream, use -absf aac_adtstoasc00:00.00 bitrate= 0.0kbits/s av_interleaved_write_frame(): Operation not permitted
You're attempting to encode your audio with 88 bits per second. Try adding a "k", as in -ab 88k, because I assume you actually want 88 kilobits/s. FFmpeg may have given you a warning about this in the complete console output. If you still get the error try adding -absf aac_adtstoasc as the output mentions.
Secondly, please provide the most simple command that still produces the error. I'm sure you can eliminate a large number of the options to narrow down which option(s) may be causing the issue.
Did you create this command yourself or did you copy it from somewhere? I'd like to know why you are declaring so many x264opts.
Edit: If you do report anything upstream please note that you should be very detailed about your reports. You won't get flamed, but you may be asked several times for more information to narrow down the issue. Minimally you should provide the simplest command that allows someone to duplicate the issue, provide the complete and uncut ffmpeg console output, test a publicly available input (such as MPlayer samples or provide a small sample), and maybe even test current FFmpeg Git head (although wonder does a damned good job at using current FFmpeg here at Arch; more so than any other distro that I am familiar with).
Last edited by DrZaius (2012-01-16 19:15:25)
Offline
You're attempting to encode your audio with 88 bits per second. Try adding a "k", as in -ab 88k, because I assume you actually want 88 kilobits/s. FFmpeg may have given you a warning about this in the complete console output. If you still get the error try adding -absf aac_adtstoasc as the output mentions.
Complete output:
ffmpeg -i /tmp/test.avi -vf hqdn3d=2:1:2 -vcodec libx264 -threads 12 -vprofile high -preset veryslow -x264opts level=30:ref=6:deblock=-2,-2:dct-decimate=0:fast_pskip=0:direct=auto:qpmax=51:keyint=300:bitrate=900:threads=12 -acodec aac -ab 88k -strict experimental -ar 48000 /tmp/video.mp4
ffmpeg version N-36713-gbc11580 Copyright (c) 2000-2012 the FFmpeg developers
built on Jan 11 2012 22:43:11 with gcc 4.6.2 20111223 (prerelease)
configuration: --prefix=/usr --enable-libmp3lame --enable-libvorbis --enable-libxvid --enable-libx264 --enable-libvpx --enable-libtheora --enable-libgsm --enable-libspeex --enable-postproc --enable-shared --enable-x11grab --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libschroedinger --enable-libopenjpeg --enable-librtmp --enable-libpulse --enable-gpl --enable-version3 --enable-runtime-cpudetect --disable-debug --disable-static
libavutil 51. 34.100 / 51. 34.100
libavcodec 53. 54.100 / 53. 54.100
libavformat 53. 29.100 / 53. 29.100
libavdevice 53. 4.100 / 53. 4.100
libavfilter 2. 58.100 / 2. 58.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 6.100 / 0. 6.100
libpostproc 51. 2.100 / 51. 2.100
Input #0, avi, from '/tmp/test.avi':
Metadata:
creation_time : 2009-10-14 19:19:59
encoder : CanonMVI06
Duration: 00:01:44.13, start: 0.000000, bitrate: 14587 kb/s
Stream #0:0: Video: mjpeg (MJPG / 0x47504A4D), yuvj422p, 640x480, 30 tbr, 30 tbn, 30 tbc
Stream #0:1: Audio: pcm_u8 ([1][0][0][0] / 0x0001), 11024 Hz, 1 channels, u8, 88 kb/s
Incompatible pixel format 'yuvj422p' for codec 'libx264', auto-selecting format 'yuvj420p'
[buffer @ 0x6e2960] w:640 h:480 pixfmt:yuvj422p tb:1/1000000 sar:0/1 sws_param:
[hqdn3d @ 0x6bf0e0] ls:2.000000 cs:1.000000 lt:2.000000 ct:1.000000
[buffersink @ 0x6b9d40] auto-inserting filter 'auto-inserted scale 0' between the filter 'Parsed_hqdn3d_0' and the filter 'out'
[hqdn3d @ 0x6bf0e0] auto-inserting filter 'auto-inserted scale 1' between the filter 'src' and the filter 'Parsed_hqdn3d_0'
[scale @ 0x6ec040] w:640 h:480 fmt:yuvj422p -> w:640 h:480 fmt:yuv420p flags:0x4
[scale @ 0x6eb640] w:640 h:480 fmt:yuv420p -> w:640 h:480 fmt:yuvj420p flags:0x4
Incompatible sample format 'u8' for codec 'aac', auto-selecting format 's16'
[libx264 @ 0x6bab80] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX
[libx264 @ 0x6bab80] profile High, level 3.0
[libx264 @ 0x6bab80] 264 - core 119 - H.264/MPEG-4 AVC codec - Copyleft 2003-2011 - http://www.videolan.org/x264.html - options: cabac=1 ref=6 deblock=1:-2:-2 analyse=0x3:0x133 me=umh subme=10 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=24 chroma_me=1 trellis=2 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=-2 threads=12 sliced_threads=0 nr=0 decimate=0 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=8 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=300 keyint_min=30 scenecut=40 intra_refresh=0 rc_lookahead=60 rc=abr mbtree=1 bitrate=900 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=51 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to '/tmp/video.mp4':
Metadata:
creation_time : 2009-10-14 19:19:59
encoder : Lavf53.29.100
Stream #0:0: Video: h264 (![0][0][0] / 0x0021), yuvj420p, 640x480, q=-1--1, 900 kb/s, 1000k tbn, 30 tbc
Stream #0:1: Audio: aac (@[0][0][0] / 0x0040), 48000 Hz, 1 channels, s16, 88 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg -> libx264)
Stream #0:1 -> #0:1 (pcm_u8 -> aac)
Press [q] to stop, [?] for help
malformated aac bitstream, use -absf aac_adtstoasc00:00.00 bitrate= 0.0kbits/s
av_interleaved_write_frame(): Operation not permitted
Secondly, please provide the most simple command that still produces the error. I'm sure you can eliminate a large number of the options to narrow down which option(s) may be causing the issue.
More simple command:
ffmpeg -i /tmp/test.avi -vcodec copy -acodec aac -ab 88k -strict experimental -ar 48000 -y /tmp/video.mp4
ffmpeg version N-36713-gbc11580 Copyright (c) 2000-2012 the FFmpeg developers
built on Jan 11 2012 22:43:11 with gcc 4.6.2 20111223 (prerelease)
configuration: --prefix=/usr --enable-libmp3lame --enable-libvorbis --enable-libxvid --enable-libx264 --enable-libvpx --enable-libtheora --enable-libgsm --enable-libspeex --enable-postproc --enable-shared --enable-x11grab --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libschroedinger --enable-libopenjpeg --enable-librtmp --enable-libpulse --enable-gpl --enable-version3 --enable-runtime-cpudetect --disable-debug --disable-static
libavutil 51. 34.100 / 51. 34.100
libavcodec 53. 54.100 / 53. 54.100
libavformat 53. 29.100 / 53. 29.100
libavdevice 53. 4.100 / 53. 4.100
libavfilter 2. 58.100 / 2. 58.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 6.100 / 0. 6.100
libpostproc 51. 2.100 / 51. 2.100
Input #0, avi, from '/tmp/test.avi':
Metadata:
creation_time : 2009-10-14 19:19:59
encoder : CanonMVI06
Duration: 00:01:44.13, start: 0.000000, bitrate: 14587 kb/s
Stream #0:0: Video: mjpeg (MJPG / 0x47504A4D), yuvj422p, 640x480, 30 tbr, 30 tbn, 30 tbc
Stream #0:1: Audio: pcm_u8 ([1][0][0][0] / 0x0001), 11024 Hz, 1 channels, u8, 88 kb/s
Incompatible sample format 'u8' for codec 'aac', auto-selecting format 's16'
Output #0, mp4, to '/tmp/video.mp4':
Metadata:
creation_time : 2009-10-14 19:19:59
encoder : Lavf53.29.100
Stream #0:0: Video: mjpeg (l[0][0][0] / 0x006C), yuvj422p, 640x480, q=2-31, 1000k tbn, 30 tbc
Stream #0:1: Audio: aac (@[0][0][0] / 0x0040), 48000 Hz, 1 channels, s16, 88 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (pcm_u8 -> aac)
Press [q] to stop, [?] for help
[mp4 @ 0x211dd20] malformated aac bitstream, use -absf aac_adtstoasc
av_interleaved_write_frame(): Operation not permitted
Error occurs when try mux aac audio in the mp4 conteiner.
Did you create this command yourself or did you copy it from somewhere? I'd like to know why you are declaring so many x264opts.
I carefully chose these settings based on x264 documentation.
Offline
Not sure if this helps, but I got the source, and the message was introduced here: git diff c22f2527ed33c42^ c22f2527ed33c42
This may be the issue, but I cannot confirm. Also, I can run the code with -acodec ac3 but not do -acodec aac.
+ } else if (enc->codec_id == CODEC_ID_AAC && pkt->size > 2 &&
+ (AV_RB16(pkt->data) & 0xfff0) == 0xfff0) {
+ av_log(s, AV_LOG_ERROR, "malformated aac bitstream, use -absf aac_adtstoasc\n");
+ return -1;
Offline
@windoze007: I can encode to aac (separate audio track in .aac file), but not able mux to mp4.
Offline
I not understand about reasons, but now all works fine.
Offline