AAC- und AC3-Audiospuren in M4V-Datei

Mir ist aufgefallen, dass beim Herunterladen von Filmen aus dem iTunes Store eine doppelte Audiospur vorhanden ist - die erste ist AAC und die zweite ist AC3, aber dies ist als eine Audiospur mit der Option "AC3-Passthrough bevorzugen" sichtbar. Ich habe einen Film in Handbrake mit AAC- und AC3-Audio komprimiert, aber wenn ich diesen in iTunes lade, sehe ich 2 Audiospuren (gleiche Sprache) statt 1. Ich habe das auch bemerkt, wenn Sie 2 Audiospuren in die neueste HandBrake einfügen , wobei der erste AAC und der zweite AC3 ist, zeigt iTunes dies als einen Audiotrack an. Ich frage mich, ob es eine Möglichkeit gibt, meine M4V-Datei zu ändern, damit iTunes 1 Audiospur anstelle von 2 anzeigt, ohne das Video neu zu komprimieren? Ich denke darüber nach, ffmpeg oder mp4box zu verwenden, habe aber keine Ahnung, wie ich damit umgehen soll.

Für bessere Ergebnisse habe ich neue Dateien erstellt. Einer mit HandBrake 0.10 und der zweite mit HandBrake 1.0.7. Beide Dateien sind derselbe Film, dieselben Einstellungen, der einzige Unterschied ist die HandBrake-Version, die ich verwendet habe. Die FFprobe-Ausgabe scheint dieselbe zu sein (außer dem Erstellungsdatum).

Unten ist die Ausgabe von ffprobe für die gewünschte Datei und die Datei mit 2 Audiospuren, die in iTunes sichtbar sind:

ffprobe version 3.4 Copyright (c) 2007-2017 the FFmpeg developers
  built with gcc 7.2.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'd:\tbbb_ok.m4v':
  Metadata:
    major_brand     : mp42
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    creation_time   : 2018-02-17T09:09:52.000000Z
    title           : Big Buck Bunny
    artist          : Big Buck Bunny artist
    date            : 2018-01-01
    encoder         : HandBrake 1.0.7 2017040900
    genre           : Comedy
  Duration: 00:09:56.48, start: 0.000000, bitrate: 4857 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 4048 kb/s, 24 fps, 24 tbr, 90k tbn, 48 tbc (default)
    Metadata:
      creation_time   : 2018-02-17T09:09:52.000000Z
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 160 kb/s (default)
    Metadata:
      creation_time   : 2018-02-17T09:09:52.000000Z
      handler_name    : Stereo
    Stream #0:2(und): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, stereo, fltp, 640 kb/s
    Metadata:
      creation_time   : 2018-02-17T09:09:52.000000Z
      handler_name    : Stereo
    Side data:
      audio service type: main

.

ffprobe version 3.4 Copyright (c) 2007-2017 the FFmpeg developers
  built with gcc 7.2.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'd:\tbbb_nok.m4v':
  Metadata:
    major_brand     : mp42
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    title           : Big Buck Bunny
    artist          : Big Buck Bunny artist
    date            : 2018-01-01
    encoder         : HandBrake 0.10.1 2015030800
    genre           : Comedy
  Duration: 00:09:56.46, start: 0.000000, bitrate: 4806 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 3997 kb/s, 24 fps, 24 tbr, 90k tbn, 48 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 160 kb/s (default)
    Metadata:
      handler_name    : Stereo
    Stream #0:2(und): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, stereo, fltp, 640 kb/s
    Metadata:
      handler_name    : Stereo
    Side data:
      audio service type: main
Q ist nicht klar. Zeigen Sie die ffprobe-Ausgabe für eine Datei an, die wie erwartet in iTunes angezeigt wird, und für eine Datei, die dies nicht tut.
Kein signifikanter Unterschied. Wie unterscheidet sich die iTunes-Anzeige?
Wenn ich in iTunes zu den Spracheinstellungen für Audio/Untertitel gehe, gibt es zum Beispiel zweimal die Option „Englisch“ und die Option „AC3-Passthrough bevorzugen“, während beim zweiten Video nur „AC3-Passthrough bevorzugen“ angezeigt wird.

Antworten (1)

Ich habe eine Lösung gefunden. Um dies zu erreichen, habe ich MP4Box verwendet und Audiospuren gruppiert, also habe ich AAC-Spuren in Gruppe 1 und AC3-Spuren in Gruppe 2 platziert.

mp4box -add "track1.h264:fps=24.000:delay=0:lang=en:name=Video" -add "track2.aac:delay=0:lang=en:name=English:group=1" -add "track3.ac3:delay=0:lang=en:name=English:group=2" -add "track4.aac:delay=0:lang=fr:name=French:group=1" -add "track5.ac3:delay=0:lang=fr:name=French:group=2" -new "muxed.m4v"

Der obige Befehl erstellt eine neue m4v-Datei mit 2 AAC-Tracks und 2 AC3-Tracks, sodass iTunes „Englisch“ und „Französisch“ einmal und die Option „AC3-Passthrough bevorzugen“ anzeigt.