Opened 5 months ago

Closed 5 months ago

Last modified 5 months ago

#7554 closed defect (invalid)

truehd_core bitstream filter to remove Atmos?

Reported by: Sami32 Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Suggestion, wish, to be able to avoid transcoding in the case of TrueHD audio stream not supported by renderers.

Change History (15)

comment:1 Changed 5 months ago by richardpl

  • Resolution set to invalid
  • Status changed from new to closed

Report does not make sense. Needs clarification. TrueHD does not have core which would then be extracted. When opening new tickets make them more descriptive and concise.

comment:2 Changed 5 months ago by cehoyos

  • Component changed from avfilter to undetermined
  • Keywords ac3_core removed
  • Priority changed from wish to normal
  • Type changed from task to defect

Or in other words: Command line and complete, uncut console output missing.

comment:3 Changed 5 months ago by Sami32

In tsMuxeR manual:

  • down-to-ac3 Available only for TRUE-HD tracks. Filter out HD part.

Some container does not support interleaved TrueHD+AC3.

Example of such file that could avoid audio transcoding if a bitstream filter was available for this case:
https://www15.zippyshare.com/v/v5Nxi6Rm/file.html

ffmpeg.exe -i dolby_EAC3_TrueHD_amaze_lossless-DWEU.m2ts -report -loglevel debug
ffmpeg version N-92192-g57f312a34d Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 8.2.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-avisynth --enable-fontconfig --enable-gnutls --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libkvazaar --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --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-libxvid --enable-libxml2 --enable-libzimg --enable-opengl --enable-pthreads --disable-w32threads --disable-dxva2 --disable-debug --pkg-config-flags=--static --extra-ldflags=-static --extra-cflags='-mtune=generic -mfpmath=sse -msse' --cpu=i686 --optflags='-O2 -finline-fun  libavutil      56. 19.101 / 56. 19.101
  libavcodec     58. 33.100 / 58. 33.100
  libavformat    58. 19.100 / 58. 19.100
  libavdevice    58.  4.105 / 58.  4.105
  libavfilter     7. 33.101 /  7. 33.101
  libswscale      5.  2.100 /  5.  2.100
  libswresample   3.  2.100 /  3.  2.100
  libpostproc    55.  2.100 / 55.  2.100
Splitting the commandline.
Reading option '-i' ... matched as input url with argument 'dolby_EAC3_TrueHD_amaze_lossless-DWEU.m2ts'.
Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option report (generate a report) with argument 1.
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url dolby_EAC3_TrueHD_amaze_lossless-DWEU.m2ts.
Successfully parsed a group of options.
Opening an input file: dolby_EAC3_TrueHD_amaze_lossless-DWEU.m2ts.
[NULL @ 080711c0] Opening 'dolby_EAC3_TrueHD_amaze_lossless-DWEU.m2ts' for reading
[file @ 08071dc0] Setting default whitelist 'file,crypto'
[mpegts @ 080711c0] Format mpegts probed with size=2048 and score=50
[mpegts @ 080711c0] stream=0 stream_type=1b pid=1011 prog_reg_desc=HDMV
[mpegts @ 080711c0] stream=1 stream_type=83 pid=1100 prog_reg_desc=HDMV
[mpegts @ 080711c0] stream=3 stream_type=84 pid=1101 prog_reg_desc=HDMV
[mpegts @ 080711c0] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 nb_streams:4
[AVBSFContext @ 0814cf80] nal_unit_type: 9(AUD), nal_ref_idc: 0
[AVBSFContext @ 0814cf80] nal_unit_type: 7(SPS), nal_ref_idc: 3
[AVBSFContext @ 0814cf80] nal_unit_type: 8(PPS), nal_ref_idc: 3
[AVBSFContext @ 0814cf80] nal_unit_type: 6(SEI), nal_ref_idc: 0
[AVBSFContext @ 0814cf80] nal_unit_type: 6(SEI), nal_ref_idc: 0
[AVBSFContext @ 0814cf80] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 08072440] nal_unit_type: 9(AUD), nal_ref_idc: 0
[h264 @ 08072440] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 08072440] nal_unit_type: 8(PPS), nal_ref_idc: 3
[h264 @ 08072440] nal_unit_type: 6(SEI), nal_ref_idc: 0
[h264 @ 08072440] nal_unit_type: 6(SEI), nal_ref_idc: 0
[h264 @ 08072440] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 08072440] Format yuv420p chosen by get_format().
[h264 @ 08072440] Reinit context to 1920x1088, pix_fmt: yuv420p
[h264 @ 08072440] no picture 
[eac3 @ 08075300] channel_map: 1A00
[mpegts @ 080711c0] max_analyze_duration 5000000 reached at 5000000 microseconds st:1
[mpegts @ 080711c0] After avformat_find_stream_info() pos: 0 bytes read:4329616 seeks:2 frames:6436
Input #0, mpegts, from 'dolby_EAC3_TrueHD_amaze_lossless-DWEU.m2ts':
  Duration: 00:01:03.52, start: 4200.000000, bitrate: 22899 kb/s
  Program 1 
    Stream #0:0[0x1011](eng), 122, 1/90000: Video: h264 (High), 1 reference frame (HDMV / 0x564D4448), yuv420p(progressive, left), 1920x1080 (1920x1088), 0/1, 24 fps, 24 tbr, 90k tbn, 48 tbc
    Stream #0:1[0x1100], 6002, 1/90000: Audio: truehd (AC-3 / 0x332D4341), 48000 Hz, 7.1, s32 (24 bit)
    Stream #0:2[0x1100], 156, 1/90000: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 640 kb/s
    Stream #0:3[0x1101], 156, 1/90000: Audio: eac3 (AC-3 / 0x332D4341), 48000 Hz, 7.1, fltp, 1664 kb/s
Successfully opened the file.
At least one output file must be specified
[AVIOContext @ 0807a0c0] Statistics: 4329616 bytes read, 2 seeks

Sorry for having thought that was an evidence...
Hoping that now it make some sens to you?

Note: Merci Carl for the "subtitling", as you know my english is weak ;)

comment:4 Changed 5 months ago by Sami32

It seem that MediaInfo? call it: AC-3 MLP FBA 16-ch

So "Atmos" should have been more correct than TrueHD :(

Last edited 5 months ago by Sami32 (previous) (diff)

comment:5 Changed 5 months ago by cehoyos

Ok, you ran ffmpeg -i on a file from a bluray disc. Is anything wrong with the console output? Any stream misdetected?

comment:6 follow-up: Changed 5 months ago by Sami32

Nothing wrong, it is why i called it wish.
To get a "cleaned" audio stream with simple AC-3 that it more widely supported by renderers.
That is said transcoding is always possible, but could be avoided with a bitstream filter?

Edit:
truehd_core bitstream filter?

Last edited 5 months ago by Sami32 (previous) (diff)

comment:7 in reply to: ↑ 6 Changed 5 months ago by cehoyos

Replying to Sami32:

Nothing wrong, it is why i called it wish.

What do you wish to change in the console output of the command line that you posted?

Last edited 5 months ago by cehoyos (previous) (diff)

comment:8 Changed 5 months ago by Sami32

  • Priority changed from normal to wish
  • Summary changed from ac3_core bitstream filter for TrueHD to truehd_core bitstream filter to remove Atmos?
  • Type changed from defect to task

comment:9 Changed 5 months ago by cehoyos

  • Priority changed from wish to normal
  • Type changed from task to defect

Please do not change ticket properties!

comment:10 Changed 5 months ago by Sami32

  • Priority changed from normal to wish
  • Type changed from defect to task

Sorry i'm not sure to understand where you want go.
Ok but i don't see any defect so i just doesn't understand.

Forget about, it was just an idea that perhaps doesn't have any meaning.
I'll try tsMuxeR later.

comment:11 Changed 5 months ago by cehoyos

  • Priority changed from wish to normal
  • Type changed from task to defect

You presented us a command line that does not produce any output: I already told you in ticket #6817 that such command lines are often useless to report a bug or a missing feature (for a crash, it is often sufficient). Without such a command line that shows me what you are trying to achieve I have to guess what you want to do which is usually a bad idea: I prefer to look at your command line instead of guessing what you want.

comment:12 Changed 5 months ago by richardpl

Isn't this dupe of #4490?

comment:13 Changed 5 months ago by Sami32

Yes. Sorry for have missed it :(

As i don't understand how to produce a log or command line for something that doesn't exist yet in FFmpeg i just tried to make happy giving some audio stream sample that have such Atmos "layer".
So this issue could be closed.

Sorry for the noise.

Last edited 5 months ago by Sami32 (previous) (diff)

comment:14 Changed 5 months ago by richardpl

I wrote truehd_core filter, patch is on ffmpeg-devel mailing list.

comment:15 Changed 5 months ago by Sami32

Woaw :) It is Christmas before time ;)

Thank you very much Paul +1

Last edited 5 months ago by Sami32 (previous) (diff)
Note: See TracTickets for help on using tickets.