2015-09-04 54 views
0

不完全確定我是否應該在askubuntu或者stackoverflow上發佈這個。張貼在askubuntu並沒有得到任何答案。我希望我能在這裏找到答案。avconv:保存MP4進程掛起

我正在建立一個網站,用戶可以上傳視頻並分享。我使用avconv來縮小視頻大小並將其保存兩次,一次是mp4,另一次是webm。

從手機上傳.MOV,視頻轉換快速且易於管理。

從Samsung Galaxy S3上傳.mp4,視頻轉換爲webm也很快。但是,轉換到另一臺MP4需要花費幾個小時。爲什麼?有人能夠解決這個問題嗎?

我的avconv輸出如下。

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 

下面是一個例子幀輸出:

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

我已經運行的整個過程中我一直在寫這個問題,到目前爲止,它的完成...... 22幀的過程。

可能是什麼問題?

編輯:而且這不是一個巨大的文件,無論是。它有點像11兆像素,1280 x 720.

編輯再次:自發布的問題,該過程剛剛開始掛起,並不會移動過去的幀... 32左右。

編輯再次:重新啓動服務器的情況下,CPU只是與其他進程不知所措。沒有骰子,同樣的問題。

回答

0

對於任何發現這種情況和遇到類似問題的人來說,問題基本上就是avconv很糟糕,並且充滿了錯誤。切換到使用FFmpeg立即解決了這個問題。