Opened 11 days ago

Closed 4 days ago

Last modified 2 days ago

#6657 closed defect (fixed)

DVB-T2 audio support

Reported by: Igor_Selivanov Owned by:
Priority: normal Component: avformat
Version: git-master Keywords: mpegts latm
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Summary of the bug:
Audio is not supported. The video samples dvbt2_small.ts is recording of free German DVB-T2 TV channel "Das Erste HD". Unfortunately sound track AAC format is not supported/implemented with FFMPEG version 3.3.2. Since this year (March 2017) new DVB-T2 standard is broadcasting in Germany and France. Unfortunately FFMPEG doesn't implement support of some audio formats of this standard.
How to reproduce:

ffmpeg -i dvbt2_small.ts

or

ffplay dvbt2_small.ts

The problem related to audio track:
Stream #0:1[0x552]: Audio: aac (LTP) ([15][0][0][0] / 0x000F), 22050 Hz, 5.1, fltp, 1077 kb/s
Errors are:

  • More than one AAC RDB per ADTS frame is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
  • Too large remapped id is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented

FFmpeg version:
OS: Arch Linux, ffmpeg version is taken from Arch Linux repository.
ffmpeg version 3.3.2 Copyright (c) 2000-2017 the FFmpeg developers

built with gcc 7.1.1 (GCC) 20170516
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-shared --enable-version3
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libavresample 3. 5. 0 / 3. 5. 0
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100

Attachments (3)

dvbt2_small.ts (2.4 MB) - added by Igor_Selivanov 11 days ago.
The video samples dvbt2_small.ts is recording of free German DVB-T2 TV channel "Das Erste HD".
ffmpeg_log (29.8 KB) - added by Igor_Selivanov 5 days ago.
ffmpeg log
ffplay_log (805.8 KB) - added by Igor_Selivanov 5 days ago.
ffplay log

Change History (9)

Changed 11 days ago by Igor_Selivanov

The video samples dvbt2_small.ts is recording of free German DVB-T2 TV channel "Das Erste HD".

comment:1 Changed 10 days ago by cehoyos

  • Component changed from undetermined to avformat
  • Keywords mpegts latm added
  • Version changed from unspecified to git-master

For future tickets:
Please always test current FFmpeg git head (the only version supported here) and provide the command line you tested together with the complete, uncut console output, do not provide excerpts that you consider important.

Do you know for sure that this is a problem with ARD and not a problem with your LOEWE tv?

Patch sent.

comment:2 Changed 10 days ago by Igor_Selivanov

Loewe TV doesn't have any problem with AAC audio and DVB-T2. Loewe TV is certified for DVB-T2 standard and uses Hardware interface for decoding (not FFmpeg). This problem is related only for FFmpeg. The attached example works even fine with VLC, but not with FFmpeg.

I did all test on my Linux desktop. Arch Linux has pretty latest version of software, in my case 3.3.2, but I can test it with latest from git.

This error is related to certain transport streams. Basically FFmpeg can playback most (but not 100%) of DVB-T2 channels including ARD, but some programs are failed, because of AAC audio track. If you'd like I can post other examples.

The reason why I post this issue is:
"If you want to help, upload a sample of this file to .... " and I am developer too and, yes, I would like to help. I think for every developer is important to know limitation of own software, especial if we are talking about industry standard like DVB-T2.

comment:3 Changed 5 days ago by Igor_Selivanov

Head revision from git shows the same behavior. Strange is that FFmpeg doesn't recognize aac format.

Stream #0:1[0x552]: Audio: aac (LTP) ([15][0][0][0] / 0x000F), 22050 Hz, 5.1, fltp, 1077 kb/s

As I mention above VLC plays video without any problem and detects format as

MPEG AAC Audio (mp4a), Original ID: 1362, Stereo, Sample rate: 48000 Hz

It looks like parsing of AAC header is not correct. Can you please confirm it?

Changed 5 days ago by Igor_Selivanov

ffmpeg log

Changed 5 days ago by Igor_Selivanov

ffplay log

comment:4 Changed 4 days ago by cehoyos

  • Reproduced by developer set
  • Resolution set to fixed
  • Status changed from new to closed

You may want to inform Loewe that their mpegts muxer writes invalid files that do not conform to DVB industry standard: Stream ID 0xf is only allowed for AAC, not LATM.

Work-around added in ca72cd137d3ba57b03018dbeb83ca99d7ef96dca

comment:5 follow-up: Changed 2 days ago by Igor_Selivanov

  1. As far understand from your comment, attached example dvbt2_small.ts is not DVB conform. Loewe TV saves one program from transponder stream. Transponder stream contains multiply channels. It seems that by saving stream on hard drive AAC stream is modified and not DVB conform any more.

We compared incoming stream from German television with saved on hard drive. Indeed, stream Id is changed from 0x11 to 0xF. This is probably reason of this bug. Changing stream Id back to 0x11 fix issue of this topic.

Internally we created ticket in Loewe bug tracking system. Our DVB experts will investigate this.

  1. Unfortunately workaround that you committed, doesn't work with attached example. I would propose to revert it, because attached example is not DVB conform. Sorry for this and thanks for your time.

FFmpeg library is great tool. Number of supporting formats is amazing. It helps everybody to develop great product. Thanks a lot.

comment:6 in reply to: ↑ 5 Changed 2 days ago by cehoyos

Replying to Igor_Selivanov:

Unfortunately workaround that you committed, doesn't work with attached example.

Command line and complete, uncut console output missing.

Note: See TracTickets for help on using tickets.