1

私はこれを何日も解決しようとしてきましたが、何が問題なのかわかりません。私は C# と JavaScript の初心者なので、それが大きな要因かもしれません。そこで、RecordRTC.js を使用して Web カメラからビデオを録画します。そこからrecordedBlobを取得して、ソリューションのどこかに保存したいと思います。コードビハインドでブロブを送信する際の私のコードは次のとおりです。

recordedBuffer.replace('data:video/mp4;base64,', '')
 $.ajax({
                type: 'POST',
                url: 'BasePage.aspx/UploadVideo',
                data: '{ "video" : "' + recordedBuffer + '" }',
                contentType: 'application/json; charset=utf-8',
                dataType: 'json',
                success: function (data) {
                    alert("SUCCESS: " + data.d);
                }, error: function (xhr, err) {
                    alert(xhr.responseText);
                }
            });

そして、C# で:

[WebMethod()]
    public static string UploadVideo(string video)
    {
        DateTime date = DateTime.Now;
        string fileNameWitPath = MapPathStatic("~/Gallery/Videos/" + date.ToString("yyyyMMddHHmmss") + ".mp4");
//MapPathStatic is a static version I made of Server.MapPath()

    using (FileStream fs = new FileStream(fileNameWitPath, FileMode.Create))
    {
        using (BinaryWriter bw = new BinaryWriter(fs))
        {

            byte[] data = Convert.FromBase64String(video);
            bw.Write(data, 0, data.Length);
            bw.Close();

            return fileNameWitPath;
        }
    }
}

ファイルは適切なファイルに作成されています。しかし、再生しようとすると、ファイルをレンダリングできないと言われました。これはわずか 1 ~ 2 秒の動画です。途中で動画が壊れてる?何が間違っていますか?正しくレンダリングされないのはなぜですか。PHP を使用してファイルを保存するソリューションも見つけましたが、これには C# を使用したいと思います。

ヘルプや提案をいただければ幸いです。

4

0 に答える 0