Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > General > Audio encoding

Closed Thread
 
Thread Tools Search this Thread Display Modes
Old 24th November 2021, 16:18   #15121  |  Link
DanDare1983
Registered User
 
Join Date: Jan 2020
Posts: 88
UsEac3to GUI 1.3.2 is the program I use, I'm currently using the latest version. It saves me alot of time rather than doing one demux at a time with cmd version.
DanDare1983 is offline  
Old 24th November 2021, 16:52   #15122  |  Link
SeeMoreDigital
Life's clearer in 4K UHD
 
SeeMoreDigital's Avatar
 
Join Date: Jun 2003
Location: Notts, UK
Posts: 12,219
Quote:
Originally Posted by DanDare1983 View Post
UsEac3to GUI 1.3.2 is the program I use, I'm currently using the latest version....
I wonder why you didn't submit your post within the forums dedicated UsEac3to v1.3.2: a different GUI for eac3to topic
__________________
| I've been testing hardware media playback devices and software A/V encoders and decoders since 2001 | My Network Layout & A/V Gear |
SeeMoreDigital is offline  
Old 24th November 2021, 22:22   #15123  |  Link
DanDare1983
Registered User
 
Join Date: Jan 2020
Posts: 88
Oh sorry about that. There's so many threads that I didn't really look. I'll put more effort in next time in terms of finding the right thread.
DanDare1983 is offline  
Old 24th November 2021, 23:40   #15124  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,890
Quote:
Originally Posted by DanDare1983 View Post
UsEac3to GUI 1.3.2 is the program I use.
In that GUI don't exist the option and is not easy to implement.
__________________
BeHappy, AviSynth audio transcoder.
tebasuna51 is offline  
Old 2nd December 2021, 17:18   #15125  |  Link
bugs.bunny
Registered User
 
Join Date: Nov 2021
Posts: 1
Hello everybody,

I'm a longtime user of eac3to and my main use case is to speedup (length and pitch correction) a Blu-ray audio source (23,976fps) to PAL speed (25fps) with this simple command:
eac3to input.ac3 output.ac3 -448 -speedup (assuming a source bitrate of 448 kb/s).

I had a longer pause and so I started in the past days reading about the current state of eac3to. I also read this thread (especially the first post containing the additional infos from tebasuna51) and I think this masterpiece of software is a little outdated. Or to be more accurate, the used libraries are a little outdated.

I'm also a ffmpeg user and figured out that this command would do probably the same:
ffmpeg -drc_scale 0 -i input.ac3 -map 0:0 -af asetrate=50050,aresample=48000 output.ac3 [where 50050 is 48000*((25*1001)/24000))]

So can someone please check my ffmpeg command if this is a proper equivalent to eac3to?

But the final question would be: regarding maximum quality (I know it's a lossy operation ;-)) as of today, should I use eac3to v3.34, ffmpeg v4.4.1 or do you know another good/better solution?

Thanks a lot and have a nice week!

Regards, bugs.bunny
bugs.bunny is offline  
Old 4th December 2021, 01:10   #15126  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,890
Quote:
Originally Posted by bugs.bunny View Post
...So can someone please check my ffmpeg command if this is a proper equivalent to eac3to?...
You are right, it is equivalent.

If you download my UsEac3to GUI there are other options to replace eac3to with ffmpeg. See the Readme.txt.

About speedup and slowdown there are the ffmpeg filters (part of the Vid_enc.par file):

Code:
slowdR|-af "aresample=50050, asetrate=48000"
speedR|-af "asetrate=50050, aresample=48000"
slowdT|-af "atempo=0.959041"
speedT|-af "atempo=1.042708"
The first two are like with eac3to (changing pitch) and the last ones are preserving pitch.
__________________
BeHappy, AviSynth audio transcoder.
tebasuna51 is offline  
Old 16th January 2022, 02:32   #15127  |  Link
PoeBear
Registered User
 
Join Date: Jan 2017
Posts: 48
I'm not sure if this bug has been discussed before, but it seems eac3to won't apply any delays if it detects superfluous zero bytes (aka 16-bit tracks 0 padded to 24-bit). I was trying to trim a some silence off a DTS-HD MA track while converting to WAVs, but it seems to ignore the trim command once it switches to the second pass. However if you apply a -down16 command, it won't detect the superfluous zero bytes, and the trim succeeds

Example log 1 (Fails, matches the original DTS-HD MA track length):
Code:
eac3to v3.34
command line: eac3to  "G:\" 1) 3:"D:\Files to Edit\BD.wavs" -26ms
------------------------------------------------------------------------------
M2TS, 1 video track, 2 audio tracks, 2 subtitle tracks, 1:45:19, 24p /1.001
1: Chapters, 12 chapters
2: h264/AVC, 1080p24 /1.001 (16:9)
3: DTS Master Audio, English, 5.1 channels, 24 bits, 48kHz
   (core: DTS, 5.1 channels, 1509kbps, 48kHz)
4: DTS Master Audio, English, 2.0 channels, 16 bits, 48kHz
   (core: DTS, 2.0 channels, 1509kbps, 48kHz)
5: Subtitle (PGS), English
6: Subtitle (PGS), English
[a03] Extracting audio track number 3...
[a03] Decoding with libDcaDec DTS Decoder...
[a03] libDcaDec reported the warning "XLL output not lossless".  <WARNING>
[a03] Applying RAW/PCM delay...
[a03] Writing WAVs...
[a03] Creating file "D:\Files to Edit\BD.L.wav"...
[a03] Creating file "D:\Files to Edit\BD.SL.wav"...
[a03] Creating file "D:\Files to Edit\BD.R.wav"...
[a03] Creating file "D:\Files to Edit\BD.LFE.wav"...
[a03] Creating file "D:\Files to Edit\BD.C.wav"...
[a03] Creating file "D:\Files to Edit\BD.SR.wav"...
[a03] The original audio track has a constant bit depth of 16 bits.
[a03] Superfluous zero bytes detected, will be stripped in 2nd pass.
[a03] Starting 2nd pass...
[a03] Extracting audio track number 3...
[a03] Decoding with libDcaDec DTS Decoder...
[a03] libDcaDec reported the warning "XLL output not lossless".  <WARNING>
[a03] Reducing depth from 24 to 16 bits...
[a03] Writing WAVs...
[a03] Creating file "D:\Files to Edit\BD.L.wav"...
[a03] Creating file "D:\Files to Edit\BD.R.wav"...
[a03] Creating file "D:\Files to Edit\BD.LFE.wav"...
[a03] Creating file "D:\Files to Edit\BD.SL.wav"...
[a03] Creating file "D:\Files to Edit\BD.C.wav"...
[a03] Creating file "D:\Files to Edit\BD.SR.wav"...
[a03] The processed audio track has a constant bit depth of 16 bits.
Video track 2 contains 151521 frames.
eac3to processing took 13 minutes, 20 seconds.
Done.
Eample log 2 (Passes, is -26ms earlier than the DTS-HD MA track):
Code:
eac3to v3.34
command line: eac3to  "G:\" 1) 3:"D:\Files to Edit\BD.wavs" -down16 -26ms
------------------------------------------------------------------------------
M2TS, 1 video track, 2 audio tracks, 2 subtitle tracks, 1:45:19, 24p /1.001
1: Chapters, 12 chapters
2: h264/AVC, 1080p24 /1.001 (16:9)
3: DTS Master Audio, English, 5.1 channels, 24 bits, 48kHz
   (core: DTS, 5.1 channels, 1509kbps, 48kHz)
4: DTS Master Audio, English, 2.0 channels, 16 bits, 48kHz
   (core: DTS, 2.0 channels, 1509kbps, 48kHz)
5: Subtitle (PGS), English
6: Subtitle (PGS), English
[a03] Extracting audio track number 3...
[a03] Decoding with libDcaDec DTS Decoder...
[a03] libDcaDec reported the warning "XLL output not lossless".  <WARNING>
[a03] Applying RAW/PCM delay...
[a03] Reducing depth from 24 to 16 bits...
[a03] Writing WAVs...
[a03] Creating file "D:\Files to Edit\BD.SL.wav"...
[a03] Creating file "D:\Files to Edit\BD.C.wav"...
[a03] Creating file "D:\Files to Edit\BD.SR.wav"...
[a03] Creating file "D:\Files to Edit\BD.L.wav"...
[a03] Creating file "D:\Files to Edit\BD.LFE.wav"...
[a03] Creating file "D:\Files to Edit\BD.R.wav"...
[a03] The original audio track has a constant bit depth of 16 bits.
[a03] The processed audio track has a constant bit depth of 16 bits.
Video track 2 contains 151521 frames.
eac3to processing took 4 minutes, 41 seconds.
Done.
The -down16 command is applying a dither because it thinks it's a 24-bit track upon initial processing, so it seems my best/easiest option to keep the sound untouched is to just save it as a single WAV without a delay, so that it detects and strips the 0 bytes, and then use eac3to again on the single WAV to apply the delay/split it into WAVs?

Last edited by PoeBear; 16th January 2022 at 04:44.
PoeBear is offline  
Old 16th January 2022, 11:14   #15128  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,890
I don't have a sample (DTS-MA 24bits padded from 16) to check the problem, but like eac3to is an abandoned soft the solution seems the two pass propossed by you.
__________________
BeHappy, AviSynth audio transcoder.
tebasuna51 is offline  
Old 3rd February 2022, 01:26   #15129  |  Link
XPEHOPE3
Registered User
 
Join Date: Jul 2019
Posts: 4
Quote:
Originally Posted by Coren View Post
How I do it, is I turn the chapters file into a CUE file, which I then feed to foobar2000, which generates individual audio files following that CUE sheet. But making the CUE file is a pain in the backside, so I decided to write a little Python script that does it for me.

https://github.com/frederik-vaassen/...ter/makeCUE.py
Brilliant, thank you!

I wish this script was mentioned in the starting post...

Also, to make it work with python3, it's enough to replace the last line with this:
Code:
print('Output successfully written to {0}'.format(args.cue_file))
XPEHOPE3 is offline  
Old 3rd February 2022, 10:29   #15130  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,890
We don't need python to obtain a cue file from a chapters OGM .txt file.

I wrote longtime ago a .vbs (WScript Shell), only drag and drop any chapter.txt file (in Windows) over this Chap-Cue.vbs:
Code:
'Chap-Cue.vbs
'Convert OGM chapter.txt to Cue Sheet
'
Set ws = CreateObject("WScript.Shell")                 ' Shell
Set fso = CreateObject("Scripting.FileSystemObject")   ' FileSystemObject
Set args = WScript.Arguments
'
If args.Count > 0 then
  For j = 0 To args.Count - 1                         'work with many files
    s2 = args(j)
    If LCase(Right(s2, 4)) = ".txt" then
       Set f1 = fso.OpenTextFile(s2, 1)               ' Input file
       s3 = left(s2, len(s2) - 4)
       s4 = s3 & ".cue"
       Set fe = fso.CreateTextFile(s4, True)          ' Output file
'
       fe.WriteLine "FILE " & chr(34) & s3 & ".wav" & chr(34) & " WAVE" 'FILE "input_name.wav" WAVE
       Do While f1.AtEndOfStream <> True
           l1 = f1.ReadLine        'Read: CHAPTERxx=hh:mm:ss.mss
           l2 = f1.ReadLine        'Read: CHAPTERxxNAME=xn
' process input data
           xx = mid(l1, 8, 2)      'number of chapter
           xn = xx                 'default name
           If len(l2) > 14 Then xn = mid(l2, 15)  'name of chapter
           hh = mid(l1, 11, 2)
           mm = mid(l1, 14, 2)
           ss = mid(l1, 16, 3) & ":"
           ms = mid(l1, 20, 3)
           If hh = "00" Then xt = mm Else xt = 60 * hh + mm
           ms = int(ms * 3 / 40)                  ' Convert to 'frame' 1/75 sec.
           If ms > 9 Then xt = xt & ss & ms Else xt = xt & ss & "0" & ms
' write output data
           fe.WriteLine "  TRACK " & xx & " AUDIO"            'write:  TRACK 01 AUDIO
           fe.WriteLine "    TITLE " & chr(34) & xn & chr(34) 'write:    TITLE "name"
           fe.WriteLine "    INDEX 01 " & xt          'write:    INDEX 01 00:00:00
       Loop
       f1.Close
       fe.Close
    Else
       MsgBox("Only .txt files.")
    End If
  Next
Else
   MsgBox("Use Drag & Drop for chapter input files.")
End if
WScript.Quit
__________________
BeHappy, AviSynth audio transcoder.
tebasuna51 is offline  
Old 8th February 2022, 08:59   #15131  |  Link
hello_hello
Registered User
 
Join Date: Mar 2011
Posts: 4,823
Quote:
Originally Posted by XPEHOPE3 View Post
Brilliant, thank you!

I wish this script was mentioned in the starting post...

Also, to make it work with python3, it's enough to replace the last line with this:
Code:
print('Output successfully written to {0}'.format(args.cue_file))
I can't remember how long it's been the case, but these days foobar2000 will break a large file into chapters as it would using a cue file. All you should need to do is mux the audio into an MKV/MKA and include the chapters.

I loaded an MKV containing video and audio into a playlist as an example.



If the audio happens to be of a type foobar2000 doesn't natively support, or you want certain file types to be treated in different ways, there's also the "ffmpeg wrapper" component.
I think by default foobar2000 uses the chapters to split files in a playlist, but you can choose to decode selected file types with ffmpeg, and the wrapper component gives you a choice regarding chapter support. I have it disabled most of the time and only enable it when I need it.



And the chapters can be saved as a cue file.

hello_hello is offline  
Old 8th February 2022, 13:23   #15132  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,890
If we want extract audio tracks splited by chapters from a mkv we can use MkvToolNix directly:

1) Load the mkv and select only the audio track desired and the Chapters.

2) In Output tab select Split Mode: Before chapters and Chapters numbers: all

3) Start Multiplexing to obtain the mka's with the desired audio splitted.
Attached Images
 
__________________
BeHappy, AviSynth audio transcoder.
tebasuna51 is offline  
Old 13th February 2022, 02:49   #15133  |  Link
Overdrive80
Anime addict
 
Overdrive80's Avatar
 
Join Date: Feb 2009
Location: Spain
Posts: 673
I haven't used this program for a long time and I no longer remember what the parameters were to change the speed of the audio while preserving the pitch.

Code:
%_TEST.wav -25.000 -changeTo23.976 -down32
With that options in spectogram I see one shift of ~1 semitone.

what should I add? Thanks
__________________
Intel i7-6700K + Noctua NH-D15 + Z170A XPower G. Titanium + Kingston HyperX Savage DDR4 2x8GB + Radeon RX580 8GB DDR5 + ADATA SX8200 Pro 1 TB + Antec EDG750 80 Plus Gold Mod + Corsair 780T Graphite

Last edited by Overdrive80; 13th February 2022 at 03:04.
Overdrive80 is offline  
Old 13th February 2022, 03:23   #15134  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,890
With eac3to you can't preserve the pitch.

You can try with (for first audio track of INPUT):

ffmpeg -i "INPUT" -vn -af "atempo=0.959041" -acodec pcm_s32le "OUTPUT_TEST.wav"

Or with UsEac3to with CLP:
-af "atempo=0.959041" -acodec pcm_s32le
'A/V Recode'
'ReplaceENC'
'Decode to WAV'
__________________
BeHappy, AviSynth audio transcoder.
tebasuna51 is offline  
Old 14th February 2022, 13:44   #15135  |  Link
Overdrive80
Anime addict
 
Overdrive80's Avatar
 
Join Date: Feb 2009
Location: Spain
Posts: 673
Thanks Teba. (Teba, siempre dando soluciones, muchas gracias. Me alegro de leerte. Un abrazo.)
__________________
Intel i7-6700K + Noctua NH-D15 + Z170A XPower G. Titanium + Kingston HyperX Savage DDR4 2x8GB + Radeon RX580 8GB DDR5 + ADATA SX8200 Pro 1 TB + Antec EDG750 80 Plus Gold Mod + Corsair 780T Graphite
Overdrive80 is offline  
Old 22nd February 2022, 00:25   #15136  |  Link
XPEHOPE3
Registered User
 
Join Date: Jul 2019
Posts: 4
tebasuna51
hello_hello

The more ways to do it the better, especially if they are easily found by search
For me python isn't an issue since I already have it as a developer. And I hate VBS more than python

On a related note - is there a way to get cue file via eac3to from multiple VOB input?
Code:
eac3to.exe VIDEO_TS\VTS_03_1.VOB+VIDEO_TS\VTS_03_2.VOB+VIDEO_TS\VTS_03_3.VOB
XPEHOPE3 is offline  
Old 22nd February 2022, 08:37   #15137  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,753
The "cue file" for DVD Video media is the set of IFO files in the VIDEO_TS folder.

A sequence of VOB files may contain more than only "the movie" you want to process (e.g. FBI warning trailers, ads, anti-skip trick junk, etc.); if you want to ensure that eac3to can process "the movie" alone, the best way is to extract the Program Chain into a continuous "PGC VOB" which contains only the content of the movie how you expect to watch it, and nothing else (using one of the common DVD Rippers in "Movie" or "IFO" mode, or PGCDemux when you already extracted the files as they are). This doesn't need to get segmented into pieces of 1 GB max, it can be one large file on your harddisk with NTFS.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline  
Old 22nd February 2022, 12:08   #15138  |  Link
tebasuna51
Moderator
 
tebasuna51's Avatar
 
Join Date: Feb 2005
Location: Spain
Posts: 6,890
Like LigH say you a DVD can have many 'movies' inside.

I use MakeMKV to rip DVD's (can unprotect it also) from drive to hard disk and can obtain, see the image, a mkv for each 'Title' (movie, trailers, ads,...).

Of course you can select only the desired 'titles' and tracks in each.
After that you can use eac3to or other tool to manage the mkv's.
Attached Images
 
__________________
BeHappy, AviSynth audio transcoder.
tebasuna51 is offline  
Old 22nd February 2022, 16:45   #15139  |  Link
SeeMoreDigital
Life's clearer in 4K UHD
 
SeeMoreDigital's Avatar
 
Join Date: Jun 2003
Location: Notts, UK
Posts: 12,219
Jeez...

One of those 'titles' has 99 chapters
__________________
| I've been testing hardware media playback devices and software A/V encoders and decoders since 2001 | My Network Layout & A/V Gear |
SeeMoreDigital is offline  
Old 22nd February 2022, 19:27   #15140  |  Link
XPEHOPE3
Registered User
 
Join Date: Jul 2019
Posts: 4
That's probably offtopic, but...
I have a usual DVD folder. Among other things it contains a 96000/24 version of a 2-track album in VTS_03_0.IFO, VTS_03_1.VOB, VTS_03_2.VOB, VTS_03_3.VOB. The two tracks are spread over 3 VOB files. I was able to use PgcDemuxMod03 (thanks LigH!) to get the two tracks directly, or DoItFast4U.v.1.4.0 to get two VOB files and then eac3to to get 2 tracks. Then running foobar convert to multi-track files I can get an image + cue pair! (Cuetools won't do since format isn't 44100/16)

tebasuna51
Regarding MakeMKV: I've got these warnings on opening the top IFO:
Code:
Calculated BUP offset for VTS #0 does not match one in IFO header.
Calculated BUP offset for VTS #1 does not match one in IFO header.
Titleset start sector mismatch for titleset 1 : 3444 != 3443
Titleset start sector mismatch for titleset 2 : 10955 != 10954
Titleset start sector mismatch for titleset 3 : 1340580 != 1340579
Titleset start sector mismatch for titleset 4 : 2670186 != 2670185
Titleset start sector mismatch for titleset 5 : 3564405 != 3564404
Title #2 was added (2 cell(s), 0:43:40)
Title #3 was added (2 cell(s), 0:43:40)
Title #4 was added (2 cell(s), 0:43:40)
Resulting mkv file had chapter lengths different to previously obtained outputs (total length is equal).

Also I don't know why, but any DVD folder reader reports 0:43:40 as length but when I successfully demux audio (e.g. with PgcDemuxMod03) or remux it to mkv, I get length 0:43:43. I know that CD releases of the same album really are closer to 43:40, and the files I get are just silence-extended (either between chapters or at the end). So I'm not completely sure if I get correct output but non-silence audio data seems to be perfect.
XPEHOPE3 is offline  
Closed Thread

Tags
eac3to

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 07:24.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.