Why is a MP2 audio stream copied as a MP3 stream into a MP4 container? For 
example, when I copy the streams from an MKV that has MP2 audio into MP4:

$ffmpeg -i /Users/Testfile.mkv -c copy /Users/Testfile.mp4
ffmpeg version N-97727-g7a92147f87 Copyright (c) 2000-2020 the FFmpeg developers
  built with Apple clang version 11.0.3 (clang-1103.0.32.59)
  configuration: --pkg-config-flags=--static --enable-swscale --enable-avfilter 
--enable-fontconfig --enable-gpl --enable-version3 --enable-libass 
--enable-libbluray --enable-libfreetype
--enable-libsoxr --enable-libaom --enable-libmp3lame --enable-librav1e 
--enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwavpack 
--disable-ffplay --disable-debug --enable-libmysofa
--enable-libx264 --enable-libx265 --enable-libxvid --enable-nonfree 
--enable-libfdk-aac --enable-muxer=mov --enable-muxer=mp4 --enable-muxer=ipod 
--enable-encoder=eac3 --enable-encoder=ac3
--enable-encoder=flac --enable-librtmp --enable-libsmbclient --enable-opencl 
--enable-libssh --enable-openssl --enable-encoder=truehd 
--enable-bsf=aac_adtstoasc --enable-encoder=h264_videotoolbox
--enable-encoder=hevc_videotoolbox --disable-sdl2 
--extra-ldflags=-L/opt/local/lib
  libavutil      56. 44.100 / 56. 44.100
  libavcodec     58. 83.100 / 58. 83.100
  libavformat    58. 43.100 / 58. 43.100
  libavdevice    58.  9.103 / 58.  9.103
  libavfilter     7. 80.100 /  7. 80.100
  libswscale      5.  6.101 /  5.  6.101
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
Input #0, matroska,webm, from '/Users/Testfile.mkv':
  Metadata:
    title           : Elephant's Dream
    ENCODER         : Lavf58.42.101
  Duration: 00:00:03.33, start: 0.000000, bitrate: 9360 kb/s
    Stream #0:0(eng): Video: vp9 (Profile 3), yuv444p10le(tv, 
bt709/unknown/unknown), 1920x1080, SAR 1:1 DAR 16:9, 24 fps, 24 tbr, 1k tbn, 1k 
tbc (default)
    Metadata:
      DURATION        : 00:00:03.332000000
    Stream #0:1(eng): Audio: mp2, 48000 Hz, stereo, s16p, 384 kb/s (default)
    Metadata:
      ENCODER         : Lavc58.82.100 mp2
      DURATION        : 00:00:03.317000000
Output #0, mp4, to '/Users/Testfile.mp4':
  Metadata:
    title           : Elephant's Dream
    encoder         : Lavf58.43.100
    Stream #0:0(eng): Video: vp9 (Profile 3) (vp09 / 0x39307076), 
yuv444p10le(tv, bt709/unknown/unknown), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 
24 fps, 24 tbr, 16k tbn, 1k tbc (default)
    Metadata:
      DURATION        : 00:00:03.332000000
    Stream #0:1(eng): Audio: mp2 (mp4a / 0x6134706D), 48000 Hz, stereo, s16p, 
384 kb/s (default)
    Metadata:
      ENCODER         : Lavc58.82.100 mp2
      DURATION        : 00:00:03.317000000
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=   80 fps=0.0 q=-1.0 Lsize=    3808kB time=00:00:03.29 
bitrate=9473.1kbits/s speed= 431x
video:3653kB audio:152kB subtitle:0kB other streams:0kB global headers:0kB 
muxing overhead: 0.081670%



It tells me it has copied the streams from mp2 to mp2. But, after inspection of 
the resulted file, the audio stream is detected as MP3:

$ffmpeg -i /Users/Testfile.mp4
ffmpeg version N-97727-g7a92147f87 Copyright (c) 2000-2020 the FFmpeg developers
  built with Apple clang version 11.0.3 (clang-1103.0.32.59)
  configuration: --pkg-config-flags=--static --enable-swscale --enable-avfilter 
--enable-fontconfig --enable-gpl --enable-version3 --enable-libass 
--enable-libbluray --enable-libfreetype
--enable-libsoxr --enable-libaom --enable-libmp3lame --enable-librav1e 
--enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwavpack 
--disable-ffplay --disable-debug --enable-libmysofa
--enable-libx264 --enable-libx265 --enable-libxvid --enable-nonfree 
--enable-libfdk-aac --enable-muxer=mov --enable-muxer=mp4 --enable-muxer=ipod 
--enable-encoder=eac3 --enable-encoder=ac3
--enable-encoder=flac --enable-librtmp --enable-libsmbclient --enable-opencl 
--enable-libssh --enable-openssl --enable-encoder=truehd 
--enable-bsf=aac_adtstoasc --enable-encoder=h264_videotoolbox
--enable-encoder=hevc_videotoolbox --disable-sdl2 
--extra-ldflags=-L/opt/local/lib
  libavutil      56. 44.100 / 56. 44.100
  libavcodec     58. 83.100 / 58. 83.100
  libavformat    58. 43.100 / 58. 43.100
  libavdevice    58.  9.103 / 58.  9.103
  libavfilter     7. 80.100 /  7. 80.100
  libswscale      5.  6.101 /  5.  6.101
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/Testfile.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2mp41
    title           : Elephant's Dream
    encoder         : Lavf58.43.100
  Duration: 00:00:03.33, start: 0.000000, bitrate: 9362 kb/s
    Stream #0:0(eng): Video: vp9 (Profile 3) (vp09 / 0x39307076), 
yuv444p10le(tv, bt709/unknown/unknown), 1920x1080, 8981 kb/s, SAR 1:1 DAR 16:9, 
24.01 fps, 24 tbr, 16k tbn, 16k tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: mp3 (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 
384 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
At least one output file must be specified


Is this a bug in FFmpeg copy or is just the stream inside the MP4 file not 
detected correctly? Also HandBrake detects the audio stream of the MP4 file as 
MP3.
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to