使用.NET将ffmpeg传输到oggenc(2)

使用.NET将ffmpeg传输到oggenc(2),.net,ffmpeg,stdout,stdin,pipe,.net,Ffmpeg,Stdout,Stdin,Pipe,我正在尝试将ogg文件编码为-q6/192k。ffmpeg似乎没有听我的命令 ffmpeg -i blah -acodec vorbis -ab 192k -y out.ogg 所以我想用这个。它说输入必须是wav或类似的。我想用管道将wav从ffmpeg传输到ogg。但是,我不仅不确定oggenc2是否会接受stdin的输入,我也不知道如何使用process类在.net内部将一个进程传递到另一个进程。首先,AFAIK Oggenc2 命令行编码器-允许直接 输入“.flac”、“.ape”、

我正在尝试将ogg文件编码为-q6/192k。ffmpeg似乎没有听我的命令

ffmpeg -i blah -acodec vorbis -ab 192k -y out.ogg
所以我想用这个。它说输入必须是wav或类似的。我想用管道将wav从ffmpeg传输到ogg。但是,我不仅不确定oggenc2是否会接受stdin的输入,我也不知道如何使用process类在.net内部将一个进程传递到另一个进程。

首先,AFAIK

Oggenc2

命令行编码器-允许直接 输入“.flac”、“.ape”、“.wv”, “.pac”、“.ofr”和“.shn”文件- ICL7.1编译

假设你不需要

通过管道将一个进程连接到内部的另一个进程 使用Process类创建.net的

因为有一种更简单的方法可以做到这一点。尝试以下构造:

ffmpeg -i audio.mp3 -f flac - | oggenc2.exe - -o audio.ogg
此命令将输入的
mp3
文件(我在电脑上找不到其他音频文件)转换为
flac
,并将其发送到
stdout
,然后使用管道(
)转到
oggenc2
stdin


您唯一需要做的就是编写一个.code>NET包装器来运行
ffmpeg

我在system.diagnostics中使用进程。我为什么需要包装纸?我将写另一个关于管道的问题,我想我将使用上面的命令。我很快就会回来(在回答了那个问题后)接受我认为这会奏效的建议!在“包装器”下,我指的是System.Diagnostics.Process类:)