Como usar mplayer para obtener fecha de creacion de un video en Linux

No se si les ha pasado pero a mi me sucedió que tengo una serie de video familiares, los cuales tienen nombres como IMG_0298.MOV lo cual no me dice mucho por ejemplo la fecha de creación para ordenarlos por tiempo, como cereza del pastel también me sucedió que hace unos meses cambie de computadora y moví todos estos archivos al nuevo equipo y la fecha de modificado de todos estos videos me quedo como la fecha en que los moví.

Para no hacer largo el asunto me puse a investigar que comandos en Linux me dan mas información sobre videos que el que obtengo al listar o hacer clic derecho y propiedades desde un ambiente grafico, obviamente hay varios pero el que mas me gusto fue mplayer, el comando que se ejecuta es parecido al siguiente.

mplayer -vo null -ao null -identify -frames 0 IMG_0298.MOV

Donde "IMG_0298.MOV" es el nombre del archivo, sustitúyelo por el tuyo, y el resultado es parecido a lo siguiente, si lees detenidamente puedes crear la linea "creation_time: 2011-12-17 23:41:16" que es lo que estaba buscando!, los resultados varían entre tipos de video, pero lo que siempre debes buscar es una fecha en formato yyyy-mm-dd.

MPlayer 1.2.1-5.3.0 (C) 2000-2016 MPlayer Team

Playing IMG_0298.MOV.
libavformat version 56.40.101 (internal)
libavformat file format detected.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x55e38f02daa0]Protocol name not provided, cannot determine if input is local or a network protocol, buffers and access patterns cannot be configured optimally without knowing the protocol
ID_VIDEO_ID=0
[lavf] stream 0: video (h264), -vid 0
ID_AUDIO_ID=0
[lavf] stream 1: audio (aac), -aid 0, -alang und
VIDEO:  [H264]  1280x720  24bpp  23.976 fps  10585.7 kbps (1292.2 kbyte/s)
Clip info:
 major_brand: qt  
ID_CLIP_INFO_NAME0=major_brand
ID_CLIP_INFO_VALUE0=qt  
 minor_version: 0
ID_CLIP_INFO_NAME1=minor_version
ID_CLIP_INFO_VALUE1=0
 compatible_brands: qt  
ID_CLIP_INFO_NAME2=compatible_brands
ID_CLIP_INFO_VALUE2=qt  
 creation_time: 2011-12-17 23:41:16
ID_CLIP_INFO_NAME3=creation_time
ID_CLIP_INFO_VALUE3=2011-12-17 23:41:16
 model: iPhone 4
ID_CLIP_INFO_NAME4=model
ID_CLIP_INFO_VALUE4=iPhone 4
 model-spa: iPhone 4
ID_CLIP_INFO_NAME5=model-spa
ID_CLIP_INFO_VALUE5=iPhone 4
 encoder: 4.3
ID_CLIP_INFO_NAME6=encoder
ID_CLIP_INFO_VALUE6=4.3
 encoder-spa: 4.3
ID_CLIP_INFO_NAME7=encoder-spa
ID_CLIP_INFO_VALUE7=4.3
 date: 2011-12-17T17:41:16-0600
ID_CLIP_INFO_NAME8=date
ID_CLIP_INFO_VALUE8=2011-12-17T17:41:16-0600
 date-spa: 2011-12-17T17:41:16-0600
ID_CLIP_INFO_NAME9=date-spa
ID_CLIP_INFO_VALUE9=2011-12-17T17:41:16-0600
 location: +13.7125-089.2168+768.059/
ID_CLIP_INFO_NAME10=location
ID_CLIP_INFO_VALUE10=+13.7125-089.2168+768.059/
 location-spa: +13.7125-089.2168+768.059/
ID_CLIP_INFO_NAME11=location-spa
ID_CLIP_INFO_VALUE11=+13.7125-089.2168+768.059/
 make: Apple
ID_CLIP_INFO_NAME12=make
ID_CLIP_INFO_VALUE12=Apple
 make-spa: Apple
ID_CLIP_INFO_NAME13=make-spa
ID_CLIP_INFO_VALUE13=Apple
ID_CLIP_INFO_N=14
Load subtitles in ./
ID_FILENAME=IMG_0298.MOV
ID_DEMUXER=lavfpref
ID_VIDEO_FORMAT=H264
ID_VIDEO_BITRATE=10585672
ID_VIDEO_WIDTH=1280
ID_VIDEO_HEIGHT=720
ID_VIDEO_FPS=23.976
ID_VIDEO_ASPECT=0.0000
ID_AUDIO_FORMAT=MP4A
ID_AUDIO_BITRATE=63992
ID_AUDIO_RATE=44100
ID_AUDIO_NCH=1
ID_START_TIME=0.00
ID_LENGTH=203.43
ID_SEEKABLE=1
ID_CHAPTERS=0
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 56.60.100 (internal)
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
ID_VIDEO_CODEC=ffh264
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 44100 Hz, 1 ch, floatle, 64.0 kbit/4.53% (ratio: 7999->176400)
ID_AUDIO_BITRATE=63992
ID_AUDIO_RATE=44100
ID_AUDIO_NCH=1
Selected audio codec: [ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio))
==========================================================================
AO: [null] 44100Hz 1ch floatle (4 bytes per sample)
ID_AUDIO_CODEC=ffaac
Starting playback...


Exiting... (End of file)
ID_EXIT=EOF

DTRX, un descompresor para descomprimirlos a todos

Os vamos a presentar una herramienta de las más útiles que me he encontrado en estos últimos años, se trata del descompresor DTRX capaz de descomprimir diferentes formatos de compresión. Aunque en realidad DTRX no es un descompresor, sino más bien una aplicación que simplifica la descompresión de archivos en Linux.

DTRX

DTRX requiere Python instalado en el sistema operativo y además hace uso de las diferentes herramientas de compresión/descompresión (bzip, unzip, etc). Lo importante es que estamos ante una aplicación de código abierto y gratuita que podemos usar prácticamente en cualquier distribución Linux.

Soporta infinidad de formatos de compresión, incluso algunos no muy usados. Esta herramienta la descubrí mientras trataba de descomprimir un archivo tar.xz y no conseguía el comando adecuado, pero con dtrx fichero.tar.xz se terminan los problemas.

DTRX, un descompresor para descomprimirlos a todos.


La sintaxis de DTRX es tan simple como dtrx fichero.tar.gz, lo que consigue que nos olvidemos completamente de las diferentes sintaxis de los diferentes compresores.

El proceso se ve simplificado a memorizar un único comando. Una de las opciones que más me ha gustado es la posibilidad de descomprimir archivos accesibles a través de HTTP. Por ejemplo, podemos ejecutar el comando dtrx https://wordpress.org/latest.tar.gz, especificando una URL con el archivo, el propio programa se encarga de descargarlo con wget y después descomprimirlo.

Otra característica que hace de esta herramienta algo especial, es que tras descomprimir los archivos es capaz de cambiar los permisos para que el dueño tenga permisos de lectura y escritura sobre los archivos.

Además es un ejemplo de aplicación útil y funcional que nos demuestra una vez más la versatilidad de lenguaje de programación Python. En menos de 1400 líneas de código tenemos un script capaz de lidiar con múltiples formatos comprimidos por nosotros.

Archivo de conexión de base de datos de Drupal 7

Si te encuentras haciendo el traslado de una instalación de Drupal 7 de un proveedor de hosting a otro, o de cambiaste la clave del usuario de la base de datos de Drupal, te va ser de mucha utilidad saber en donde se guardan los datos de conexión.\

Busca el archivo settings.php, esta en la carpeta sites/default en el directorio home de tu instalación, luego en el interior busca las lineas siguientes que deben estar sin comentarios, en este caso es un ejemplo, las lineas que normalmente cambias son "database", "username" y "password".

$databases['default']['default'] = array(
  'driver' => 'mysql',
  'database' => 'drupaldb',
  'username' => 'username',
  'password' => 'secret',
  'host' => 'localhost',
);