У меня есть набор частного jpeg’s и avi’s (mjpeg формат) зарегистрированный с камерой Olympus u5000. Поскольку mjpeg не является подходящим форматом для проигрывания в xbmc, я хотел бы транскодировать его к h264 формату. Самой далекой, которую я имею, является следующая строка:
avconv -i P3040001.AVI -strict experimental -c:v libx264 -b:v 8000k -c:a ac3 -b:a 192k output.mp4
Эта строка преобразовывает:
avconv version 9.11-6:9.11-2ubuntu2, Copyright (c) 2000-2013 the Libav developers
built on Mar 24 2014 06:12:33 with gcc 4.8 (Ubuntu 4.8.2-17ubuntu1)
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, avi, from 'P3040001.AVI':
Metadata:
creation_time : 2013-03-04 12:21:39
encoder : OLYMPUS u5000
Duration: 00:00:01.99, start: 0.000000, bitrate: 12920 kb/s
Stream #0.0: Video: mjpeg, yuvj422p, 640x480, 30 fps, 30 tbr, 30 tbn
Stream #0.1: Audio: pcm_u8, 8000 Hz, mono, u8, 64 kb/s
кому:
avconv version 9.11-6:9.11-2ubuntu2, Copyright (c) 2000-2013 the Libav developers
built on Mar 24 2014 06:12:33 with gcc 4.8 (Ubuntu 4.8.2-17ubuntu1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'output.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
creation_time : 2013-03-04 12:21:39
encoder : Lavf54.20.3
Duration: 00:00:02.09, start: 0.000000, bitrate: 35 kb/s
Stream #0.0(und): Video: h264 (High), yuv420p, 640x480, 17 kb/s, 30 fps, 30 tbr, 30 tbn, 60 tbc
Metadata:
creation_time : 2013-03-04 12:21:39
Stream #0.1(und): Audio: aac, 8000 Hz, mono, fltp, 9 kb/s
Metadata:
creation_time : 2013-03-04 12:21:39
Как Вы видите, у меня есть проблема с аудио. В выводе mp4 нет никакого аудио вообще. Я хотел бы использовать avconv, потому что у меня есть набор файлов на моем сервере xubuntu 14.04.
Что я делаю неправильно?
С уважением.
В Вашей команде Вы не определяли то, что должно быть сделано с аудиотреком.
Попытка это:
avconv -i P3040001.AVI -strict experimental -c:v libx264 -b:v 8000k -c:a ac3 -b:a 192k output.mp4.
Не стесняются настраивать скорости передачи, как Вам нравится. Можно использовать avinfo
для понимания об исходной скорости передачи и транскоде к подобному.
можно также использовать программу GUI как Avidemux.
Попробуйте это:
avconv -i input.avi -c:v libx264 -b 800k output.mp4
это повторно закодирует видео с помощью libx264 кодека с уровнем в 800k и позволит кодеру решить к тому, что сделать с аудио для обеспечения совместимости с mp4 контейнером. Скорректируйте скорости передачи к своему качественному предпочтению. Учитывая все обстоятельства необходимо позволить более высокие скорости передачи для больших фильмов. (например, для фильма, который является 1280x960, была бы нужна примерно 4 раза скорость передачи одной 640x480 для поддержания подобного качества)
Возможно, наилучший вариант состоял бы в том, чтобы использовать , задает для кодирования x264 и определяют Постоянный фактор уровня (CRF), а не фиксированную скорость передачи. Звук из источника не является лучшим для запуска с, но возможно преобразование в относительно низкую скорость передачи VBR mp3 могло бы звучать хорошо. Попробуйте следующее:
avconv -i P3040001.AVI \
-c:v libx264 -preset slow -crf 22 -tune film \
-c:a libmp3lame -qscale:a 7 -ar 44100 \
output.mp4
и это могло бы дать разумное качество видео и возможно лучший звук. Корректируйтесь установка-qscale:a 7 для лучшего звука, более низкое количество даст более высокую цель скорости передачи.
, Если avconv дросселирует или на x264 или на libmp3lame, необходимо будет добавить в соответствующем libavcodec-дополнительный* пакет, подходящий для версии Ubuntu.