2010-03-19 16 views
2

J'essaie d'encoder des fichiers ogg à -q 6/192k. ffmpeg ne marche pas semblent être listenting à ma commandePipe ffmpeg à oggenc (2) avec .NET

ffmpeg -i blah -acodec vorbis -ab 192k -y out.ogg 

Donc je voudrais utiliser le recommended ogg encoder. Il dit que l'entrée doit être wav ou similaire. Je voudrais passer un wav de ffmpeg à ogg. Cependant, non seulement je ne sais pas si oggenc2 acceptera l'entrée de stdin, mais je n'ai aucune idée de la manière de canaliser un processus vers un autre à l'intérieur de .net en utilisant la classe Process.

Répondre

1

Tout d'abord, AFAIK

Oggenc2

encodeur de ligne de commande - permet l'entrée directe de '.flac', '.ape', '.wv', '.pac', ». OFR 'et' fichiers « .shn - ICL7.1 compilent

Supposons que vous n'avez pas besoin

à une canalisation à un autre processus à l'intérieur de .net utilisant la classe Process

parce qu'il y a un moyen de faire plus facilement ce produit. Essayez la construction suivante:

ffmpeg -i audio.mp3 -f flac - | oggenc2.exe - -o audio.ogg 

Cette commande convertit un fichier d'entrée mp3 (je n'ai pas trouvé d'autres fichiers audio sur mon PC) à flac et il envoie à stdout, qui va à stdin de oggenc2 en utilisant la conduite (|).

La seule chose que vous avez à faire est d'écrire a. NET pour exécuter ffmpeg.

+0

J'utilise Process dans system.diagnostics. Pourquoi ai-je besoin d'un emballage? Je vais écrire une autre question sur la tuyauterie et je pense que je vais utiliser la commande ci-dessus. je serai de retour bientôt (après une réponse à cette question) pour accepter je pense que cela fonctionnera! –

+0

Sous le "wrapper" je voulais dire la classe System.Diagnostics.Process :) – Alex