[FFmpeg-user] ffmpeg remuxing from MTS to MP4 now produces an unreadable audio stream
Galen Menzel
galen.menzel at utexas.edu
Sun Feb 18 10:20:35 EET 2018
Sorry I forgot to include the commands and console output in my previous
message. They are below.
> And here is the audio stream information from the mp4 of this file
> when I remux it now using the same command, which does not play:
>
> Stream #0:1(und): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz,
> stereo, fltp, 256 kb/s (default)
Here is the command and console output when the (non-functional) mp4
file is created from the original MTS file:
```
$ ffmpeg -i /Volumes/Untitled/private/AVCHD/BDMV/STREAM/00006.MTS
-vcodec copy -acodec copy ./00006.mp4
ffmpeg version 3.4.2 Copyright (c) 2000-2018 the FFmpeg developers
built with Apple LLVM version 9.0.0 (clang-900.0.39.2)
configuration: --prefix=/opt/local --enable-swscale --enable-avfilter
--enable-avresample --enable-libmp3lame --enable-libvorbis
--enable-libopus --enable-librsvg --enable-libtheora
--enable-libopenjpeg --enable-libmodplug --enable-libvpx
--enable-libsoxr --enable-libspeex --enable-libass --enable-libbluray
--enable-lzma --enable-gnutls --enable-fontconfig --enable-libfreetype
--enable-libfribidi --disable-jack --disable-libopencore-amrnb
--disable-libopencore-amrwb --disable-libxcb --disable-libxcb-shm
--disable-libxcb-xfixes --disable-indev=jack --enable-opencl
--disable-outdev=xv --enable-audiotoolbox --enable-videotoolbox
--enable-sdl2 --mandir=/opt/local/share/man --enable-shared
--enable-pthreads --cc=/usr/bin/cc --arch=x86_64 --enable-x86asm
--enable-libx265 --enable-gpl --enable-postproc --enable-libx264
--enable-libxvid --enable-nonfree --enable-libfdk-aac
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
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
Input #0, mpegts, from
'/Volumes/Untitled/private/AVCHD/BDMV/STREAM/00006.MTS':
Duration: 00:00:10.56, start: 2208.672200, bitrate: 15090 kb/s
Program 1
Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448),
yuv420p(top first), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 59.94 tbr,
90k tbn, 59.94 tbc
Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz,
stereo, fltp, 256 kb/s
[mp4 @ 0x7f9f8a000600] track 1: codec frame size is not set
Output #0, mp4, to './00006.mp4':
Metadata:
encoder : Lavf57.83.100
Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), yuv420p(top
first), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 29.97 fps, 59.94 tbr, 90k
tbn, 90k tbc
Stream #0:1: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo,
fltp, 256 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame= 630 fps=0.0 q=-1.0 Lsize= 18499kB time=00:00:10.52
bitrate=14394.4kbits/s speed=30.8x
video:18155kB audio:330kB subtitle:0kB other streams:0kB global
headers:0kB muxing overhead: 0.073744%
```
> If I first do what should be a vacuous remux of the MTS file with
>
> ffmpeg -i [INPUT_MTS_FILE] -acodec copy -vcodec copy [OUTPUT_MTS_FILE]
>
> the resulting MTS file has the following audio stream information:
>
> Stream #0:1[0x101]: Audio: ac3 ([129][0][0][0] / 0x0081), 48000
> Hz, stereo, fltp, 256 kb/s
Command and console output for the (vacuously?) remuxed MTS file:
```
$ ffmpeg -i /Volumes/Untitled/private/AVCHD/BDMV/STREAM/00006.MTS
-vcodec copy -acodec copy ./00006-remuxed.MTS
ffmpeg version 3.4.2 Copyright (c) 2000-2018 the FFmpeg developers
built with Apple LLVM version 9.0.0 (clang-900.0.39.2)
configuration: --prefix=/opt/local --enable-swscale --enable-avfilter
--enable-avresample --enable-libmp3lame --enable-libvorbis
--enable-libopus --enable-librsvg --enable-libtheora
--enable-libopenjpeg --enable-libmodplug --enable-libvpx
--enable-libsoxr --enable-libspeex --enable-libass --enable-libbluray
--enable-lzma --enable-gnutls --enable-fontconfig --enable-libfreetype
--enable-libfribidi --disable-jack --disable-libopencore-amrnb
--disable-libopencore-amrwb --disable-libxcb --disable-libxcb-shm
--disable-libxcb-xfixes --disable-indev=jack --enable-opencl
--disable-outdev=xv --enable-audiotoolbox --enable-videotoolbox
--enable-sdl2 --mandir=/opt/local/share/man --enable-shared
--enable-pthreads --cc=/usr/bin/cc --arch=x86_64 --enable-x86asm
--enable-libx265 --enable-gpl --enable-postproc --enable-libx264
--enable-libxvid --enable-nonfree --enable-libfdk-aac
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
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
Input #0, mpegts, from
'/Volumes/Untitled/private/AVCHD/BDMV/STREAM/00006.MTS':
Duration: 00:00:10.56, start: 2208.672200, bitrate: 15090 kb/s
Program 1
Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448),
yuv420p(top first), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 59.94 tbr,
90k tbn, 59.94 tbc
Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz,
stereo, fltp, 256 kb/s
Output #0, mpegts, to './00006-remuxed.MTS':
Metadata:
encoder : Lavf57.83.100
Stream #0:0: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(top
first), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 29.97 fps, 59.94 tbr, 90k
tbn, 90k tbc
Stream #0:1: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo,
fltp, 256 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame= 630 fps=0.0 q=-1.0 Lsize= 20029kB time=00:00:10.52
bitrate=15585.0kbits/s speed= 155x
video:18155kB audio:330kB subtitle:0kB other streams:0kB global
headers:0kB muxing overhead: 8.351021%
```
> And when I remux *this* file into an mp4 container, the resulting file
> plays fine, and has the same audio stream as the file created last
> year:
>
> Stream #0:1(und): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz,
> stereo, fltp, 256 kb/s (default)
Command and console output for the (functioning) mp4 file remuxed from
the remuxed MTS file:
```
$ ffmpeg -i ./00006-remuxed.MTS -vcodec copy -acodec copy
./00006-remuxed.mp4
ffmpeg version 3.4.2 Copyright (c) 2000-2018 the FFmpeg developers
built with Apple LLVM version 9.0.0 (clang-900.0.39.2)
configuration: --prefix=/opt/local --enable-swscale --enable-avfilter
--enable-avresample --enable-libmp3lame --enable-libvorbis
--enable-libopus --enable-librsvg --enable-libtheora
--enable-libopenjpeg --enable-libmodplug --enable-libvpx
--enable-libsoxr --enable-libspeex --enable-libass --enable-libbluray
--enable-lzma --enable-gnutls --enable-fontconfig --enable-libfreetype
--enable-libfribidi --disable-jack --disable-libopencore-amrnb
--disable-libopencore-amrwb --disable-libxcb --disable-libxcb-shm
--disable-libxcb-xfixes --disable-indev=jack --enable-opencl
--disable-outdev=xv --enable-audiotoolbox --enable-videotoolbox
--enable-sdl2 --mandir=/opt/local/share/man --enable-shared
--enable-pthreads --cc=/usr/bin/cc --arch=x86_64 --enable-x86asm
--enable-libx265 --enable-gpl --enable-postproc --enable-libx264
--enable-libxvid --enable-nonfree --enable-libfdk-aac
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
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
Input #0, mpegts, from './00006-remuxed.MTS':
Duration: 00:00:10.56, start: 1.400000, bitrate: 15542 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B),
yuv420p(top first), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 59.94 tbr,
90k tbn, 59.94 tbc
Stream #0:1[0x101]: Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz,
stereo, fltp, 256 kb/s
[mp4 @ 0x7ff4d1813200] track 1: codec frame size is not set
Output #0, mp4, to './00006-remuxed.mp4':
Metadata:
encoder : Lavf57.83.100
Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), yuv420p(top
first), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 29.97 fps, 59.94 tbr, 90k
tbn, 90k tbc
Stream #0:1: Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, stereo,
fltp, 256 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame= 630 fps=0.0 q=-1.0 Lsize= 18499kB time=00:00:10.52
bitrate=14394.4kbits/s speed= 167x
video:18155kB audio:330kB subtitle:0kB other streams:0kB global
headers:0kB muxing overhead: 0.073744%
```
Thanks in advance for any insight or help with this! Please let me know
if I can provide more information.
Best,
Galen
On 18 Feb 2018, at 9:02, Galen Menzel wrote:
> Hi all,
>
> I have been using ffmpeg regularly for a couple years to remux MTS
> files from my video camera into mp4 files. I use the following simple
> command:
>
> ```
> ffmpeg -i [MTS_FILE] -acodec copy -vcodec copy [MP4_FILE]
> ```
>
> Although the command I use hasn’t changed, recently this has stopped
> working. The resulting mp4 now contains an audio stream in a format
> that VLC (and Quicktime Player) can’t play. (VLC gives the following
> error: `VLC could not decode the format "AC-3" (No description for
> this codec)`)
>
> Concretely, here is the audio stream information of an MTS file I’m
> working with, which plays just fine:
>
> Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz,
> stereo, fltp, 256 kb/s
>
> Here is the audio stream information from the mp4 of this file, which
> I remuxed last year, and which also plays fine:
>
> Stream #0:1(und): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz,
> stereo, fltp, 256 kb/s (default)
>
> And here is the audio stream information from the mp4 of this file
> when I remux it now using the same command, which does not play:
>
> Stream #0:1(und): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz,
> stereo, fltp, 256 kb/s (default)
>
> As you can see, the file that I get now has the same encoding as the
> MTS file, but does not play, even though the MTS file does. And the
> file I generated last year has a different audio encoding (even though
> the commands that created these files were identical), but it plays
> fine.
>
> If I first do what should be a vacuous remux of the MTS file with
>
> ffmpeg -i [INPUT_MTS_FILE] -acodec copy -vcodec copy [OUTPUT_MTS_FILE]
>
> the resulting MTS file has the following audio stream information:
>
> Stream #0:1[0x101]: Audio: ac3 ([129][0][0][0] / 0x0081), 48000
> Hz, stereo, fltp, 256 kb/s
>
> And when I remux *this* file into an mp4 container, the resulting file
> plays fine, and has the same audio stream as the file created last
> year:
>
> Stream #0:1(und): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz,
> stereo, fltp, 256 kb/s (default)
>
> But I would really rather not remux everything twice.
>
> I am using the following version of ffmpeg, which I installed with
> macports:
>
> ```
> ffmpeg version 3.4.2 Copyright (c) 2000-2018 the FFmpeg developers
> built with Apple LLVM version 9.0.0 (clang-900.0.39.2)
> configuration: --prefix=/opt/local --enable-swscale --enable-avfilter
> --enable-avresample --enable-libmp3lame --enable-libvorbis
> --enable-libopus --enable-librsvg --enable-libtheora
> --enable-libopenjpeg --enable-libmodplug --enable-libvpx
> --enable-libsoxr --enable-libspeex --enable-libass --enable-libbluray
> --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfreetype
> --enable-libfribidi --disable-jack --disable-libopencore-amrnb
> --disable-libopencore-amrwb --disable-libxcb --disable-libxcb-shm
> --disable-libxcb-xfixes --disable-indev=jack --enable-opencl
> --disable-outdev=xv --enable-audiotoolbox --enable-videotoolbox
> --enable-sdl2 --mandir=/opt/local/share/man --enable-shared
> --enable-pthreads --cc=/usr/bin/cc --arch=x86_64 --enable-x86asm
> --enable-libx265 --enable-gpl --enable-postproc --enable-libx264
> --enable-libxvid --enable-nonfree --enable-libfdk-aac
> 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
> libavresample 3. 7. 0 / 3. 7. 0
> libswscale 4. 8.100 / 4. 8.100
> libswresample 2. 9.100 / 2. 9.100
> libpostproc 54. 7.100 / 54. 7.100
> ```
>
> This is the first time I’ve noticed this issue, but the last time I
> remuxed files (with no issue) was last October, so this has manifested
> sometime in the last four months or so.
>
> Does anyone have any ideas as to what is going on here? What do these
> various name/number pairs for the ac3 encoding mean? (e.g., `ac-3 /
> 0x332D6361` vs `AC-3 / 0x332D4341` vs `[129][0][0][0] / 0x0081`. I’d
> appreciate any help or insight on this issue.
>
> Thanks!
>
> Best regards,
>
> Galen
More information about the ffmpeg-user
mailing list