使用 .NET 将 ffmpeg 通过管道传送到 oggenc(2)

发布于 2024-08-25 23:23:52 字数 405 浏览 6 评论 0原文

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

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

所以我想使用 推荐的 ogg编码器。它说输入必须是 wav 或类似的。我想将 wav 从 ffmpeg 传输到 ogg。然而,我不仅不确定 oggenc2 是否会接受来自 stdin 的输入,而且我不知道如何使用 Process 类将一个进程通过管道传输到 .net 内部的另一个进程。

I am trying to encode ogg files at -q 6/192k. ffmpeg doesnt seem to be listenting to my command

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

So i would like to use the recommended ogg encoder. It says the input must be wav or similar. I would like to pipe a wav from ffmpeg to ogg. However not only am i unsure if oggenc2 will accept input from stdin, i have no idea how to pipe one process to another inside of .net using the Process class.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

趁年轻赶紧闹 2024-09-01 23:23:52

首先,据我所知

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< /code>,通过使用管道(|) 转到 oggenc2stdin

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

Firstly, AFAIK

Oggenc2

Command line encoder - allows direct
input of '.flac', '.ape', '.wv',
'.pac', '.ofr' and '.shn' files -
ICL7.1 compile

Suppose you don't need

to pipe one process to another inside
of .net using the Process class

because there is a more easier way to do this. Try the following construction:

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

This command converts an input mp3 file (I didn't find other audio files on my PC) to flac and sends it to stdout, which goes to stdin of oggenc2 by using pipe(|).

The only thing you have to do is to write a .NET wrapper to run ffmpeg.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文