#5501 closed defect (worksforme)
EAC3 decoding
Reported by: | Mista_D | Owned by: | |
---|---|---|---|
Priority: | minor | Component: | avformat |
Version: | git-master | Keywords: | mpegts |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | yes |
Description
Problem decoding EAC3 from TS, if track is repackaged with "-copy_unkown", then the stream is a FFmpeg decodable AC3 384k...
Any way to decode original file without the temp file?
- FAILED TO DECODE
ffmpeg -i part.ts -map 0:1 -t 10 -f null -
ffmpeg version N-79000-g66edd86 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 5.3.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
libavutil 55. 19.100 / 55. 19.100
libavcodec 57. 28.100 / 57. 28.100
libavformat 57. 28.100 / 57. 28.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 39.102 / 6. 39.102
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
[mpegts @ 00000000007a2700] probed stream 1 failed
[mpegts @ 00000000007a2700] Could not find codec parameters for stream 1 (Unknown: none (EAC3 / 0x33434145)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mpegts, from 'part.ts':
Duration: N/A, start: 1.083400, bitrate: N/A
Program 2
Stream #0:0[0x1e1]: Video: h264 (High 4:2:2) ([27][0][0][0] / 0x001B), yuv422p10le(tv, bt709), 3840x2160 [SAR 1:1 DAR 16:9],
Closed Captions, 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc
Stream #0:1[0x1e2]: Unknown: none (EAC3 / 0x33434145)
Cannot map stream #0:1 - unsupported type.
If you want unsupported types ignored instead of failing, please use the -ignore_unknown option
If you want them copied, please use -copy_unknown
- COPIED TRACK TO TS with "-copy_unknown"
ffmpeg -i 108GB_9.ts -map 0:1 -t 10 -copy_unknown -c copy audio_test.ts
ffmpeg version N-79000-g66edd86 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 5.3.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
libavutil 55. 19.100 / 55. 19.100
libavcodec 57. 28.100 / 57. 28.100
libavformat 57. 28.100 / 57. 28.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 39.102 / 6. 39.102
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
[mpegts @ 0000000000662820] probed stream 1 failed
[mpegts @ 0000000000662820] Could not find codec parameters for stream 1 (Unknown: none (EAC3 / 0x33434145)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mpegts, from '108GB_9.ts':
Duration: N/A, start: 1.083400, bitrate: N/A
Program 2
Stream #0:0[0x1e1]: Video: h264 (High 4:2:2) ([27][0][0][0] / 0x001B), yuv422p10le(tv, bt709), 3840x2160 [SAR 1:1 DAR 16:9],
Closed Captions, 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc
Stream #0:1[0x1e2]: Unknown: none (EAC3 / 0x33434145)
Output #0, mpegts, to 'audio_test.ts':
Metadata:
encoder : Lavf57.28.100
Stream #0:0: Unknown: none (EAC3 / 0x33434145)
Stream mapping:
Press [q] to stop, ? for help
size= 540kB time=00:00:09.98 bitrate= 443.5kbits/s speed= 35x
video:0kB audio:0kB subtitle:0kB other streams:473kB global headers:0kB muxing overhead: 14.242310%
- CONVERT TEST AUDIO FILE to WAV - OK!
ffmpeg -i audio_test.ts 1.wav
ffmpeg version N-79000-g66edd86 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 5.3.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
libavutil 55. 19.100 / 55. 19.100
libavcodec 57. 28.100 / 57. 28.100
libavformat 57. 28.100 / 57. 28.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 39.102 / 6. 39.102
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
Input #0, mpegts, from 'audio_test.ts':
Duration: 00:00:09.98, start: 1.400000, bitrate: 443 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Audio: eac3 ([6][0][0][0] / 0x0006), 48000 Hz, 5.1(side), fltp, 384 kb/s
Output #0, wav, to '1.wav':
Metadata:
ISFT : Lavf57.28.100
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, 5.1(side), s16, 4608 kb/s
Metadata:
encoder : Lavc57.28.100 pcm_s16le
Stream mapping:
Press [q] to stop, ? for help
[eac3 @ 000000000078ef20] incomplete frame
size= 5652kB time=00:00:10.04 bitrate=4608.1kbits/s speed= 141x
video:0kB audio:5652kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.001762%
Change History (9)
comment:1 by , 9 years ago
comment:2 by , 9 years ago
Keywords: | mpegts added |
---|
I cannot reproduce with the sample you uploaded: Please provide command line and console output for the sample you uploaded or upload a larger sample (there is no file size limit).
comment:3 by , 9 years ago
Resubmitting test file, commands and console as per Carlos' request.
LONGER TEST FILE:
http://www.mediafire.com/download/3213n9fvecewxwn/part.ts
COMMANDS:
- NOT DECODING
ffmpeg -i part.ts -map 0:1 -f null /dev/null
ffmpeg version 2.8.1 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.1.2 (GCC) 20080704 (Red Hat 4.1.2-52)
configuration: --prefix=/home/dennisp/010_64 --enable-static --enable-postproc --enable-gpl --enable-avfilter --enable-libx264 --enable-libxvid --enable-libmp3lame --enable-libx265 --enable-pthreads --enable-swscale --enable-runtime-cpudetect --disable-devices --disable-avdevice --extra-ldflags=-static --disable-shared --enable-bzlib --enable-zlib --enable-libfaac --extra-libs='-lx264 -lxvidcore -lmp3lame -lpthread -lm -lbz2 -lz -lpthread -lvpx -lass -lfontconfig -lexpat -lfreetype -lfaac -lx265 -lfdk-aac' --enable-libfdk-aac --disable-encoder=libgsm --disable-decoder=libgsm --disable-doc --enable-libvpx --enable-libass --enable-version3 --enable-nonfree --enable-libfreetype --pkg-config-flags=--static
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavfilter 5. 40.101 / 5. 40.101
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
[mpegts @ 0x404f980] Could not find codec parameters for stream 1 (Unknown: none (EAC3 / 0x33434145)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mpegts, from 'part.ts':
Duration: 00:00:19.06, start: 1.083400, bitrate: 125913 kb/s
Program 2
Stream #0:0[0x1e1]: Video: h264 (High 4:2:2) ([27][0][0][0] / 0x001B), yuv422p10le(tv, bt709), 3840x2160 [SAR 1:1 DAR 16:9], Closed Captions, 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc
Stream #0:1[0x1e2]: Unknown: none (EAC3 / 0x33434145)
Cannot map stream #0:1 - unsupported type.
If you want unsupported types ignored instead of failing, please use the -ignore_unknown option
If you want them copied, please use -copy_unknown
- COPY UNDECODABLE TRACK TO A TEMP AUDIO TS FILE:
ffmpeg281 -i part.ts -map 0:1 -copy_unknown -c copy audio.ts
ffmpeg version 2.8.1 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.1.2 (GCC) 20080704 (Red Hat 4.1.2-52)
configuration: --prefix=/home/dennisp/010_64 --enable-static --enable-postproc --enable-gpl --enable-avfilter --enable-libx264 --enable-libxvid --enable-libmp3lame --enable-libx265 --enable-pthreads --enable-swscale --enable-runtime-cpudetect --disable-devices --disable-avdevice --extra-ldflags=-static --disable-shared --enable-bzlib --enable-zlib --enable-libfaac --extra-libs='-lx264 -lxvidcore -lmp3lame -lpthread -lm -lbz2 -lz -lpthread -lvpx -lass -lfontconfig -lexpat -lfreetype -lfaac -lx265 -lfdk-aac' --enable-libfdk-aac --disable-encoder=libgsm --disable-decoder=libgsm --disable-doc --enable-libvpx --enable-libass --enable-version3 --enable-nonfree --enable-libfreetype --pkg-config-flags=--static
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavfilter 5. 40.101 / 5. 40.101
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
[mpegts @ 0x3ad29a0] Could not find codec parameters for stream 1 (Unknown: none (EAC3 / 0x33434145)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mpegts, from 'part.ts':
Duration: 00:00:19.06, start: 1.083400, bitrate: 125913 kb/s
Program 2
Stream #0:0[0x1e1]: Video: h264 (High 4:2:2) ([27][0][0][0] / 0x001B), yuv422p10le(tv, bt709), 3840x2160 [SAR 1:1 DAR 16:9], Closed Captions, 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc
Stream #0:1[0x1e2]: Unknown: none (EAC3 / 0x33434145)
Output #0, mpegts, to 'audio.ts':
Metadata:
encoder : Lavf56.40.101
Stream #0:0: Unknown: none (EAC3 / 0x33434145)
Stream mapping:
Press [q] to stop, ? for help
[mpegts @ 0x3ad29a0] PES packet size mismatch
size= 993kB time=00:00:18.20 bitrate= 446.7kbits/s
video:0kB audio:0kB subtitle:0kB other streams:854kB global headers:0kB muxing overhead: 16.271017%
- NEWLY CREATED AUDIO TS FILE IS DECODABLE:
fmpeg281 -i part.ts -map 0:1 -copy_unknown -c copy audio.ts
ffmpeg version 2.8.1 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.1.2 (GCC) 20080704 (Red Hat 4.1.2-52)
configuration: --prefix=/home/dennisp/010_64 --enable-static --enable-postproc --enable-gpl --enable-avfilter --enable-libx264 --enable-libxvid --enable-libmp3lame --enable-libx265 --enable-pthreads --enable-swscale --enable-runtime-cpudetect --disable-devices --disable-avdevice --extra-ldflags=-static --disable-shared --enable-bzlib --enable-zlib --enable-libfaac --extra-libs='-lx264 -lxvidcore -lmp3lame -lpthread -lm -lbz2 -lz -lpthread -lvpx -lass -lfontconfig -lexpat -lfreetype -lfaac -lx265 -lfdk-aac' --enable-libfdk-aac --disable-encoder=libgsm --disable-decoder=libgsm --disable-doc --enable-libvpx --enable-libass --enable-version3 --enable-nonfree --enable-libfreetype --pkg-config-flags=--static
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavfilter 5. 40.101 / 5. 40.101
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
[mpegts @ 0x3ad29a0] Could not find codec parameters for stream 1 (Unknown: none (EAC3 / 0x33434145)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mpegts, from 'part.ts':
Duration: 00:00:19.06, start: 1.083400, bitrate: 125913 kb/s
Program 2
Stream #0:0[0x1e1]: Video: h264 (High 4:2:2) ([27][0][0][0] / 0x001B), yuv422p10le(tv, bt709), 3840x2160 [SAR 1:1 DAR 16:9], Closed Captions, 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc
Stream #0:1[0x1e2]: Unknown: none (EAC3 / 0x33434145)
Output #0, mpegts, to 'audio.ts':
Metadata:
encoder : Lavf56.40.101
Stream #0:0: Unknown: none (EAC3 / 0x33434145)
Stream mapping:
Press [q] to stop, ? for help
[mpegts @ 0x3ad29a0] PES packet size mismatch
size= 993kB time=00:00:18.20 bitrate= 446.7kbits/s
video:0kB audio:0kB subtitle:0kB other streams:854kB global headers:0kB muxing overhead: 16.271017%
[admin26@san-prod-drop-02 ~]$ ffmpeg281 -i audio.ts -f null /dev/null
ffmpeg version 2.8.1 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.1.2 (GCC) 20080704 (Red Hat 4.1.2-52)
configuration: --prefix=/home/dennisp/010_64 --enable-static --enable-postproc --enable-gpl --enable-avfilter --enable-libx264 --enable-libxvid --enable-libmp3lame --enable-libx265 --enable-pthreads --enable-swscale --enable-runtime-cpudetect --disable-devices --disable-avdevice --extra-ldflags=-static --disable-shared --enable-bzlib --enable-zlib --enable-libfaac --extra-libs='-lx264 -lxvidcore -lmp3lame -lpthread -lm -lbz2 -lz -lpthread -lvpx -lass -lfontconfig -lexpat -lfreetype -lfaac -lx265 -lfdk-aac' --enable-libfdk-aac --disable-encoder=libgsm --disable-decoder=libgsm --disable-doc --enable-libvpx --enable-libass --enable-version3 --enable-nonfree --enable-libfreetype --pkg-config-flags=--static
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavfilter 5. 40.101 / 5. 40.101
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Input #0, mpegts, from 'audio.ts':
Duration: 00:00:18.21, start: 1.400000, bitrate: 446 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Audio: eac3 ([6][0][0][0] / 0x0006), 48000 Hz, 5.1(side), fltp, 384 kb/s
Output #0, null, to '/dev/null':
Metadata:
encoder : Lavf56.40.101
Stream #0:0: Audio: pcm_s16le, 48000 Hz, 5.1(side), s16, 4608 kb/s
Metadata:
encoder : Lavc56.60.100 pcm_s16le
Stream mapping:
Press [q] to stop, ? for help
[eac3 @ 0x29b3d40] incomplete frame
size=N/A time=00:00:18.24 bitrate=N/A
video:0kB audio:10260kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Looking to decode original file without generating the temp file.
comment:4 by , 9 years ago
Component: | undetermined → avformat |
---|---|
Priority: | normal → minor |
Reproduced by developer: | set |
Status: | new → open |
Version: | unspecified → git-master |
Thank you for the sample, this is our main request from users!
Your file starts with a 13MB "header" that breaks auto-detection. this is also why your original upload was not helpful, please always (also) test the cut files you upload.
I sent a patch that helps a little but increased probesize is still necessary.
comment:5 by , 9 years ago
Analyzed by developer: | set |
---|
comment:7 by , 6 years ago
Resolution: | → worksforme |
---|---|
Status: | open → closed |
comment:8 by , 6 years ago
Not sure if this can be improved but "worksforme" seems not ideal.
$ ffmpeg -i part.ts ffmpeg version N-92507-g027f032 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 6.4.0 (GCC) configuration: --enable-gpl --enable-gnutls --enable-libxml2 libavutil 56. 23.101 / 56. 23.101 libavcodec 58. 39.100 / 58. 39.100 libavformat 58. 22.100 / 58. 22.100 libavdevice 58. 6.100 / 58. 6.100 libavfilter 7. 46.100 / 7. 46.100 libswscale 5. 4.100 / 5. 4.100 libswresample 3. 4.100 / 3. 4.100 libpostproc 55. 4.100 / 55. 4.100 [mpegts @ 0x2228500] start time for stream 1 is not set in estimate_timings_from_pts [mpegts @ 0x2228500] Could not find codec parameters for stream 1 (Audio: eac3 (EAC3 / 0x33434145), 0 channels, fltp): unspecified sample rate Consider increasing the value for the 'analyzeduration' and 'probesize' options Input #0, mpegts, from 'part.ts': Duration: 00:00:19.10, start: 1.083400, bitrate: 125638 kb/s Program 2 Stream #0:0[0x1e1]: Video: h264 (High 4:2:2) ([27][0][0][0] / 0x001B), yuv422p10le(tv, bt709, progressive), 3840x2160 [SAR 1:1 DAR 16:9], Closed Captions, 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc Stream #0:1[0x1e2]: Audio: eac3 (EAC3 / 0x33434145), 0 channels, fltp At least one output file must be specified
It is not possible to decode the audio stream (with the ffmpeg
tool) without specifying an increased probesize.
comment:9 by , 6 years ago
If increasing the probesize helps, then thats not a decoder problem, but just an interleaving problem and/or cutting problem. The codec of the stream is irrelevant in that situation. Feel free to rename the ticket if you want to re-open it.
Original test file - blank video frames with original audio track. http://www.mediafire.com/download/x2769n0orzybw06/AEC3_undecodable.ts