ffmpeg Trop grand nombre de bits par trame demandé
J'utilise ffmpeg pour convertir des vidéos au format mp4. Tout fonctionne bien sauf avec format MOV.
La commande que j'utilise pour tout, est:
ffmpeg -i input.mov -strict experimental -sameq -s vga -aspect 1.7777 -vcodec libx264 -preset fast -crf 22 -y output.mp4
mais le résultat que j'obtiens est:
ffmpeg version 0.9, Copyright (c) 2000-2011 the FFmpeg developers
built on Mar 12 2012 11:01:05 with gcc 4.4.5
configuration: --enable-libx264 --enable-gpl --disable-yasm
libavutil 51. 32. 0 /51. 32. 0
libavcodec 53. 42. 0 /53. 42. 0
libavformat 53. 24. 0 /53. 24. 0
libavdevice 53. 4. 0 /53. 4. 0
libavfilter 2. 53. 0 / 2. 53. 0
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 51. 2. 0 /51. 2. 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x21767a0] Referenced QT chapter track not found
Seems stream 0 codec frame rate differs from container frame rate: 30.00 (30/1) -> 30.07 (2225/74)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mov':
Metadata:
creation_time : 2009-04-04 07:12:29
comment : EASTMAN KODAK COMPANY KODAK Z1275 ZOOM DIGITAL CAMERA
comment-eng : EASTMAN KODAK COMPANY KODAK Z1275 ZOOM DIGITAL CAMERA
Duration: 00:00:17.76, start: 0.000000, bitrate: 8100 kb/s
Stream #0:0(eng): Video: mpeg4 (Advanced Simple Profile) (mp4v /0x7634706D), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 7968 kb/s, 30.07 fps, 30.07 tbr, 8544k tbn, 30 tbc
Metadata:
creation_time : 2009-04-04 07:12:29
handler_name :
Stream #0:1(eng): Audio: pcm_mulaw (ulaw /0x77616C75), 16000 Hz, 1 channels, s16, 128 kb/s
Metadata:
creation_time : 2009-04-04 07:12:29
handler_name :
[buffer @ 0x2187f00] w:1280 h:720 pixfmt:yuv420p tb:1/1000000 sar:1/1 sws_param:
[scale @ 0x219c120] w:1280 h:720 fmt:yuv420p -> w:640 h:480 fmt:yuv420p flags:0x4
[libx264 @ 0x2190d20] using SAR=4/3
[libx264 @ 0x2190d20] using cpu capabilities: none!
[libx264 @ 0x2190d20] profile High, level 3.0
[libx264 @ 0x2190d20] 264 - core 120 - H.264/MPEG-4 AVC codec - Copyleft 2003-2012 - http://www.videolan.org/x264.html - options: cabac=1 ref=2 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=6 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=30 rc=crf mbtree=1 crf=22.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
[aac @ 0x21917e0] Too many bits per frame requested
Output #0, mp4, to 'output.mp4':
Metadata:
creation_time : 2009-04-04 07:12:29
comment : EASTMAN KODAK COMPANY KODAK Z1275 ZOOM DIGITAL CAMERA
comment-eng : EASTMAN KODAK COMPANY KODAK Z1275 ZOOM DIGITAL CAMERA
Stream #0:0(eng): Video: h264, yuv420p, 640x480 [SAR 4:3 DAR 16:9], q=-1--1, 90k tbn, 30.07 tbc
Metadata:
creation_time : 2009-04-04 07:12:29
handler_name :
Stream #0:1(eng): Audio: aac, 16000 Hz, 1 channels, s16, 128 kb/s
Metadata:
creation_time : 2009-04-04 07:12:29
handler_name :
Stream mapping:
Stream #0:0 -> #0:0 (mpeg4 -> libx264)
Stream #0:1 -> #0:1 (pcm_mulaw -> aac)
Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height
Il semble que le problème est avec audio bits par trame.
Ce qui pourrait être la bonne solution?
Vous devez vous connecter pour publier un commentaire.
La "
Too many bits per frame requested
" erreur provient de la distribution native encodeur AAC (-c:a aac
). Vous pouvez utiliser une ou plusieurs des solutions suivantes:Mise à jour de votre
ffmpeg
De développement est très active et la distribution native encodeur AAC a vu de nombreuses améliorations; il sera désormais automatiquement la pince sur le nombre maximum de bits par image au lieu d'échouer avec cette erreur. Voir la FFmpeg Téléchargement page pour les liens déjà compilés qui sont la méthode la plus simple pour obtenir un récent
ffmpeg
.Si vous êtes coincé avec un vieux, obsolète, ancienne
ffmpeg
:Augmenter le taux d'échantillonnage audio tels que par l'ajout de
-ar 44100
.Diminuer votre débit. Par défaut est probablement
-b:a 128k
. Essayez des valeurs inférieures jusqu'à ce qu'il fonctionne.Utilisation
-c:a copy
à stream copy (re-mux), l'audio, et, parce que MP4 ne prend pas en chargepcm_mulaw
, l'utilisation de différentes conteneur de sortie format Matroska (.mkv
).Utiliser un autre encodeur AAC comme
libfdk_aac
si votreffmpeg
prend en charge.Vous n'avez pas besoin de faire aucune de ces options si vous mettez à niveau
ffmpeg
.FFmpeg
faire de la compression vidéo à l'aide de matériel dans android?video
dans la plus petite résolution (320 * 240) et quand je l'Augmentation de la présente résolution (640 * 480) ou plus, le temps de culture également augmenter. mon but est de savoir comment puis-je diminuer le temps en vidéo de haute résolution.Too many bits per frame requested
.J'espère ffmpeg est plus intelligent que cela, mais vous pourriez essayer de préciser le flux vidéo de votre
-s
et-aspect
options:-s:v
et-aspect:v
.Alternativement, puisque vous ne faites pas quelque chose de spécial avec l'audio, vous pouvez copier explicitement
-c:a copy
.-c:a copy
, je reçois un autre message d'erreur:[mp4 @ 0x273d220] track 1: could not find tag, codec not currently supported in container
. J'ai essayé d'utiliser-acodec libfaac -ar 48000
et il semble fonctionner correctement maintenant.pcm_mulaw, 16000 Hz, 1 channels
ne doit pas être pris en charge dans le conteneur MP4, de sorte que vous devez ré-encoder (comme vous l'avez mentionné), ou de l'utilisation doit utiliser un autre conteneur comme le MKV.-c:a copy
a fonctionné pour moi avec une conversion différents, mais toujours la même erreur. bonne prise.