2015-09-04 1 views
0

Je ne suis pas tout à fait sûr si je devrais le signaler sur askubuntu ou stackoverflow. Publié sur askubuntu et ne pas avoir de réponses. J'espère que je peux trouver une réponse ici.avconv: L'enregistrement du processus MP4 se bloque

Je suis en train de mettre en place un site Web où les utilisateurs peuvent télécharger des vidéos et les partager. J'utilise avconv pour réduire la taille de la vidéo et l'enregistrer deux fois, une fois en tant que mp4 et à nouveau en tant que webm.

En téléchargeant un .MOV à partir d'un téléphone, la conversion vidéo est rapide et gérable.

En téléchargeant un .mp4 à partir d'un Samsung Galaxy S3, la conversion vidéo en webm est également rapide. Mais, la conversion vers un autre MP4 prend FOREVER - littéralement heures. Pourquoi? Quelqu'un peut-il faire la lumière sur le problème?

Ma sortie avconv est ci-dessous.

avconv -i /path/video.mp4 -c:v libx264 -vf transpose=1,transpose=1,transpose=1 -s 640x480 /path/video-out.mp4 
avconv version 0.8.17-4:0.8.17-0ubuntu0.12.04.1, Copyright (c) 2000-2014 the Libav developers 
built on Mar 16 2015 13:26:50 with gcc 4.6.3 
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/path/video.mp4': 
    Metadata: 
    major_brand  : isom 
    minor_version : 0 
    compatible_brands: isom3gp4 
    creation_time : 2015-09-04 15:08:21 
Duration: 00:00:07.76, start: 0.000000, bitrate: 11756 kb/s 
Stream #0.0(eng): Video: h264 (Constrained Baseline), yuv420p, 1280x720, 11967 kb/s, 29.81 fps, 90k tbr, 90k tbn, 180k tbc 
Metadata: 
    creation_time : 2015-09-04 15:08:21 
Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, s16, 119 kb/s 
Metadata: 
    creation_time : 2015-09-04 15:08:21 
File '/path/video-out.mp4' already exists. Overwrite ? [y/N] y 
[buffer @ 0xc3d580] w:1280 h:720 pixfmt:yuv420p 
[scale @ 0xc3dac0] w:1280 h:720 fmt:yuv420p -> w:640 h:480 fmt:yuv420p flags:0x4 
[transpose @ 0xc3e280] w:640 h:480 dir:1 -> w:480 h:640 rotation:clockwise vflip:0 
[transpose @ 0xc3e7c0] w:480 h:640 dir:1 -> w:640 h:480 rotation:clockwise vflip:0 
[transpose @ 0xc3ede0] w:640 h:480 dir:1 -> w:480 h:640 rotation:clockwise vflip:0 
[libx264 @ 0xc2b100] MB rate (108000000) > level limit (983040) 
[libx264 @ 0xc2b100] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX 
[libx264 @ 0xc2b100] profile Main, level 5.1 
[libx264 @ 0xc2b100] 264 - core 120 r2151 a3f4407 - H.264/MPEG-4 AVC codec - Copyleft 2003-2011 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=0 b_adapt=1 b_bias=0 direct=1 weightb=0 open_gop=1 weightp=2 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.25 aq=1:1.00 
Output #0, mp4, to '/path/video-out.mp4': 
    Metadata: 
    major_brand  : isom 
    minor_version : 0 
    compatible_brands: isom3gp4 
    creation_time : 2015-09-04 15:08:21 
    encoder   : Lavf53.21.1 
    Stream #0.0(eng): Video: libx264, yuv420p, 480x640, q=-1--1, 180k tbn, 90k tbc 
    Metadata: 
     creation_time : 2015-09-04 15:08:21 
    Stream #0.1(eng): Audio: libvo_aacenc, 48000 Hz, stereo, s16, 200 kb/s 
    Metadata: 
     creation_time : 2015-09-04 15:08:21 
Stream mapping: 
    Stream #0:0 -> #0:0 (h264 -> libx264) 
    Stream #0:1 -> #0:1 (aac -> libvo_aacenc) 
Press ctrl-c to stop encoding 

Voici un exemple de sortie cadre:

frame=124398 fps=142 q=33.0 size= 16885kB time=1.38 bitrate=100110.2kbits/s dup=124356 drop=0 

J'ai eu le processus en cours d'exécution tout le temps que j'ai écrit cette question, et à ce jour, il a fait ... 22 cadres.

Quel pourrait être le problème?

EDIT: Et ce n'est pas un énorme fichier non plus. Il est quelque chose comme 11 megs, 1280 x 720.

EDIT AGAIN: Depuis la publication de la question, le processus vient de commencer à se bloquer, et ne dépassera pas le cadre ... 32 ou plus. ÉDITER: Le serveur a redémarré le serveur au cas où le processeur serait submergé par d'autres processus. Pas de dés, même problème.

Répondre

0

Pour quiconque trouve cela et rencontre un problème similaire, le problème est essentiellement que avconv suce, et est plein de bugs. Passer à l'utilisation de FFmpeg a immédiatement résolu le problème.