VLC: как конфертировать из mp4 в webm - PullRequest
25 голосов
/ 06 марта 2012

Как я могу конвертировать из mp4 в webm с помощью VLC, если это возможно? Какой кодек выбрать? Нужно ли перекодировать звук?

Я пытаюсь разместить html5-видео на веб-сайте с флеш-памятью. Насколько я понимаю, это единственный формат (webm), который позволяет Firefox (если вы не используете Windows 7 64bit?). Кажется, что работает Theora, но, насколько я понимаю, она немного устарела, также требуется некоторое время, прежде чем она правильно отобразит картинку и не предоставит миниатюру: (

<video controls width="500">  
    <!-- if Firefox -->  
    <source src="video/45-theora.ogg" type="video/ogg" />
    <!-- if Safari/Chrome-->  
    <source src="video/45.mp4" type="video/mp4" />
</video>

О, и я на Mac OS Lion, но у меня есть доступ к Windows 7, Vista и XP, если это кому-то облегчает.

Спасибо за любую помощь!

Ответы [ 6 ]

24 голосов
/ 20 февраля 2015

Просто чтобы обновить этот ответ, я бы больше не рекомендовал использовать Miro Video Converter.Раньше это был мой выбор оружия для создания HTML5-видео для Интернета, но в текущей версии 3 программы есть проблемы с конвертацией в ogg theora: качество конвертированного видео слишком низкое и для создания более качественной версии у вас естьиспользовать утилиту командной строки ffmpeg.

Easyhtml5video действительно хорош, так как он автоматически создает все форматы видео с резервной флэш-памятью с помощью встраиваемого кода, но вам придется заплатить 69 долларов за это - бесплатная версия добавляет водяные знаки к видео.

В данный момент я использую VLC-плеер для конвертации видео.Чтобы конвертировать mp4 файлы в VLC, я делаю следующее:

Преобразование в .webm

  1. Выберите Media> конвертировать / сохранить из меню.
  2. Нажмите «Добавить»и выберите файл, который вы хотите конвертировать
  3. Нажмите кнопку «Преобразовать / Сохранить»
  4. в выпадающем меню «Профиль» выберите «Видео - VP80 + Vorbis (Webm)»
  5. нажмите на кнопку рядом с раскрывающимся списком («Редактировать выбранный профиль» - выглядит как значок гаечного ключа + отвертка)
  6. Вкладка «Инкапсуляция» должна быть установлена ​​как Webm.
  7. Нажмите на вкладку «видеокодек».В параметрах кодирования кодек должен быть выбран как «VP8».
  8. На вкладке «Аудиокодек» не следует выбирать «сохранить исходную звуковую дорожку».Кодек должен быть установлен на «Vorbis»
  9. Нажмите «Сохранить»
  10. важно: выберите местоположение и имя файла назначения.Нажмите на браузер, перейдите в папку, в которую вы хотите преобразовать имя файла, и введите новое имя файла.Если вы этого не сделаете, VLC не создаст ваш преобразованный файл (ну, в любом случае, не в версии 2.1.5)
  11. Нажмите «Пуск», чтобы начать преобразование.

Преобразование в.ogv:

  1. Выберите Media> конвертировать / сохранить из меню.
  2. Нажмите кнопку «Добавить» и выберите файл, который вы хотите конвертировать
  3. Нажмите «Конвертировать /Кнопка «Сохранить»
  4. в раскрывающемся списке «Профиль» выберите «Видео - Theora + Vorbis (OGG)» *
  5. Нажмите кнопку рядом с раскрывающимся списком («Изменить выбранный профиль»)
  6. Вкладка «Инкапсуляция» должна быть установлена ​​как Ogg / Ogm.
  7. Нажмите на вкладку «видеокодек».В параметрах кодирования кодек должен быть выбран как «theora», а скорость передачи битов должна составлять 1000 Кбит / с, если в нем есть текст.Для небольших видео может подойти более низкая скорость передачи битов.
  8. На вкладке Аудиокодек выберите «сохранить исходную звуковую дорожку»
  9. Нажмите «Сохранить»
  10. , выберите местоположение файла назначения иname.
  11. Нажмите «Пуск», чтобы начать преобразование.

Если вам нужно изменить размер или обрезать видео, я бы рекомендовал сначала сделать это в файле .mp4 с помощью Handbrake.,Попытка создать измененные версии файлов .ogg / ogv или webm с помощью VLC не дает вам больших результатов в моем опыте.

При размещении видео на веб-странице я использую VideoJs - этопозволяет очень легко создавать html5-видео с резервной флэш-памятью для старых браузеров.Чуть больше работы, чем easyhtml5video, но его можно использовать бесплатно.

18 голосов
/ 15 марта 2012

Я бы изменил этот код на:

<video poster="/path/to/your/thumbnail/image.jpg" preload="meta" controls width="500"> 
    <!-- if Safari/Chrome-->  
    <source src="video/45.mp4" type="video/mp4" /> 
    <!-- if Firefox -->  
    <source src="video/45-theora.ogg" type="video/ogg" />
</video>

Причины:

poster="/path/to/your/thumbnail/image.jpg"

потому что вы хотите, чтобы «миниатюра» отображалась до воспроизведения видео пользователем

<source src="video/45.mp4" type="video/mp4" /> BEFORE <source src="video/45-theora.ogg" type="video/ogg" />

mp4 ДО открытых форматов (например, webm или therora), потому что в некоторых версиях iOS есть ошибка, из-за которой видео вообще не воспроизводится, если mp4 указан после любого другого формата в html (поэтому перечислите его первым).

preload="meta"

потому что некоторые версии iOS и даже некоторые версии Safari и Chrome испытывают трудности с загрузкой страницы, если на одной странице одновременно находится много видео. preload = нет или preload = meta помогает решить эти проблемы.

Что касается кодирования, Miro Converter лучше кодирует и намного проще в использовании для преобразования форматов, которые могут воспроизводиться браузерами (mp4, webm, theroa). VLC имеет много вариантов, но может быть перегружен и расстраивать, если вы не понимаете это правильно. Miro - это скорее приложение для перетаскивания, которое рекомендуется diveintohtml5 .

16 голосов
/ 25 января 2017

WebM - это просто подмножество Matroska (.mkv), поэтому просто используйте HandBrake для создания файла MKV (выберите контейнер MKV, а не MP4).ИМХО HandBrake - лучший инструмент для создания файлов MP4 и MKV на Mac (также существует для Windows и Linux, но я никогда не использовал его там).С помощью двухпроходного кодирования вы можете получить оптимальное качество для доступного пространства хранения и / или полосы пропускания, и, будучи очень мощным (вы можете настроить так много параметров), HandBrake по-прежнему является очень простым инструментом (вам не нужно настраивать большинствонастройки, уже значения по умолчанию дадут вам очень хорошие результаты).

Просто имейте в виду, что WebM является подмножеством MKV, поэтому в качестве видеокодека используется либо VP8, либо VP9, ​​а в качестве аудиокодека используется либо Vorbis, либоOpus.До 2013 года были только VP8 и Vorbis для WebM, так что это наиболее совместимая комбинация, которая будет воспроизводиться на большинстве устройств, браузеров и плееров.В 2013 году были добавлены более новые VP9 и Opus, и теперь любая их комбинация является законной.

После того, как вы получили MKV, конвертируйте его в WebM, используя ffmpeg.Вы можете загрузить ffmpg, предварительно собранный для MacOS X , в виде отдельного двоичного файла (работает с 10.9 или новее).Все, что вам нужно сделать, это запустить эту команду в Терминале:

./ffmpeg -i INPUTIFLE.mkv -c copy OUTPUTFILE.webm

и все.Это будет очень быстро, потому что -c copy означает, что ffmpeg здесь ничего не конвертирует (видео не снова перекодируется!), Оно копирует все аудио и видео данные, как есть, только контейнерпереписать, удалив части MKV, которые не поддерживаются в WebM (например, главы не поддерживаются).Простое копирование также означает, что это преобразование не влияет на качество, поскольку ничего не сжимается.

Использование ffmpeg для преобразования между контейнерами без повторного сжатия также работает со многими другими форматами.Например, если у вас есть MKV, который на самом деле является MPEG4 или H.264, вы можете преобразовать его в файл MP4 таким же образом, без повторного преобразования.Вы даже можете извлечь только аудиослой видео в обычный аудиофайл без потери качества (например, извлечение аудио MP3 или AAC в файл MP3 или MPA).Если выбранный контейнер назначения не может содержать данные исходного файла (например, вы не можете скопировать аудио AAC в файл MP3 или видео VP9 в файл MP4, который просто не будет работать), ffmpeg сообщит вам.

11 голосов
/ 06 января 2014

Если вы используете ffmpeg, я обнаружил, что эта команда хорошо работает как компромисс между размером файла и качеством:

ffmpeg -i myvideo.mp4 -acodec libvorbis -aq 5 -ac 2 -qmax 25 -threads 2 myvideo.webm

Вы можете контролировать качество аудио и видео с помощью -aq и -qmax соответственно.Я написал сообщение в блоге с несколькими подробностями, если вам интересно: http://daniemon.com/blog/how-to-convert-videos-to-webm-with-ffmpeg/

Параметр -threads может быть скорректирован или полностью пропущен в зависимости от того, сколько системных ресурсов вы хотите выделить для задачи кодирования.

8 голосов
/ 16 июля 2013
ffmpeg -i 45.mp4 45.webm
0 голосов
/ 26 июля 2018

Попробуйте это :: Libav в Linux

Installation: run command  
               sudo apt-get install libav-tools 

Video conversion command::Go to folder contains the video and run in terminal
               avconv -i oldvideo.mp4 -ar 22050 convertedvideo.webm
...