Come convertire WMV in MP4?


Risposte:


49

È possibile utilizzare FFmpeg (uno strumento da riga di comando gratuito per Mac, Linux e Windows) per codificare WMV in MP4. Ecco una sintassi di esempio:

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

Questo codificherà il video in video H.264 e audio AAC, usando la qualità predefinita. Per modificare la qualità del video, utilizzare un valore CRF diverso, dove inferiore significa migliore, ad esempio 20 o 18. Per l'audio, il 100% è la qualità predefinita. Aumenta il valore per una migliore qualità.

In particolare per AppleTV, questo è ciò che Apple sostiene di supportare:

Video H.264 fino a 1080p, 30 fotogrammi al secondo, Profilo alto o principale livello 4.0 o inferiore, Profilo base livello 3.0 o inferiore con audio AAC-LC fino a 160 kbit / s per canale, 48 kHz, audio stereo in .m4v , formati di file .mp4 e .mov

Pertanto, è possibile utilizzare il comando seguente per forzare la frequenza dei fotogrammi a 30 Hz e il profilo alto :

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
Ho appena provato a usare questa soluzione su Fedora 19 e ho riscontrato l'errore: Encoder sconosciuto 'libaac' Sembra che dopo una certa versione, ffmpeg non includa distorsioni binarie con supporto libfaac, quindi dovresti compilare dal sorgente. Invece ho cambiato 'libfaac' in 'aac' e ho aggiunto i flag '-strict -2' e la conversione ha funzionato con successo.
roartechs,

4
Opzione non riconosciuta 'c: v' Impossibile impostare il valore 'libx264' per l'opzione 'c: v'
e-info128

5
ho avuto gli stessi problemi dei roartech e li ho risolti usandoffmpeg -i input.wmv -c:v libx264 -crf 23 -c:a aac -strict -2 -q:a 100 output.mp4
Jeremy Tammik,

attenzione, nella maggior parte dei casi, 23 è significativamente diverso da 20 mentre 22 è appena percettibile e 18 è difficile individuare eventuali differenze rispetto all'originale.
Dmitry il

18

Freno a mano . Multipiattaforma e gratuito.

HandBrake è un transcoder video open source, con licenza GPL, multipiattaforma, multithread, disponibile per MacOS X, Linux e Windows.

Fonti supportate:

  • File multimediali più comuni supportati da libavformat e libavcodec.

  • Qualsiasi sorgente simile a DVD o Bluray NON protetta da copia. (la rimozione della protezione dalla copia non è supportata)

Uscite:

  • Formato file: MP4 (M4V) e MKV

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

  • Audio: AAC, CoreAudio AAC / HE-AAC (solo OS X), MP3, Flac, AC3 o Vorbis. Pass-through AC-3, DTS, DTS-HD, AAC e MP3.

2
HandBrake non ha funzionato. Ho ricevuto un errore che dice "Nessun titolo trovato. Assicurati di aver selezionato una fonte valida, non protetta da copia. La tua fonte potrebbe essere protetta da copia, masterizzata male o in un formato che il freno a mano non supporta." e non credo che HandBrake supporti wmv.
burnt1ce

7
Mi dispiace di sentire. Ha superato il test "Funziona sulla mia macchina" :-(.

Ha funzionato per me con freno a mano 0.9.4.
Sebastian

@RandolphWest Qual è la tua macchina, se ha funzionato su di essa?
Bwerks,

@ burnt1ce Dopo aver ottenuto lo stesso errore esatto, sono stato in grado di convertire un wmv GoToMeeting utilizzando il freno a mano solo dopo la prima transcodifica con g2mtranscoder.exe di Citrix e quindi utilizzando il freno a mano 0.9.8.
Bwerks,

4

Se stai cercando di convertire i file WMV creati da GoToMeeting (noto anche come Go2Meeting per scopi SEO ), probabilmente tutte le soluzioni sopra citate falliranno perché il video è codificato utilizzando un codec g2m4 specifico per citrix che renderà soffocare i transcoders.

Ho trovato questa pagina che guida attraverso la transcodifica da g2m a WMV normale usando g2mtranscoder.exe fornito da gotomeeting, che transcodificherà il tuo video in posizione in modo da poterlo transcodificare nel tuo formato preferito usando strumenti regolari (come le altre risposte in questo filo).


Sei sicuro che FFmpeg non esegua i codec GoToMeeting? È elencato in ffmpeg -codec, tuttavia senza Dflag, quindi non so se è completamente supportato.
slhck,

@slhck Ho provato FFmpeg da solo come primo passo, e mentre ha identificato il codec video come Video: g2m (G2M4 / 0x344D3247), è risultato con l'errore 'Impossibile analizzare il valore dell'opzione "-1" come formato pixel' . Dopo la transcodifica sul posto con g2mtranscoder, sono stato in grado di transcodificare normalmente con il freno a mano. Ho intenzione di provare a farlo funzionare con FFmpeg anche se così posso automatizzare completamente questo processo.
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

Non so cosa significhino tutte le opzioni / flag, ma sembrava funzionare e ottenere un file MP4 streaming Flash, ma il video non era della massima qualità.

Le librerie di codec che ho installato sono libx264 e libfaac per i codec audio e video H.264 e AAC .


2

www.media-convert.com è un servizio web gratuito che converte tutti i tipi di formati audio e video. Non è necessario installare alcun software. Ignora le aggiunte e seleziona il tipo di file dai menu a discesa.


1
Molto interessante, tuttavia, non produce video di qualità 720p +. La risoluzione massima per mp4 è 640x480. Ma +1 di sicuro.
burnt1ce

1

MediaCoder dovrebbe fare il lavoro bene!

MediaCoder è un transcodificatore multimediale universale gratuito dal 2005. Integra i codec e gli strumenti audio / video più diffusi in modo elegante e trasparente in una soluzione di transcodifica all-in-one. Con un'architettura flessibile ed estensibile, gli ultimi codec e strumenti vengono aggiornati costantemente. MediaCoder intende essere il coltellino svizzero per la transcodifica dei media in ogni momento.


Bene, lo sto scaricando ora.
burnt1ce



0

Non ho potuto installare FFmpeg su Ubuntu Server 14.10 (Utopic Unicorn), quindi ho usato HandBrake. Dopo l'installazione ho usato uno script di thanhsiang.org/faqing :

  1. Creare un file .sh, ad esempio, convert.sh
  2. chmod +x convert.sh
  3. Configurare le directory SRC e DEST, + DEST_EXT
  4. ./convert.sh

File 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

È stata la soluzione più veloce per me.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.