Jak przekonwertować WMV na MP4?


Odpowiedzi:


45

Możesz użyć FFmpeg (darmowe narzędzie wiersza polecenia dla komputerów Mac, Linux i Windows) do kodowania WMV do MP4. Oto przykładowa składnia:

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

Spowoduje to zakodowanie wideo do wideo H.264 i audio AAC przy użyciu domyślnej jakości. Aby zmienić jakość wideo, użyj innej wartości CRF, gdzie niższa oznacza lepszą, np. 20 lub 18. Dla dźwięku 100% to jakość domyślna. Zwiększ wartość, aby uzyskać lepszą jakość.

W przypadku AppleTV właśnie tak twierdzi Apple:

Wideo H.264 do 1080p, 30 klatek na sekundę, wysoki lub główny profil na poziomie 4.0 lub niższym, profil linii bazowej 3.0 lub niższy z AAC-LC audio do 160 kbit / s na kanał, 48 kHz, dźwięk stereo w. , .mp4 i .mov

Można więc użyć następującego polecenia, aby wymusić częstotliwość odświeżania 30 Hz i Wysoki profil:

ffmpeg -i input.wmv -c:v libx264 -crf 23 -profile:v high -r 30 -c:a libfaac -q:a 100 -ar 48000 output.mp4

9
Właśnie próbowałem użyć tego rozwiązania w Fedorze 19 i natrafiłem na błąd: Nieznany koder „libaac” Wydaje się, że po pewnym wydaniu ffmpeg nie zawiera binarnych dystrybucji ze wsparciem libfaac, więc trzeba zbudować ze źródła. Zamiast tego zmieniłem „libfaac” na „aac” i dodałem flagi „-strict -2”, a konwersja przebiegła pomyślnie.
roartechs

4
Nierozpoznana opcja „c: v” Nie można ustawić wartości „libx264” dla opcji „c: v”
e-info128

3
miałem takie same problemy jak roartechy i rozwiązałem je za pomocą ffmpeg -i input.wmv -c:v libx264 -crf 23 -c:a aac -strict -2 -q:a 100 output.mp4
Jeremy Tammik

17

Hamulec ręczny . Wieloplatformowy i darmowy.

HandBrake to wieloplatformowy, wielowątkowy transkoder wideo na licencji GPL, oparty na licencji GPL, dostępny dla MacOS X, Linux i Windows.

Obsługiwane źródła:

  • Najbardziej popularne pliki multimedialne obsługiwane przez libavformat i libavcodec.

  • Każde źródło DVD lub Bluray, które NIE jest chronione przed kopiowaniem. (usunięcie ochrony przed kopiowaniem nie jest obsługiwane)

Wyjścia:

  • Format pliku: MP4 (M4V) i MKV

  • Wideo: H.264 (x264), MPEG-4 (ffmpeg), MPEG-2 (ffmpeg) lub Theora (libtheora)

  • Audio: AAC, CoreAudio AAC / HE-AAC (tylko OS X), MP3, Flac, AC3 lub Vorbis. AC-3, DTS, DTS-HD, AAC i MP3 pass-thru.

2
HandBrake nie działa. Otrzymałem błąd, który mówi: „Nie znaleziono żadnych tytułów. Upewnij się, że wybrałeś prawidłowe, nie chronione przed kopiowaniem źródło. Twoje źródło może być zabezpieczone przed kopiowaniem, źle opanowane lub w formacie, którego Handbrake nie obsługuje”. i nie sądzę, że HandBrake obsługuje wmv.
burnt1ce

7
Przykro to słyszeć. Przeszedł test „Works on my machine” :-(.

Pracował dla mnie z hamulcem ręcznym 0.9.4.
Sebastian

@RololphWest Co to jest twój komputer, jeśli na nim pracował?
bwerks

@ burnt1ce Po uzyskaniu dokładnie tego samego błędu udało mi się przekonwertować GoToMeeting wmv za pomocą hamulca ręcznego dopiero po pierwszym transkodowaniu za pomocą g2mtranscoder.exe Citrix, a następnie za pomocą hamulca ręcznego 0.9.8.
bwerks

4

Jeśli próbujesz przekonwertować pliki WMV utworzone przez GoToMeeting (aka Go2Meeting dla SEO ) wszystkie powyższe rozwiązania prawdopodobnie zawiodą, ponieważ wideo jest kodowane przy użyciu specyficznego dla Citrix kodera g2m4, który spowoduje zakrztusenie transkoderów.

znalazłem ta strona to prowadzi przez transkodowanie z g2m do regularnego WMV przy użyciu g2mtranscoder.exe dostarczonego przez gotomeeting, który dokona transkodowania twojego wideo na miejscu, dzięki czemu będziesz mógł go transkodować do wybranego formatu za pomocą zwykłych narzędzi (jak inne odpowiedzi w tym wątku).


Czy jesteś pewien, że FFmpeg nie obsługuje kodeków GoToMeeting? Jest wymieniony w ffmpeg -codec, jednak bez D flag, więc nie wiem, czy jest w pełni obsługiwany.
slhck

@slhck Pierwszym krokiem było wypróbowanie samego FFmpeg, a mimo że kodek wideo został zidentyfikowany jako wideo: g2m (G2M4 / 0x344D3247), wystąpił błąd „Nie można przeanalizować wartości opcji„ -1 ”jako formatu pikseli” . Po transkodowaniu na miejscu za pomocą g2mtranscoder mogłem normalnie transkodować za pomocą hamulca ręcznego. Planuję jednak, że spróbuję go uruchomić z FFmpeg, dzięki czemu będę mógł w pełni zautomatyzować ten proces.
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

Nie wiem, co oznaczają wszystkie opcje / flagi, ale to wydawało się działać i uzyskać plik MP4 z możliwością strumieniowania Flash, ale wideo nie było najwyższej jakości.

Biblioteki kodeków, które zainstalowałem, to libx264 i libfaac H.264 i AAC kodeki wideo i audio.


2

www.media-convert.com to bezpłatna usługa internetowa, która konwertuje wszelkiego rodzaju formaty audio i wideo. Nie ma potrzeby instalowania żadnego oprogramowania. Zignoruj ​​dodatki i wybierz typ pliku z menu rozwijanych.


1
Bardzo interesujące, ale nie wyświetla wideo w jakości 720p + Maksymalna rozdzielczość dla mp4 wynosi 640x480. Ale na pewno +1.
burnt1ce

1

MediaCoder powinien zrobić to dobrze!

MediaCoder to darmowy uniwersalny transkoder mediów od 2005 roku. Integruje najpopularniejsze kodeki audio / wideo i narzędzia w elegancki i przejrzysty sposób w rozwiązanie transkodowania typu wszystko w jednym. Dzięki elastycznej i rozszerzalnej architekturze aktualizowane są najnowsze kodeki i narzędzia. MediaCoder zamierza być szwajcarskim scyzorykiem do transkodowania multimediów przez cały czas.


Fajnie, teraz go ściągam.
burnt1ce



0

Nie mogłem zainstalować FFmpeg Ubuntu Server 14.10 (Utopic Unicorn), więc użyłem HandBrake. Po instalacji użyłem skryptu z thanhsiang.org/faqing :

  1. Utwórz plik .sh, na przykład convert.sh
  2. chmod +x convert.sh
  3. Skonfiguruj katalogi SRC i DEST, + DEST_EXT
  4. ./convert.sh

Plik 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

To było dla mnie najszybsze rozwiązanie.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.