Log in

View Full Version : TS Muxer for AC-4


Lucius Snow
9th January 2024, 16:29
Hi all,

Would you know a .ts muxer which supports both HEVC and AC-4?

I use to work with TSMuxer but it doesn't support AC-4. The Dolby tool can mux both streams but in a MP4 container only.

Thanks.

Lucius Snow
10th January 2024, 20:43
I found a build of ffmpeg supporting AC-4. I could decode the audio stream with it.

I can remux but with that error:

[mpegts @ 00000220c9295700] Stream 1, codec ac4, is muxed as a private data stream and may not be recognized upon reading.

FranceBB
10th January 2024, 21:51
[mpegts @ 00000220c9295700] Stream 1, codec ac4, is muxed as a private data stream and may not be recognized upon reading.

It won't work.
That error means that the muxer has no idea how to mux it in the container, so it's not signalled as an audio track, but rather as private data, which means that it's exploiting the metadata part of the container to put it there.

TL;DR no decoder in the world will be able to decode it.


I've never come across an AC4 audio track, luckily, so I didn't face this exact same problem, but I did see it with other codecs. Unfortunately I don't have a solution for you, though. :(

Lucius Snow
10th January 2024, 22:28
Thanks for your feedback. I'm afraid all TS muxer that supports both HEVC+AC4 are hardware only... but I'm not sure.

I've spent hours searching a tool to do that with no luck. I give up with ffmpeg for now.

ivanb
11th January 2024, 07:21
[mpegts @ 00000220c9295700] Stream 1, codec ac4, is muxed as a private data stream and may not be recognized upon reading.

Just curious, could you check whether the analyzer (http://media-analyzer.pro) is able to detect that such output file contains an AC-4 stream?

Lucius Snow
11th January 2024, 11:19
Just curious, could you check whether the analyzer (http://media-analyzer.pro) is able to detect that such output file contains an AC-4 stream?
No mention of AC-4 / audio stream.

Here is an example of a successfull .ts muxed file:
https://www.mediafire.com/file/ymuydr0bm5axt1o/atsc3.ts/file

ivanb
11th January 2024, 16:45
No mention of AC-4 / audio stream.


Strange, I can find AC-4 stream in the file you provided (see screenshot)

https://i.ibb.co/1qsrhDD/Screenshot-2024-01-11-at-22-40-16.png (https://ibb.co/1qsrhDD)

ivanb
11th January 2024, 16:50
Also, PMT table has registration descriptor for AC-4 stream. So, in fact, FFMPEG-produced file is not that bad

Lucius Snow
11th January 2024, 17:04
No, that file isn't the one I made. It's an example of a successfull .ts muxed file.

ivanb
11th January 2024, 17:47
Ah, my bad. I thought it is the file produced by FFMPEG. Can you share your file with me to check why AC-4 was not recognized? (I am the author of the analyzer)

Lucius Snow
11th January 2024, 17:58
Ah, my bad. I thought it is the file produced by FFMPEG. Can you share your file with me to check why AC-4 was not recognized? (I am the author of the analyzer)
Sure: https://www.mediafire.com/file/gn3oh49am6kfexz/test.ts/file

ivanb
11th January 2024, 18:28
Thanks! It looks like your AC-4 stream doesn't use sync frame encapsulation (ac4_syncframe packets). It makes it quite difficult to recognize such streams in TS-like containers without additional indication

Lucius Snow
11th January 2024, 19:08
I'm not sure ffmpeg is capable of a such muxing.

hajj_3
12th January 2024, 10:15
does it have to be .ts, is .mkv not okay as mkvtoolnix seems as though it can do that.

Lucius Snow
12th January 2024, 12:51
does it have to be .ts, is .mkv not okay as mkvtoolnix seems as though it can do that.
My client wants a .ts container, don't know why :\