не совсем уверен, стоит ли мне публиковать это в askubuntu или stackoverflow.
Я создаю веб-сайт, где пользователи могут загружать видео и делиться ими. Я использую avconv, чтобы уменьшить размер видео и сохранить его дважды, один раз как mp4, а затем как webm.
Загружая .MOV с телефона, конвертация видео быстрая и управляемая.
Загрузка .mp4 с Samsung Galaxy S3 позволяет быстро конвертировать видео в 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 или около того.
ВНОВЬ РЕДАКТИРОВАТЬ: Перезагружать сервер в случае, если ЦПУ просто перегружен другими процессами. Без кубиков, та же проблема.
ffmpeg
avconv
и подделка"ffmpeg
"от Libav багги. Получите недавнее ffmpeg
сборка. У Вас есть 4 основных опции:
Загрузите статическую сборку. Легкий и быстрый, но не может быть настроен и не поддерживает несвободный материал, такой как некоторые кодеры. Невмешательство с системой.
Скомпилировать. Можно следовать копии и вставить пошаговое руководство. Это не вмешается в систему.
Используйте PPA (для Испытанных пользователей).
Обновите до Ubuntu Яркие 15.04 или более новый. Яркий содержит ffmpeg
2.5.8 от FFmpeg. Однако разработка FFmpeg так активна, что можно все еще хотеть использовать статическую сборку или компиляцию.
После того, как Вы загружаете и извлекаете его, можно использовать его как это (предположение, что это находится в Downloads
каталог в Вашем доме).
Включайте полный путь:
/home/user/Downloads/ffmpeg -i …
или
~/Downloads/ffmpeg -i …
Или перейдите к каталогу, содержащему ffmpeg
и выполненный:
./ffmpeg -i …
Или переместите его в каталог в Вашем PATH
. ~/bin
каталог является одним таким местоположением (предполагающий, что тот же пользователь будет выполняться ffmpeg
).
bin
в Вашем корневом каталоге.ffmpeg
двоичный файл к ~/bin
.source ~/.profile
, или просто выйдите из системы, затем входят в систему.ffmpeg
команда в любом терминале и это должно просто работать.