реализовать конвертацию в Upload HTML5 vid serveride - PullRequest
2 голосов
/ 13 июня 2011

Я хочу конвертировать из WMV в MP4, WebM и OGV при загрузке. Есть ли способ реализовать Miro Video Converter или что-то вроде в codebehind?

я использую ACT AsyncUpload

Страница aspx

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="Server">

<script type="text/javascript">
    function uploadError(sender, args) {
        if (document.getElementById('<%=lblStatus.ClientID%>').innerText.indexOf('must be a video') == -1)
            document.getElementById('<%=lblStatus.ClientID%>').innerText = "Upload error!", "<span style='color:red;'>" + args.get_errorMessage() + "</span>";
    }

    function StartUpload(sender, args) {
        document.getElementById('<%=lblStatus.ClientID%>').innerText = 'Uploading';
    }

    function UploadComplete(sender, args) {
        var filename = args.get_fileName();
        var contentType = args.get_contentType();
        if (contentType.indexOf('video') == -1) {
            document.getElementById('<%=lblStatus.ClientID%>').innerText = "Uploaded file must be a video!", "<span style='color:red;'>" + args.get_errorMessage() + "</span>";
            document.getElementById('<%=AsyncFileUpload1.ClientID%>').text.style.backgroundColor = "Red";
        }
        else {

            var text = "" + filename + "\n" + "Size: " + parseInt((args.get_length()) / 1048576) + " MB" + " (" + args.get_length()+") bytes";
            document.getElementById('<%=lblStatus.ClientID%>').innerText = text;
        }
    }
</script>

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="Server">

<h1>Add Movies to storage</h1>

        <p>File upload<p>
        <br />
            <asp:AsyncFileUpload ID="AsyncFileUpload1" Width="400px" runat="server" OnClientUploadError="uploadError"
            OnClientUploadStarted="StartUpload" OnClientUploadComplete="UploadComplete" CompleteBackColor="Lime"
            UploaderStyle="Modern" ErrorBackColor="Red" ClientIDMode="AutoID" ThrobberID="Throbber"
            UploadingBackColor="#66CCFF" OnUploadedComplete="AsyncFileUpload1_UploadedComplete" />

        <asp:Label class="lastoppimg" ID="Throbber" runat="server" CssClass="style1">
        <img src="../Movies/LoadingImg.gif" style="left:auto; right:auto; height:32px; width:32px;" alt="loading" />   
        </asp:Label>
        <br />
        <asp:Button class="lastoppk" ID="Button1" runat="server" Text="Start Upload" OnClick="Button3_Click" />

        <asp:Label ID="lblStatus" runat="server" Style="font-family: Arial; font-size: small;"></asp:Label>
    </div>
</div>

Codebehind

    protected void AsyncFileUpload1_UploadedComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e)
{
    if (AsyncFileUpload1.HasFile)
    {
        string strPath = MapPath("~/Test/") + Path.GetFileName(e.filename);
        AsyncFileUpload1.SaveAs(strPath);
    }
}

1 Ответ

2 голосов
/ 27 июня 2011

Miro фактически использует FFMpeg для своего транскодирования.
Вы можете использовать FFMpeg самостоятельно или проще, вы можете использовать его из .NET с помощью компонента MediaHandlerPro .(У них тоже есть бесплатная версия)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...