Як конвертувати 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 підтримує wmv.
burnt1ce

7
Шкода чути. Він пройшов тест "Працює на моїй машині" :-(.

Працював для мене з ручним гальмом 0.9.4.
Себастьян

@RandolphWest Яка ваша машина, якщо вона працювала на ній?
bwerks

@ burnt1ce Після отримання точно такої самої помилки я зміг перетворити GoToMeeting wmv за допомогою Handbrake лише після першого перекодування за допомогою g2mtranscoder.exe Citrix, а потім за допомогою Handbrake 0.9.8.
бербеки

4

Якщо ви намагаєтеся конвертувати WMV файли, створені GoToMeeting (він же Go2Meeting для цілей SEO ), то всі перераховані вище рішення, ймовірно, не вдасться, оскільки відео кодується за допомогою специфічного для кодека g2m4 кодексу, що змушує транскодери задихатися.

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


Ви впевнені, що 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, але відео було не найвищої якості.

Бібліотеки кодеків, які я встановив, - це libx264 та libfaac для відео- та аудіокодеків H.264 та AAC .


2

www.media-convert.com - це безкоштовна веб-послуга, яка перетворює всілякі формати аудіо та відео. Не потрібно встановлювати жодне програмне забезпечення. Ігноруйте додавання та просто виберіть тип файлу зі спадного меню.


1
Дуже цікаво, однак це не виводить 720p + якісне відео. Максимальна роздільна здатність для mp4 - 640x480. Але +1 точно.
burnt1ce

1

MediaCoder повинен зробити цю роботу просто чудово!

MediaCoder - це безкоштовний універсальний медіа-транскодер з 2005 року. Він елегантно та прозоро інтегрує найпопулярніші аудіо / відео кодеки та інструменти у всебічне рішення транскодування. Завдяки гнучкої та розширюваній архітектурі новітні кодеки та інструменти оновлюються постійно. MediaCoder має намір стати ножем швейцарської армії для перекодування медіа за весь час.


Класно, я зараз його завантажую.
burnt1ce



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

Це було для мене найшвидшим рішенням.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.