Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-12-2006
paty_rlopez paty_rlopez is offline
Miembro
 
Registrado: ene 2006
Ubicación: Torreón
Posts: 46
Poder: 0
paty_rlopez Va por buen camino
Manipilar archivo avi

Hola a todos
Necesito manipular archivos AVI por ejemplo
Tengo un archivo .AVI que dura 10 minutos pero solo quiero los 5 minutos de en medio, y gusrdarlos en otro archivo .AVI

1 2 3 4 5 6 7 8 9 10
¿Alguno de ustedes me puede orientar por donde buscar? Si se puede con delphi seria lo ideal, pero si no, en el lenguaje que sea, lo siguiente ya me suena como un sueño, pero si ya existiera una aplicación en el que le mandara como parámetros el archivo, el tiempo de inicio y el tiempo de fin, pero bueno con que me orienten de cómo buscar algo de documentación para hacer una función perecida a la de “mi sueño” me doy por bien ayudada,
__________________
Saludos Cordiales

Última edición por paty_rlopez fecha: 22-12-2006 a las 16:32:21. Razón: añadir mas texto
Responder Con Cita
  #2  
Antiguo 22-12-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Empezado por paty_rlopez
pero si ya existiera una aplicación en el que le mandara como parámetros el archivo, el tiempo de inicio y el tiempo de fin
Se me ocurre que puedes usar mplayer, que es un reproductor "Open source" para linux (hay una versión para windows) que permite, entre otras muchas cosas, recortar, codificar, etc. La única pega es que se tiene que usar desde la linea de comandos, pero eso en tu caso es una ventaja, ya que puedes desde tu programa en delphi pasarle como parámetros el archivo y los tiempos. Bueno, veras que tiene un ciento de opciones y posibilidades.

Para hacer lo que tu quieres, se utilizaria algo como esto:
Código:
  mencoder -ss 00:03:00 d:\1.avi -o d:\2.avi -oac copy -ovc copy -endpos 00:05:00
Tendrás que echarle un vistazo a la documentación para ver todas las posibilidades.
Responder Con Cita
  #3  
Antiguo 22-12-2006
paty_rlopez paty_rlopez is offline
Miembro
 
Registrado: ene 2006
Ubicación: Torreón
Posts: 46
Poder: 0
paty_rlopez Va por buen camino
Talking Gracias

muchas gracias seoane
en este mismo momento voy a buscar la ducumentacion que me dices
espero y esto sea la solucion a mi problema
y nuevamente MUCHAS GRACIAS
__________________
Saludos Cordiales
Responder Con Cita
  #4  
Antiguo 22-12-2006
kalisto kalisto is offline
Miembro
 
Registrado: jul 2004
Posts: 62
Poder: 20
kalisto Va por buen camino
Puedes utilizar VirtualDub, VirtualDubMod que tiene interfaz grafica, permiten hacer lo que tu quieres y muchas cosas mas de forma sencilla.
Responder Con Cita
  #5  
Antiguo 26-12-2006
paty_rlopez paty_rlopez is offline
Miembro
 
Registrado: ene 2006
Ubicación: Torreón
Posts: 46
Poder: 0
paty_rlopez Va por buen camino
sigo documentándome sobre las sugerencias que me plantean en cuanto resuelva el problema yo les digo que utilice y como lo hice, gracias por su interés en ayudarme.
__________________
Saludos Cordiales
Responder Con Cita
  #6  
Antiguo 29-12-2006
paty_rlopez paty_rlopez is offline
Miembro
 
Registrado: ene 2006
Ubicación: Torreón
Posts: 46
Poder: 0
paty_rlopez Va por buen camino
Post

Hola a todos de nuevo quesiera preguntarle a seoane ¿como puedo mandar ese codigo
Cita:
mencoder -ss 00:03:00 d:\1.avi -o d:\2.avi -oac copy -ovc copy -endpos 00:05:00
por linea de comandos desde delphi, lo intente asi
Cita:
WinExec(c:\programas\mencoder -ss 00:03:00 d:\1.avi -o d:\2.avi -oac copy -ovc copy -endpos 00:05:00, SW_SHOWNORMAL);
y no se genera archivo alguno

Si alguien mas me puede ayudar gracias de antemano
__________________
Saludos Cordiales
Responder Con Cita
  #7  
Antiguo 29-12-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Empezado por paty_rlopez
WinExec(c:\programas\mencoder -ss 00:03:00 d:\1.avi -o d:\2.avi -oac copy -ovc copy -endpos 00:05:00, SW_SHOWNORMAL);
Eso tal como esta escrito, ni siquiera creo que compile . Por que mejor no copias y pegas el código tal como lo tienes en tu programa. Y describes exactamente el error que te da.
Responder Con Cita
  #8  
Antiguo 29-12-2006
paty_rlopez paty_rlopez is offline
Miembro
 
Registrado: ene 2006
Ubicación: Torreón
Posts: 46
Poder: 0
paty_rlopez Va por buen camino
Post

Código:
procedure TForm1.Button3Click(Sender: TObject);
var
  L_VideosList: TStringList;
  i : Integer;
  Pegar : String;
begin
         If not DirectoryExists('c:\coco') then    CreateDir('c:\coco');
         If not DirectoryExists('c:\coco\video') then    CreateDir('c:\coco\video');
 
         CoInitialize(nil);
        // L_CamarasSrv:= TFCamaras.Create(nil);
         try
            FCamaras.Show;
            FCamaras.Close;
            FCamaras.SetDirVideos(DIR_GV600_W32);
            L_VideosList:= TStringList.Create;
/*Esta funcion me trae una lista de nombres de archivos que se encuentran en ese  rango de fechas */
            FCamaras.GetFileVideoHist(1, StrToDateTime('07/12/2006 11:26'),  StrToDateTime('30/12/2006 11:36'), L_VideosList);
   finally
     //       FreeAndNil(L_CamarasSrv);
         end;
         CoUninitialize;
         L_VideosList.Add('FIN');
         Pegar := '';
         for i:= 0 to (L_VideosList.Count -1) do
         begin
          if L_VideosList.Strings[i] <> 'FIN' then
            Pegar := Pegar + Trim(L_VideosList.Strings[i]) + ' ';
         end;
         Pegar :=  'c:\Programas\mencoder -ovc copy -oac copy -idx - o c:\coco\video\301220061136.avi ' + Pegar;
         //ASender.Thread.Connection.WriteLn(L_VideosList.Strings[i]);
//aqui intento ejecutar el programa, se alcanza a ver que abre una ventana de msdos pero el archivo no lo genera.
           WinExec(@Pegar[1], SW_SHOWNORMAL);
 
end.
__________________
Saludos Cordiales
Responder Con Cita
  #9  
Antiguo 29-12-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
c:\Programas\mencoder -ovc copy -oac copy -idx - o c:\coco\video\301220061136.avi
Lo primero que veo es que hay un espacio entre "-" y "o". Luego, le sumas la variable pegar ¿que contiene exactamente?

En cuanto a lo de usar WinExec, tambien lo puedes hacer asi
Código Delphi [-]
 WinExec(PChar(Pegar), SW_SHOWNORMAL);
Responder Con Cita
  #10  
Antiguo 30-12-2006
paty_rlopez paty_rlopez is offline
Miembro
 
Registrado: ene 2006
Ubicación: Torreón
Posts: 46
Poder: 0
paty_rlopez Va por buen camino
Smile ya está

muchas gracias seoane

la respuesta a tu pregunta :
Cita:
¿que contiene exactamente?
La variable "pegar" contiene la lista de los archivos que se van a pegar, en el ciclo las acomodo segun el formato del mencoder

Esta lista es regresada por la funcion "GetFileVideoHist"

Bueno de nuevo muchas gracias y hasta pronto
__________________
Saludos Cordiales
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 22:43:31.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi