Convert byte[] to Video (mp4 or any other palyable format)

别等时光非礼了梦想. 提交于 2020-12-15 04:39:27

问题


I am creating a bot that will record the Microsoft team live sessions. Audio recording is working fine but facing problems in generating the video file. The process I am following is that I am converting the video data into a byte array and then writing the data to a video format file.

I am adding some code snippets, I have examined so far.

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);

The generated files from the above code snippets are of an unsupported format. It may be because of the data receiving from the session.

I am receiving the data through the Local media session's Video Socket on VideoMediaReceived Event (ICall.ILocalMediaSession.VideoSockets). The Video Color Format of the data that the socket is receiving is of H264 Format.

A similar problem I encountered when creating the audio file. For that, I utilized the WaveFormat package for creating an audio file.

So, Is there any library/method to convert the byte array to a video file of any format?


回答1:


@Murtaza, you can try this and see if it helps. If the byte array is already a video stream then, simply you can serialize it to the disk with the extension mp4. (If it's an MP4 encoded stream).

Stream t = new FileStream("video.mp4", FileMode.Create);
BinaryWriter b = new BinaryWriter(t);
b.Write(videoData);
t.Close();


来源:https://stackoverflow.com/questions/65158315/convert-byte-to-video-mp4-or-any-other-palyable-format

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!