Aquí podría ser tu PUBLICIDAD


Leer los datos del encabezado de los archivos en el servidor remoto

votos
0

Estoy trabajando en un proyecto en este momento en el que necesito leer datos de encabezado de archivos en servidores remotos. Estoy hablando de muchos y grandes archivos, así que no puedo leer archivos completos, solo los datos del encabezado que necesito.

La única solución que tengo es montar el servidor remoto con fusible y luego leer el encabezado de los archivos como si estuvieran en mi computadora local. Lo intenté y funciona. Pero tiene algunos inconvenientes. Especialmente con FTP:

  • Realmente lento (FTP se compara con SSH con curlftpfs). Desde el mismo servidor, con archivos SSH 90 se leyó en 18 segundos. Y con FTP 10 archivos en 39 segundos.
  • No es confiable A veces, el punto de montaje no se desmontará.
  • Si el servidor está activo y se realiza un montaje pasivo. Ese punto de montaje y la carpeta principal se bloquean en aproximadamente 3 minutos.
  • Excede el tiempo de espera, incluso cuando hay una transferencia de datos en marcha (supongo que este es el protocolo FTP y no curlftpfs).

Fuse es una solución, pero no me gusta mucho porque no siento que pueda confiar en ella. Entonces mi pregunta es básicamente si hay otras soluciones para el problema. El idioma es preferiblemente Ruby, pero cualquier otro funcionará si Ruby no es compatible con la solución.

¡Gracias!

Publicado el 12/03/2009 a las 21:29
fuente por usuario rejeep
En otros idiomas...        العربية       

1 respuestas

votos
1

¿Qué tipo de información estás buscando?

Podría intentar usar el módulo open-uri de ruby. El siguiente ejemplo es de http://www.ruby-doc.org/stdlib/libdoc/open-uri/rdoc/index.html

require 'open-uri'
open("http://www.ruby-lang.org/en") {|f|
  p f.base_uri         # <URI::HTTP:0x40e6ef2 URL:http://www.ruby-lang.org/en/>
  p f.content_type     # "text/html"
  p f.charset          # "iso-8859-1"
  p f.content_encoding # []
  p f.last_modified    # Thu Dec 05 02:45:02 UTC 2002
}

EDIT: parece que la op quería recuperar la información de la etiqueta ID3 de los archivos remotos. Esto es más complejo.

De wiki: Esto parece ser un problema difícil.

En wiki:

Etiqueta de ubicación dentro del archivo

Solo con el estándar ID3v2.4 ha sido posible colocar los datos de las etiquetas al final del archivo, en común con ID3v1. ID3v2.2 y 2.3 requieren que los datos de etiqueta precedan al archivo. Si bien para la transmisión de datos esto es absolutamente necesario, para los datos estáticos significa que el archivo de audio completo debe actualizarse para insertar datos en la parte frontal del archivo. Para el etiquetado inicial, esto implica una gran penalización ya que cada archivo debe volver a escribirse. Se recomienda a los redactores de etiquetas que introduzcan relleno después de los datos de etiqueta para permitir la edición de los datos de etiqueta sin requerir que se vuelva a escribir todo el archivo de audio, pero estos no son estándares y los requisitos de etiqueta pueden variar mucho, especialmente si APIC ( imágenes asociadas) también están incrustadas.

Esto significa que, dependiendo de la versión de la etiqueta ID3 del archivo, puede que tenga que leer diferentes partes del archivo.

Aquí hay un artículo que describe los conceptos básicos de la lectura de la etiqueta ID3 usando ruby ​​para ID3tagv1.1 pero debería ser un buen punto de partida para el servidor: http://rubyquiz.com/quiz136.html

También podría considerar el uso de una biblioteca de análisis ID3, como id3.rb o id3lib-ruby ; sin embargo, no estoy seguro de si alguno de los dos admite la capacidad de analizar un archivo remoto (lo más probable es que se puedan realizar algunas modificaciones).

Respondida el 12/03/2009 a las 09:48
fuente por usuario nan


Aquí podría ser tu PUBLICIDAD