将cmd中的数据写入内存而不是文件,用C#捕获

对于C#项目,我正在尝试使用ffmpeg从视频文件中提取.wav文件(在Windows中).您可以通过在命令行上运行它来执行此操作:“ffmpeg -i inputvid.avi’额外参数’extracted.wav”.这显然会将输入.avi文件中的音频提取到指定...

对于C#项目,我正在尝试使用ffmpeg从视频文件中提取.wav文件(在Windows中).
您可以通过在命令行上运行它来执行此操作:“ffmpeg -i inputvid.avi’额外参数’extracted.wav”.
这显然会将输入.avi文件中的音频提取到指定的.wav文件中.

现在,我可以在C#中轻松运行此命令,以便创建所需的.wav文件.但是,我不需要这个wav文件留在硬盘上.出于性能原因,如果ffmpeg可以暂时将此文件保存到内存中,那将会好得多,这可以在我的C#程序中使用.执行我的程序后,不再需要.wav文件.

所以实际问题是:我可以将输出文件从程序重定向到内存吗?
如果这是可能的,我怎么能在C#中读到这个?

我知道这是一个很长的镜头我很怀疑它是否可能,但我总是可以问……

提前致谢.

解决方法:

而不是在ffmpeg命令行上指定输出文件名,请使用“ – ”. ‘ – ‘告诉ffmpeg将输出发送到stdout.请注意,您可能必须在命令行中手动指定输出格式,因为ffmpeg无法再从文件名中获取它(‘-f’开关可能就是您所需要的).

获得该命令行后,请参阅reading stdout into your C# program中的任意数量的地方以获取帮助.

本文标题为:将cmd中的数据写入内存而不是文件,用C#捕获

基础教程推荐