我正在创建一个机器人,将记录微软团队的现场会议。音频录制工作正常,但在生成视频文件时遇到问题。我遵循的过程是将视频数据转换为字节数组,然后将数据写入视频格式文件。
我正在添加一些代码片段,到目前为止我已经检查过了。
1. Stream videoStream = new FileStream(videoFilePath, FileMode.Create);
BinaryWriter videoStreamWriter = new BinaryWriter(videoStream);
videoStreamWriter.Write(videoBytesArray, 0, videoBytesArray.Length);
videoStreamWriter.Close();
2. System.IO.File.WriteAllBytes(videoFilePath, videoBytesArray);
从上述代码片段生成的文件的格式不受支持。这可能是因为从会话接收的数据。
我通过本地媒体会话的Video Socket on VideoMediaReceived Event (ICall.ILocalMediaSession.VideoSockets)接收数据。套接字接收的数据的视频颜色格式为H264格式。
在创建音频文件时遇到了类似的问题。为此,我使用了WaveFormat包来创建音频文件。
那么,有没有什么库/方法可以将字节数组转换成任何格式的视频文件呢?
发布于 2020-12-07 16:25:26
@Murtaza,你可以试试这个,看看是否有帮助。如果字节数组已经是一个视频流,那么只需使用扩展名mp4将其序列化到磁盘即可。(如果它是MP4编码流)。
Stream t = new FileStream("video.mp4", FileMode.Create);
BinaryWriter b = new BinaryWriter(t);
b.Write(videoData);
t.Close();
https://stackoverflow.com/questions/65158315
复制相似问题