• Publicidad

Módulo Video::Info

Así que programas sin strict y las expresiones regulares son otro modo de hablar. Aquí encontrarás respuestas de nivel avanzado, no recomendable para los débiles de corazón.

Notapor explorer » 2007-09-05 08:16 @386

En la parte de código donde hace el cálculo de la duración (Image::ExifTool::MPEG::Composite) se ve que si el dato de la duración no es numérico, no realiza el cálculo, lo cual es lógico, porque implica mirar todo el fichero.

Como mucho, podrías hacer una estimación como la que él hace: tamaño/bitrate, pero ese bitrate deberás elegirlo. Quizás si añades más -v al exiftool, te dará más información, como por ejemplo el bitrate del primer cuadro, con lo que podrás hacer una estimación.

Y en cuanto a si vale para todos los formatos de vídeo, eso estará indicado en la doc. Desde luego, está actualizado a mayo de este año...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

Notapor zozo666 » 2007-09-05 08:30 @396

Osea, el tema acá sería la palabra "Variable" ¿no?, que el ExifTool::MPEG::Composite la toma como una palabra. Realicé un "exiftool -v video.mpeg" y me salió la siguiente información:

Código: Seleccionar todo
ExifToolVersion = 6.90
  FileName = video.mpeg
  Directory = .
  FileSize = 18575360
  FileModifyDate = 1188268862
  FileType = MPEG
  MIMEType = video/mpeg
  ImageWidth = 320
  ImageHeight = 240
  AspectRatio = 1
  FrameRate = 2
  VideoBitrate = 262143
  MPEGAudioVersion = 2
  AudioLayer = 2
  AudioBitrate = 12
  SampleRate = 0
  ChannelMode = 3
  MPEG_Audio_Bit26 = 0
  ModeExtension = 0
  MPEG_Audio_Bit27 = 0
  CopyrightFlag = 0
  OriginalMedia = 1
  Emphasis = 0


¿Qué es lo que tendría que hacer con VideoBitrate=262143? ¿De qué forma hago la estimación que me marcas (explorer) arriba? ¿La hago en el mismo módulo o en el script donde lo voy a usar?

Muchas gracias
zozo666
Perlero nuevo
Perlero nuevo
 
Mensajes: 139
Registrado: 2007-05-26 10:36 @483

Notapor explorer » 2007-09-05 09:25 @434

Yo no haría ningún cambio en el módulo, que para eso tiene un dueño. Es mejor que hables con él.

La estimación de tiempo que él hace para cuando está indicado un BitRate es:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
return (8 * $val[0]) / (($prt[1]||0) + ($val[2]||0));
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4


Es decir: 8 * <número de bytes del tamaño del fichero> / ( suma de los bitrates de audio y vídeo )

En tu ejemplo, saldría...

8 * 18575360 / (128000 + 262143) = 380,89 segundos = 00:06:21
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor zozo666 » 2007-09-05 09:41 @445

Muy bueno... justamente es un minuto más, o sea 00:06:21, pero en eso no hay problema ya que si en todos los casos es así, con sumarle un minuto queda perfecto.

Ahora, yo esto lo podría hacer pidiendo los correspondientes "VideoBitrate" y "AudioBitrate" en el script y haciendo esa cálculo, ¿no? Lo que no entiendo es de dónde salió "AudioBitrate = 128000", porque el que yo pasé marca 12.

Una última cosa... ¿Hay alguna función en Perl que me permita pasar de formatos de tiempo?. Yo quiero pasar 182.51 seg. al formato hora:min:seg (00:00:00)?

Muchísimas gracias.
zozo666
Perlero nuevo
Perlero nuevo
 
Mensajes: 139
Registrado: 2007-05-26 10:36 @483

Notapor explorer » 2007-09-05 10:19 @471

El AudioBitrate lo he tomado de la primera salida.

En cuanto a lo del cálculo de tiempo, no lo hay, pero puedes copiar el que ves en el código del módulo... ¿no te has fijado, eh?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor zozo666 » 2007-09-05 12:27 @560

Este código es para extraer "AudioBitrate":

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
 
  $exifTool = new Image::ExifTool;
  $exifTool->ExtractInfo('video.mpeg', \%options);
  $value = $exifTool->GetValue('AudioBitrate');
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Ahora, necesito extraer "VideoBitrate" pero veo que este comando aparecía solamente cuando ejecutaba el comando "exiftool -v video.mpeg".
¿Cómo tendría que hacer ahora para sacarlo desde ese comando el VideoBitrate??
zozo666
Perlero nuevo
Perlero nuevo
 
Mensajes: 139
Registrado: 2007-05-26 10:36 @483

Notapor explorer » 2007-09-05 13:54 @620

Está descrito en el manual...

Tienes que activar la opción Verbose, con un valor entre 0 y 5:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$exifTool->Options(Verbose => 1);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Hay que leer un poco más...

P.D. Estamos en el foro de Experto ;^)
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor zozo666 » 2007-09-05 21:11 @924

Lo había notado, pero esa instrucción me tira en pantalla toda la información... lo que necesitaría yo es algo así como usa la otra instrucción, donde yo con un GetValue extraiga la información de la etiqueta deseada. Muchas gracias, con esto solo ya termino y después haciendo la cuenta ya termino todo.

¿Cómo se podría hacer eso? Intente un montón de formas y no pude.
zozo666
Perlero nuevo
Perlero nuevo
 
Mensajes: 139
Registrado: 2007-05-26 10:36 @483

Notapor explorer » 2007-09-08 05:22 @265

Pues... con una expresión regular, por ejemplo...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Anterior

Volver a Avanzado

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 49 invitados

cron