2 votos

Photos.app no reproduce el audio de los vídeos grabados por la cámara Olympus

La aplicación Photo.app de Apple no tiene problemas para reproducir el audio de algunos vídeos (por ejemplo, los grabados por un iPhone). Pero no reproduce el audio de los vídeos creados por una cámara digital Olympus SZ-31MR.

Estos vídeos se reproducen dentro de Fotos, pero son silenciosos.

Cuando se reproduce en Quicktime Player (y VLC), el audio se reproduce correctamente.

Según Quicktime Player, los vídeos de esta cámara están codificados como "H.264, 1920 × 1080, Millones; 16-bit Integer (Little Endian), Stereo, 32.000 kHz"

Esto ocurre en OS X El Capitan (10.11.2) y Photos.app 1.3 (350.23.0), pero el problema no es nuevo. Este hilo en discussions.apple.com afirma que el problema es el códec de audio utilizado por la cámara Olympus.

¿Hay alguna forma de reproducir estos vídeos y obtener el sonido, sin tener que buscar los archivos de vídeo individuales y abrirlos en Quicktime.app? Cualquiera de las siguientes soluciones sería aceptable:

  1. Algún tipo de instalación (¿un plugin de Quicktime?) que arregle el comportamiento en Photos.
  2. Un navegador de fotos alternativo que puede importar (o ver en su lugar) la biblioteca de Fotos y que puede reproducir el audio de estos vídeos. (He probado Lyn pero tiene el mismo comportamiento que las fotos).
  3. Alguna forma de transcodificar estos vídeos para que el audio se reproduzca en Photos. Tengo muchos vídeos e importo nuevos vídeos con regularidad, así que una interfaz cómoda sería importante en este caso.

1voto

Andrew Bolster Puntos 111

Respondiendo a mi propia pregunta.

El problema es que la Olympus SZ-31MR codifica su audio como PCM firmado de 16 bits. Este formato de audio no es compatible con Fotos. Así que el audio necesita ser transcodificado para poder ser reproducido desde Fotos.

El programa de línea de comandos ffmpeg puede transcodificar el audio dejando el vídeo sin cambios. Por ejemplo, así es como se transcodifica el audio a Apple Lossless (ALAC):

$ ffmpeg -i input.mov -vcodec copy -acodec alac output.mov

Experimentalmente, parece que a Photos no le importa si transcodifico los vídeos directamente, así que aquí hay un shell script que automatiza la transcodificación del PCM de 16 bits de la Olympus a ALAC compatible con Photos:

#!/bin/sh
# Convert movies in Photos library from 16-bit little-endian PCM to
# Apple Lossless.

set -e

# Location of Photos library
PHOTOS=~/"Pictures/Photos Library.photoslibrary/Masters"

# Directory for movie backups
BACKUPDIR=~/movie-backups
mkdir -p "$BACKUPDIR"

find "$PHOTOS" -name '*.MOV' | while read MOV; do
  if ffprobe -v fatal -show_streams -select_streams a -of flat -i "$MOV" |
     grep -q 'codec_name="pcm_s16le"'
  then
     echo "Transcoding $MOV..."
     BACKUP="$BACKUPDIR/$(echo "$MOV" | sed 's+_+__+g;s+/+_+g')"
     TMP="$BACKUPDIR/tmp.mov"
     ffmpeg -v fatal -y -nostdin -i "$MOV" -vcodec copy -acodec alac "$TMP"
     mv "$MOV" "$BACKUP"
     mv "$TMP" "$MOV"
  fi
done

Este script tiene cuidado de mantener las películas originales en un directorio de respaldo en caso de que algo salga mal, y utiliza set -e para evitar continuar después de un error, pero sobrescribe las películas en la biblioteca de Fotos, así que úselo bajo su propio riesgo.

0 votos

También puedes utilizar el programa incorporado afconvert. Hay una guía aquí macworld.com/article/1138554/105audioterm.html

0 votos

@rptb1: ¿Puedes decir por qué recomiendas afconvert ? ¿Es mejor que ffmpeg ¿de alguna manera? Además, no puedo averiguar cómo utilizar afconvert para hacer lo que quiero. Claro, puedo correr afconvert -f adts input.mov output.mov pero la salida sólo contiene la pista de audio. Necesito el vídeo también.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X