Foros del Web » Programación para mayores de 30 ;) » .NET »

Por favor ayuda, es super urgente!!!!!!

Estas en el tema de Por favor ayuda, es super urgente!!!!!! en el foro de .NET en Foros del Web. hola a todos, espero puedan ayudarme: estoy haciendo una aplicación asp.net y c# en la que suvo un video en un formato x (avi, mp4,mpg,etc) ...
  #1 (permalink)  
Antiguo 25/01/2011, 13:05
 
Fecha de Ingreso: enero-2011
Ubicación: Concepción
Mensajes: 26
Antigüedad: 13 años, 3 meses
Puntos: 0
Por favor ayuda, es super urgente!!!!!!

hola a todos, espero puedan ayudarme:

estoy haciendo una aplicación asp.net y c# en la que suvo un video en un formato x (avi, mp4,mpg,etc) y se guarda en una carpeta que se llama original, hasta hay todo bien, ahora supuestamente por medio de un proceso de enconding deveria pasarmelo a flv y guardarlo en otra carpeta que se llama convertido pero esto no ocurre, la verdad es que no c si me hace o no el proceso de enconding, pero definitivamente no lo guarda y no entiendo porque y necesito que lo guarde para poder reprodusirlo, estoy usando ffmpeg , si alguien pudiera ayudarme seria de gran ayuda porque hace mucho que intento hacerlo y es urgente e aqui mi codigo:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Diagnostics;

public partial class UploadVideo : System.Web.UI.Page
{

//Ruta en donde se van a guardar los videos.
string videoOriginalPath = "~/Videos/Original/";
string videoConvertedPath = "~/Videos/Converted/";

//Variables utilizadas para manejar los nombres.
string videoTmpName = string.Empty;
string flv = ".flv";
string videoConvertedName = string.Empty;

private bool ValidateVideoExtension(string filename)
{

FileInfo info = new FileInfo(filename);
switch (info.Extension.ToLower())
{
case ".mpg":
case ".wmv":
case ".avi":
case ".mp4":
return true;
default:
return false;
}
}

private bool EncodingVideo(string originalVideo)
{
bool value = false;
string saveAs = Server.MapPath(videoConvertedPath);
videoConvertedName = videoTmpName + flv;

//Parametros que se le pasaran al ejecutable para fines de encoding.
string args = @" -i " + originalVideo + " -b 200 -r 24 -s 320x240 -deinterlace -ab 64k " + saveAs + videoConvertedName;

//Hacemos uso de la clase proxy la cual nos provee acceso directo al ejecutable.
using (Process enconding = new Process())
{
enconding.StartInfo.WorkingDirectory = Server.MapPath("~/");
enconding.StartInfo.FileName = Server.MapPath("ffmpeg.exe");
enconding.StartInfo.Arguments = args;
enconding.StartInfo.UseShellExecute = false;
enconding.StartInfo.CreateNoWindow = true;
enconding.StartInfo.RedirectStandardOutput = false;
enconding.Start();
//Como es un proceso en linea debemos esperar a que termine para mostrar el video sino el player dará un error de FileNotFound.
enconding.WaitForExit();
value = true;
}

return value;

}
protected void btnUpload_Click(object sender, EventArgs e)
{
HttpPostedFile file = videoFile.PostedFile;

//Validamnos la extension del archivo
if (!ValidateVideoExtension(file.FileName))
{
lblErrorVideo.Text = "La extension del archivo no es permitido.";
return;
}

//Verificamos el tamano del archivo de que no exceda los 50MB.
if (file.InputStream.Length > 52428800)
{
lblErrorVideo.Text = "El video no puede exceder los 50MB";
return;
}

//Guardamos el video
string saveAs = Server.MapPath(videoOriginalPath);
videoTmpName = Guid.NewGuid().ToString();
string originalVideo = saveAs + videoTmpName + new FileInfo(file.FileName).Extension;
file.SaveAs(originalVideo);


//Hacemos el Encondding del video
if (EncodingVideo(originalVideo)){
Response.Redirect("MyVideos.aspx?Id=" + videoConvertedName);
}
else {
lblErrorVideo.Text = "Error convirtiendo el video, intente nuevamente";
}
}
}


Etiquetas: favor, super
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:22.