Photos.app non riproduce l'audio dai video registrati dalla fotocamera Olympus

2

Photo.app di Apple non ha problemi a riprodurre l'audio di alcuni video (ad esempio, i video registrati da un iPhone). Ma non riproduce l'audio dei video creati da una fotocamera digitale Olympus SZ-31MR.

Questi video vengono riprodotti all'interno di Foto, ma sono silenziosi.

Quando viene riprodotto in Quicktime Player (e VLC), l'audio viene riprodotto correttamente.

Secondo Quicktime Player, i video di questa fotocamera sono codificati come "H.264, 1920 × 1080, Milioni; Integer a 16 bit (Little Endian), Stereo, 32.000 kHz"

Questo è in OS X El Capitan (10.11.2) e Photos.app 1.3 (350.23.0), ma il problema non è nuovo. Questo thread su discussioni.apple.com afferma che il problema è il codec audio utilizzato dal Fotocamera Olympus.

C'è un modo in cui posso riprodurre questi video e ottenere audio, senza dover trovare i singoli file video e aprirli in Quicktime.app? Una qualsiasi delle seguenti soluzioni sarebbe accettabile:

  1. Qualche tipo di installazione (un plugin Quicktime?) che corregge il comportamento in Photos.
  2. Un browser di foto alternativo che può importare (o visualizzare sul posto) la libreria Foto e che può riprodurre l'audio in questi video. (Ho provato Lyn , ma questo ha lo stesso comportamento di Foto.)
  3. Un modo per transcodificare questi video in modo che l'audio venga riprodotto in Foto. Ho molti video e importare nuovi video regolarmente, quindi una interfaccia comoda sarebbe importante qui.
posta Gareth Rees 21.12.2015 - 22:37
fonte

1 risposta

1

(Rispondendo alla mia domanda.)

Il problema è che Olympus SZ-31MR codifica il suo audio come PCM a 16 bit con segno. Questo formato audio non è supportato da Foto. Quindi l'audio deve essere transcodificato per poter riprodurre da Foto.

Il programma della riga di comando ffmpeg può transcodificare i flussi audio lasciando inalterati i flussi video. Ad esempio, ecco come transcodificare l'audio in Apple Lossless (ALAC) e copiare il video:

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

Sperimentalmente, sembra che a Photos non importi se modifico i video nella sua libreria, quindi ecco uno script di shell che automatizza la transcodifica del PCM a 16 bit di Olympus in ALAC Photos-compatibile:

#!/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

Questo script fa attenzione a mantenere i film originali in una directory di backup nel caso qualcosa vada storto, e usa set -e e ffmpeg -v fatal per evitare di continuare dopo un errore, ma sovrascrive i film nella libreria Foto, quindi usalo a tuo rischio.

    
risposta data 22.12.2015 - 13:00
fonte

Leggi altre domande sui tag