59 votes

Comment créer un fichier vidéo webm?

Après avoir regardé sur le projet web, je ne vois aucune preuve d'un moyen de générer une vidéo webm. Je vois des pilotes pour Windows et Quicktime, mais aucune preuve que le ffmpeg utilitaire le plus commun est pris en charge.

Y at-il un convertisseur open source qui produit webm?

Merci.

73voto

matzahboy Points 1870

Vous pouvez utiliser ffmpeg convertir webm. Assurez-vous de le compiler avec l' --enable-libvpx et --enable-libvorbis drapeaux (voir compiler FFmpeg guides), ou visitez le FFmpeg Téléchargement de la page pour les liens vers les versions qui incluent le support. Après cela, vous pouvez utiliser la commande suivante (je suis à l'aide d' input.flv que mon exemple de fichier d'entrée):

ffmpeg -i input.flv -vcodec libvpx -acodec libvorbis output.webm

Pour plus d'informations, voir le FFmpeg vpx (WebM) Guide d'Encodage.

6voto

CoryG Points 427

J'ai mis ce jusqu'à récemment, mais c'est une sorte de douleur. Voici ce que j'ai eu à faire:

Tout d'abord, construire ffmpeg à partir de la source afin d'inclure les libvpx pilotes (même si vous utilisez une version qui a, vous avez besoin de les plus récents (de ce mois) pour les flux webm, car ils ont juste fait ajouter la fonctionnalité d'inclure global des en-têtes). Je l'ai fait sur un serveur Ubuntu et de bureau, et ce guide m'a montré comment - instructions pour les autres Systèmes d'exploitation peuvent être trouvés ici.

Une fois que vous avez obtenu la bonne version de ffmpeg/ffserver vous pouvez les configurer pour la diffusion, dans mon cas, cela a été fait comme suit.

Sur le périphérique de capture vidéo:

ffmpeg -f video4linux2 -standard ntsc -i /dev/video0 http://<server_ip>:8090/0.ffm
  • L'option "-f video4linux2 -standard ntsc -i /dev/video0" partie de qui peut changer en fonction de votre source d'entrée (le mien est pour une carte de capture vidéo).

Pertinentes ffserver.conf extrait:

Port 8090
#BindAddress <server_ip>
MaxHTTPConnections 2000
MAXClients 100
MaxBandwidth 1000000
CustomLog /var/log/ffserver
NoDaemon

<Feed 0.ffm>
File /tmp/0.ffm
FileMaxSize 5M
ACL allow <feeder_ip>
</Feed>
<Feed 0_webm.ffm>
File /tmp/0_webm.ffm
FileMaxSize 5M
ACL allow localhost
</Feed>

<Stream 0.mpg>
Feed 0.ffm
Format mpeg1video
NoAudio
VideoFrameRate 25
VideoBitRate 256
VideoSize cif
VideoBufferSize 40
VideoGopSize 12
</Stream>
<Stream 0.webm>
Feed 0_webm.ffm
Format webm
NoAudio
VideoCodec libvpx
VideoSize 320x240
VideoFrameRate 24
AVOptionVideo flags +global_header
AVOptionVideo cpu-used 0
AVOptionVideo qmin 1
AVOptionVideo qmax 31
AVOptionVideo quality good
PreRoll 0
StartSendOnKey
VideoBitRate 500K
</Stream>

<Stream index.html>
Format status
ACL allow <client_low_ip> <client_high_ip>
</Stream>
  • Remarque ce paramètre est configuré pour un serveur à feeder_ip pour exécuter ladite ffmpeg commande, et pour le serveur à server_ip donc serveur client_low_ip par client_high_ip lors de la manipulation du mpeg webm conversation sur server_ip (suite ci-dessous).

Cette ffmpeg commande est exécutée sur la machine précédemment dénommé server_ip (il gère le réel mpeg --> webm conversion et l'injecte dans la ffserver sur un autre aliment):

ffmpeg -i http://<server_ip>:8090/0.mpg -vcodec libvpx http://localhost:8090/0_webm.ffm

Une fois que ceux-ci ont tous été mis en place (d'abord le ffserver, puis le feeder_ip ffmpeg processus, puis ensuite le server_ip ffmpeg processus de), vous devez être en mesure d'accéder à la diffusion en direct de http://:8090/0.webm et de vérifier le statut à http://:8090/

Espérons que cette aide.

3voto

Diaz Points 31

Pour Linux: Logiciel Open source disponible pour l'utilisation vp8 et vp9 codec pour linux est Arista pour le bureau gnome. Google: Arista Transcoder

Pour Windows et Linux: Miro Video Converter est également gratuit et open source avec un très habile GUI. Vous pouvez le vérifier sur: Google: mirovideoconverter

FFMPEG est un outil de ligne de commande et je l'ai trouvé pour être le plus up-to-date en gardant en place avec la webmd projet. N'oubliez pas de regarder le vp8 options d'encodage fournie par le site webmproject https://sites.google.com/a/webmproject.org/wiki/ffmpeg. Vous devriez aussi jeter un oeil à la VPX Guide d'Encodage: https://trac.ffmpeg.org/wiki/vpxEncodingGuide

Un autre post mentionné vpxenc.exe Cependant, vpxenc.exe doit être compilé par source.

FFMEG Exemple d'utilisation: Remplacer {ENTREE} et {SORTIE} à l'emplacement du fichier. Sur Windows 7, j'ai dû utiliser le power shell (Démarrer > Accessoires > Windows Power Shell > Shell Puissance) et de fournir l'emplacement complet pour ffmpeg, d'entrée et de sortie. Remarque le paramètre -vcodec libvpx utilise VP8 par défaut. Pour utiliser VP9 remplacer avec -vcodec libvpx-vp9

WedmbSD

ffmeg.exe -i {INPUT} -s hd480 -vcodec libvpx -g 120 -lag-in-frames 16 -deadline good -cpu-used 0 -vprofile 0 -qmax 63 -qmin 0 -b:v 768k -acodec libvorbis -ab 112k -ar 44100 -f webm {OUTPUT}

2voto

Nickolay Points 14384

MiroVideoConverter est une belle plateforme multi-plateforme et open-source autour de ffmpeg, qui, en particulier, prend en charge la conversion en WebM.

1voto

Kapil Pendse Points 89

Je ne savais pas si ma copie de FFMPEG supporte WebM, donc tout d'abord j'ai converti ma vidéo MPEG4 raw vidéo à l'aide de FFMPEG.

Ensuite, j'ai utilisé le vpxenc.exe fourni avec le WebM projet du SDK afin de le convertir en WebM.

Lien pour télécharger le SDK: http://code.google.com/p/webm/downloads/list

Télécharger, extraire et de regarder dans le "bin" du dossier. Il y a quelques exemples d'applications de là. Un décodeur est également fourni.

La commande que j'ai utilisé pour convertir les vidéo en WebM:

vpxenc.exe -w 720 -h 480 --rt -o v1.webm v1.yuv

HTH

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X