FFMPEG。合并命名管道中的rawAudio和rawVideo

时间:2018-08-13 08:00:11

标签: c# ffmpeg

我有2个NamedPipeServerStreams。音频(立体声混音)1。我正在使用NAudio的WavIn和1的视频(屏幕捕获)。只需将BitBlt屏幕转换为字节数组即可。

我能够为rawvideo和更改代码创建mp4视频,为rawaudio创建单独的wav,但无法将两者合并/合并为mp4视频。

这些是我正在使用的ffmpeg命令。

要创建音频wav文件:

string args = @"-f s32le -channels 2 -sample_rate 44100 -i \\.\pipe\ffpipea -c copy output.wav";

音频播放非常快,但至少可以得到。

要创建视频mp4文件,请执行以下操作:

string inputArgs = @"-framerate 8 -f rawvideo -pix_fmt bgr24 -video_size 1920x1080 -i \\.\pipe\ffpipev";
string outputArgs = "-vcodec libx264 -crf 23 -pix_fmt yuv420p -preset ultrafast -r 8 output.mp4";

我尝试合并/合并两者:

string args = @"-framerate 8 -f rawvideo -pix_fmt bgr24 -video_size 1920x1080 -i \\.\pipe\ffpipev " +
        @"-f s32le -channels 2 -sample_rate 44100 -i \\.\pipe\ffpipea " +
        "-map 0:0 -map 1:0 -vcodec libx264 -crf 23 -pix_fmt yuv420p -preset ultrafast -r 8 -c:a copy output.mp4";

取决于我在args中所做的更改,WaitForConnection()永远不会触发,或者音频管道中断与pip中断。

请让我知道我是否可以提供更多信息。任何帮助表示赞赏。

0 个答案:

没有答案