Как конвертировать WMV в MP4?

Ответы:

49

Вы можете использовать FFmpeg (бесплатный инструмент командной строки для Mac, Linux и Windows) для кодирования WMV в MP4. Вот пример синтаксиса:

ffmpeg -i input.wmv -c:v libx264 -crf 23 -c:a libfaac -q:a 100 output.mp4

Это закодирует видео в видео H.264 и аудио AAC, используя качество по умолчанию. Чтобы изменить качество видео, используйте другое значение CRF, где меньшее означает лучшее, например, 20 или 18. Для звука качество по умолчанию - 100%. Увеличьте ценность для лучшего качества.

В частности, AppleTV поддерживает Apple:

Видео H.264 до 1080p, 30 кадров в секунду, высокий или основной уровень профиля 4.0 или ниже, базовый уровень профиля 3.0 или ниже с аудио AAC-LC до 160 кбит / с на канал, 48 кГц, стереозвук в формате .m4v форматы файлов .mp4 и .mov

Таким образом, вы можете использовать следующую команду для установки частоты кадров 30 Гц и высокого профиля:

ffmpeg -i input.wmv -c:v libx264 -crf 23 -profile:v high -r 30 -c:a libfaac -q:a 100 -ar 48000 output.mp4
Питер Мортенсен
источник
10
Я только что попробовал использовать это решение на Fedora 19 и столкнулся с ошибкой: Неизвестный кодировщик 'libaac' Кажется, что после определенного выпуска ffmpeg не включает бинарные дистрибутивы с поддержкой libfaac, поэтому вам нужно будет собрать из исходного кода. Вместо этого я изменил «libfaac» на «aac» и добавил флаги «-strict -2», и преобразование прошло успешно.
roartechs
4
Нераспознанная опция 'c: v' Не удалось установить значение 'libx264' для опции 'c: v'
e-info128
5
У меня были те же проблемы, что и у roartechs, и я решил их с помощьюffmpeg -i input.wmv -c:v libx264 -crf 23 -c:a aac -strict -2 -q:a 100 output.mp4
Джереми Таммик
Предупреждение, в большинстве случаев, 23 значительно отличается от 20, тогда как 22 едва заметен, а 18 трудно вообще отличить от оригинала.
Дмитрий
18

Ручной тормоз . Мультиплатформенный и бесплатный.

HandBrake - это многопоточный многопоточный транскодер с открытым исходным кодом, лицензированный по GPL, доступный для MacOS X, Linux и Windows.

Поддерживаемые источники:

  • Наиболее распространенные мультимедийные файлы, которые поддерживают libavformat и libavcodec.

  • Любой DVD или Bluray-подобный источник, который НЕ защищен от копирования. (снятие защиты от копирования не поддерживается)

Выходы:

  • Формат файла: MP4 (M4V) и MKV

  • Видео: H.264 (x264), MPEG-4 (ffmpeg), MPEG-2 (ffmpeg) или Theora (libtheora)

  • Аудио: AAC, CoreAudio AAC / HE-AAC (только для OS X), MP3, Flac, AC3 или Vorbis. AC-3, DTS, DTS-HD, AAC и MP3.

источник
2
HandBrake не работает. Я получил сообщение об ошибке: «Заголовок (и) не найден. Пожалуйста, убедитесь, что вы выбрали правильный источник, не защищенный от копирования. Ваш источник может быть защищен от копирования, плохо освоен или формат, который Handbrake не поддерживает». и я не думаю, что HandBrake поддерживает WMV.
burnt1ce
7
Жаль слышать. Он прошел тест «Работает на моей машине» :-(.
Работал у меня с ручником 0.9.4.
Себастьян
@RandolphWest Какая у вас машина, если она работала на ней?
bwerks
@ burnt1ce Получив точно такую ​​же ошибку, я смог преобразовать wmv GoToMeeting с помощью Handbrake только после первого транскодирования с помощью Citrix g2mtranscoder.exe, а затем с помощью Handbrake 0.9.8.
bwerks
4

Если вы пытаетесь конвертировать WMV-файлы, созданные GoToMeeting (он же Go2Meeting для целей SEO ), то все вышеперечисленные решения, вероятно, потерпят неудачу, потому что видео кодируется с использованием специфичного для Citrix кодека g2m4, что заставит транскодеры подавиться.

Я нашел эту страницу, которая проводит транскодирование из g2m в обычный WMV с помощью g2mtranscoder.exe, предоставленного gotomeeting, который перекодирует ваше видео на месте, чтобы вы могли затем транскодировать его в свой формат по выбору, используя обычные инструменты (как и другие ответы в этом нить).

bwerks
источник
Вы уверены, что FFmpeg не поддерживает кодеки GoToMeeting? Он указан в списке ffmpeg -codec, но без Dфлага, поэтому я не знаю, поддерживается ли он полностью.
Slhck
@slhck Я попробовал FFmpeg сам по себе в качестве первого шага, и хотя он идентифицировал видеокодек как Video: g2m (G2M4 / 0x344D3247), это привело к ошибке «Невозможно проанализировать значение параметра« -1 »как формат пикселя». , После транскодирования на месте с помощью g2mtranscoder я смог нормально транскодировать с помощью ручного тормоза. Я планирую попытаться заставить его работать с FFmpeg, хотя я могу полностью автоматизировать этот процесс.
bwerks
2
./ffmpeg -y -i input.wmv -vcodec libx264 -acodec libfaac -ab 128k -ac 2 -b 300 -threads 4 -flags +loop -cmp +chroma -partitions 0 -subq 1 -trellis 0 -refs 1 -coder 0 -bufsize 10M  -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 output.mp4

Я не знаю, что означают все опции / флаги, но это, похоже, сработало и получило файл MP4 Flash streamable, но видео было не самого высокого качества.

Я установил библиотеки кодеков libx264 и libfaac для видео и аудио кодеков H.264 и AAC .

бездна
источник
2

www.media-convert.com - это бесплатный веб-сервис, который конвертирует все виды аудио и видео форматов. Нет необходимости устанавливать какое-либо программное обеспечение. Игнорируйте добавления и просто выберите тип файла из выпадающего меню.

Боб Д
источник
1
Очень интересно, однако, он не выводит видео с качеством 720p +. Максимальное разрешение для mp4 составляет 640x480. Но +1 точно.
burnt1ce
1

MediaCoder должен делать эту работу просто отлично!

MediaCoder - это бесплатный универсальный медиакодер с 2005 года. Он элегантно и прозрачно интегрирует большинство популярных аудио / видео кодеков и инструментов в универсальное решение для транскодирования. Благодаря гибкой и расширяемой архитектуре постоянно обновляются новейшие кодеки и инструменты. MediaCoder намеревается быть швейцарским армейским ножом для транскодирования медиа во все времена.

Сварливый медведь
источник
Круто, я сейчас скачиваю.
burnt1ce
1

Попробуйте любой видео конвертер . Как следует из названия, он может конвертировать много видов видео.

phunehehe
источник
это несвободный ...
кряква Quixote
1
на самом деле, есть бесплатная версия
phunehehe
0

Я бы использовал MediaCoder для пакетного преобразования или другой удобной для пользователя возможности Avidemux .

Juhele
источник
0

Я не смог установить FFmpeg на Ubuntu Server 14.10 (Utopic Unicorn), поэтому я использовал HandBrake. После установки я использовал скрипт из thanhsiang.org/faqing :

  1. Создайте файл .sh, например, convert.sh
  2. chmod +x convert.sh
  3. Настроить каталоги SRC и DEST, + DEST_EXT
  4. ./convert.sh

Файл convert.sh

#!/bin/bash

# This script is to convert automatically a folder of video files to MP4.
# You need to change SRC -- Sourse folder and DEST -- Destination folder
# The MP4 format is 480x270.

SRC=/home/video/
DEST=/home/www/mp4files/
DEST_EXT=mp4
HANDBRAKE_CLI=HandBrakeCLI

for FILE in `ls $SRC`
do
        filename=$(basename $FILE)
        extension=${filename##*.}
        filename=${filename%.*}

        $HANDBRAKE_CLI -i $SRC/$FILE -o $DEST/$filename.$DEST_EXT -e x264 -q 22 -r 12 -B 64 -X 480 -O
done

Это было самое быстрое решение для меня.

Даниэль Кмак
источник