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 > Programming and Hacking > Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 16th August 2012, 22:17   #741  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
Of course your reply is not really satisfactory for me, so I did a little research...

Apple Application Support can be extracted from QuickTime or iTunes and can be installed separately, but it is still bloated. It uses more than 60 MB on the HDD, it installs an autorun entry for APSDaemon.exe, and it adds a Windows Firewall exception for WebKit. A little much for my taste.

Since oreons succeeded in making MkvToMp4 use qaac without installing Apple Application Support, my first attempt was to make LameXP use the CoreAudio files from MkvToMp4. But this did not work so far.

The second best approach was to install Apple Application Support, but strip it down to only the essential files. And this did work...


This is the procedure:

1. Download QuickTime or iTunes, open the file with 7-Zip and extract AppleApplicationSupport.msi. Install it by doubleclicking it.

2. Open RegEdit, go to HKLM/Software/Microsoft/Windows/CurrentVersion/Run and delete the entry for APSDaemon.

3. Open your Firewall settings and remove the exception for WebKit.

4. Run Explorer, navigate to Program Files/Common Files/Apple/Apple Application Support. Delete all subfolders. Delete all files in the root folder except:
ASL.dll
CoreAudioToolbox.dll
CoreFoundation.dll
icudt46.dll
libdispatch.dll
libicuin.dll
libicuuc.dll
obj.dll
pthreadVC2.dll


5. Reboot


The size of your Apple folder will now be only 23 MB, and the software will not make home calls any more...


Cheers
manolito
manolito is offline   Reply With Quote
Old 16th August 2012, 22:42   #742  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
You really worry about 60 MB in times where the OS alone easily takes 10-15 GB of HDD space?

Anyway, if you want to be really paranoid and avoid installing Apple Application Support by all means, you can extract the CoreAudioToolbox DLL files from the "AppleApplicationSupport.msi" file via 7-Zip.

Put them into a sub-folder called "QTfiles" which you create inside the directory where the "qaac.exe" resides and you are done. There is no MkvToMp4 "magic" needed for that...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 16th August 2012 at 22:49.
LoRd_MuldeR is offline   Reply With Quote
Old 16th August 2012, 23:31   #743  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
Quote:
You really worry about 60 MB in times where the OS alone easily takes 10-15 GB of HDD space?
It is not so much the size as the "Call-Home" feature. And I remember some person quite recently also had strong reservations against installing this kind of software:
Quote:
About iTunes: The only thing I can say is that personally I wouldn't infect my computer with a mess like iTunes or QuickTime...

Quote:
Originally Posted by LoRd_MuldeR View Post
you can extract the CoreAudioToolbox DLL files from the "AppleApplicationSupport.msi" file via 7-Zip.

Put them into a sub-folder called "QTfiles" which you create inside the directory where the "qaac.exe" resides and you are done. There is no MkvToMp4 "magic" needed for that...
That would have been nice, but it does not work. Using the latest LameXP beta, qaac addin version from 05-08-2012. Still getting the error
Quote:
QAAC version couldn't be determined -> QAAC support will be disabled!

Cheers
manolito


//Edit//
Alright, I think I figured it out...
The subfolder QTfiles needs another subfolder called "Microsoft.VC80.CRT" which must contain the files
msvcr80.dll
msvcp80.dll
Microsoft.VC80.CRT.manifest


It looks like the easiest way to make this work under LameXP is to pull the whole QTFiles folder from MkvToMp4 and copy it into the LameXP folder.

Last edited by manolito; 16th August 2012 at 23:50.
manolito is offline   Reply With Quote
Old 16th August 2012, 23:51   #744  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
It does work for me. Tested on a "clean" VM.

Make sure "qaac.exe" as well as "libsoxrate.dll" are located in your LameXP directory. All the CoreAudioToolbox DLL's go into a sub-folder "QTfiles".

You may verify that QAAC is working properly by running "qaac.exe --check" from the LameXP directory...

[EDIT]

Indeed, the Apple Application Support DLL's depend on the Visual C++ 2005 Runtime libraries. Thus you will need the Microsoft Visual C++ 2005 Redistributable Package, if you happen to not have that installed yet.

Also you don't need a "special" QAAC binary from MkvToMp4, the build included in the LameXP Add-in should work fine. The CoreAudioToolbox DLL's need to be obtained from Apple web-site for legal reasons...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 17th August 2012 at 00:29.
LoRd_MuldeR is offline   Reply With Quote
Old 17th August 2012, 01:06   #745  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
Quote:
Originally Posted by LoRd_MuldeR View Post
Indeed, the Apple Application Support DLL's depend on the Visual C++ 2005 Runtime libraries. Thus you will need the Microsoft Visual C++ 2005 Redistributable Package, if you happen to not have that installed yet.
Well, I do not have a "Clean Machine", but I do have several versions of the VC runtimes installed. Whenever an application needed to install a VC runtime, I let it do it. And my Windows updates are done through WSUSOffline, so my VC redistributables are always up to date. My uninstall window looks like this:


Still qaac refused to work without the "Microsoft.VC80.CRT" subfolder under the Qtfiles folder. Oh well...

I've got another request, though. When more than one AAC encoder is installed, FHG takes precedence over Nero, and qaac takes precedence over FHG. For people like me who always love to have choices, would it be possible to add a selection box to LameXP so if more than one AAC encoder is installed we could easily pick the one we want from within the GUI?



Cheers
manolito
manolito is offline   Reply With Quote
Old 17th August 2012, 12:17   #746  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
The VS2005 and VS2008 runtime libraries are handled by WinSxS (Windows Side-by-Side) and thus they actually need to be installed. Just putting the runtime DLL's into the application directory won't work with these VS versions. Once the VS2005/VS2008 redistributable package has been installed, WinSxS will take care of providing each applications with the proper DLL (version). Also Windows Update will take care of keeping the DLL's managed by WinSxS up-to-date. It is also possible to provide assemblies (DLL files) as "private assemblies" by putting them into a specific sub-folder along with a suitable Manifest file. This is intended for assemblies that, unlike the C++ Runtime libs, are not supposed to be used by multiple applications. Starting with VS2010, the C++ Runtime libs are no longer maintained by WinSxS though.

About adding an option to choose the AAC encoder at runtime: This certainly would be possible, but it would be yet another complication. I see that such an option would be nice for switching between the different encoders quickly, in case you are doing some encoder comparison. But most users will probably install their preferred AAC encoder once and then stick with it. If, for example, somebody installs the Add-in for FHG-AAC or for QAAC, we can be pretty sure the user actually wants to use that encoder...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 17th August 2012 at 13:41.
LoRd_MuldeR is offline   Reply With Quote
Old 17th August 2012, 18:16   #747  |  Link
GrofLuigi
Member of a Library
 
Join Date: Oct 2002
Posts: 463
From using Safari on Windows (and thus AAS) i know that it requires a very fresh version of VS redistributables. Probably the "ATL security update" or even later. It is compiled that way.

GL
GrofLuigi is offline   Reply With Quote
Old 17th August 2012, 20:29   #748  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
LameXP v4.05 Beta-4

Quote:
Changes between v4.04 and v4.05:
* Added support for Opus Audio Codec, based on Opus-Tools v0.1.4 (2012-08-16) by Xiph.org/Mozilla
* Added Swedish translation, thanks to Åke Engelbrektson <eson57@gmail.com>
* Updated Qt runtime libraries to v4.8.2 (2012-05-22), compiled with MSVC 10.0
* Updated mpg123 decoder to v1.14.4 (2012-07-26), compiled with GCC 4.6.1
* Updated MediaInfo to v0.7.59 (2012-08-08), compiled with ICL 12.1.7 and MSVC 10.0
* Updated optional add-ins for QAAC encoder and FHG AAC encoder (see FAQ doc for details)
* Updated DCA Enc to v2 (2012-04-19), compiled with ICL 12.1.7 and MSVC 10.0
* Implemented multi-threading in file analyzer for faster file import (about 2.5x to 6.0x faster!)
* Implemented multi-threading in initialization code for faster application startup
* Fixed a potential crash (stack overflow) when adding a huge number of files
* Fixed a problem with Cue Sheet import and files that contain trailing dots in their name
* Workaround for a bug (feature?) of Qt's command-line parser that screwed up some arguments
Note: This update also fixes a regression, introduced in v4.05 Alpha-1, which could cause multiple temporary folders to be created in your %TEMP% directory, but only one of them gets clean-up.
If you used any of the previous LameXP v4.05 Alpha/Beta versions, then it is highly recommended that you check your %TEMP% directory and clean it up manually, if required...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 21st August 2012 at 23:13.
LoRd_MuldeR is offline   Reply With Quote
Old 17th August 2012, 21:21   #749  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
Re: qaac support

Just a quick note for users of the stable version 4.04:
Quote:
Make sure "qaac.exe" as well as "libsoxrate.dll" are located in your LameXP directory. All the CoreAudioToolbox DLL's go into a sub-folder "QTfiles".
This method also works with version 4.04 using the LameXP.qaac-addin.2012-03-06.zip.

And it is not necessary to copy All the CoreAudioToolbox DLL's. Only these 9 files need to be copied:
ASL.dll
CoreAudioToolbox.dll
CoreFoundation.dll
icudt46.dll
libdispatch.dll
libicuin.dll
libicuuc.dll
obj.dll
pthreadVC2.dll




Cheers
manolito
manolito is offline   Reply With Quote
Old 21st August 2012, 23:16   #750  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
LameXP v4.05 RC-1

Quote:
Changes between v4.04 and v4.05:
* Added support for Opus Audio Codec, based on Opus-Tools v0.1.4 (2012-08-16) by Xiph.org/Mozilla
* Added Swedish translation, thanks to Åke Engelbrektson <eson57@gmail.com>
* Updated Qt runtime libraries to v4.8.2 (2012-05-22), compiled with MSVC 10.0
* Updated mpg123 decoder to v1.14.4 (2012-07-26), compiled with GCC 4.6.1
* Updated MediaInfo to v0.7.59 (2012-08-08), compiled with ICL 12.1.7 and MSVC 10.0
* Updated optional add-ins for QAAC encoder and FHG AAC encoder (see FAQ doc for details)
* Updated DCA Enc to v2 (2012-04-19), compiled with ICL 12.1.7 and MSVC 10.0
* Updated language files (big thank-you to all contributors !!!)
* Implemented multi-threading in file analyzer for faster file import (about 2.5x to 6.0x faster!)
* Implemented multi-threading in initialization code for faster application startup
* Fixed a potential crash (stack overflow) when adding a huge number of files
* Fixed a problem with Cue Sheet import and files that contain trailing dots in their name
* Workaround for a bug (feature?) of Qt's command-line parser that screwed up some arguments
If you found any regressions in version 4.05, please report now
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 22nd August 2012 at 22:56.
LoRd_MuldeR is offline   Reply With Quote
Old 22nd August 2012, 11:32   #751  |  Link
Atak_Snajpera
RipBot264 author
 
Atak_Snajpera's Avatar
 
Join Date: May 2006
Location: Poland
Posts: 7,806
Opus encoding does not work in ABR mode

Code:
LameXP v4.05 (Build #1094), compiled on 2012-08-21 at 21:38:19

-------------------------------

C:/Users/Mama/AppData/Local/Temp/fb867800d75349b5bf17ed998fe27c63/lxp_flac.exe -d -F -f -o C:\Users\Mama\AppData\Local\Temp\fb867800d75349b5bf17ed998fe27c63\332ef1f30da44ea89ed1890f46a613a8.wav "C:\Users\Mama\Desktop\CryptidaliaFLAC\Rom Di Prisco\Cryptidalia\01 - Troposphere.flac"

flac 1.2.1, Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson
flac comes with ABSOLUTELY NO WARRANTY. This is free software, and you are
welcome to redistribute it under certain conditions. Type `flac' for details.

Exited with code: 0x0000

-------------------------------

C:/Users/Mama/AppData/Local/Temp/fb867800d75349b5bf17ed998fe27c63/lxp_sox.exe --i C:/Users/Mama/AppData/Local/Temp/fb867800d75349b5bf17ed998fe27c63/332ef1f30da44ea89ed1890f46a613a8.wav

Input File : 'C:/Users/Mama/AppData/Local/Temp/fb867800d75349b5bf17ed998fe27c63/332ef1f30da44ea89ed1890f46a613a8.wav'
Channels : 2
Sample Rate : 44100
Precision : 16-bit
Duration : 00:05:39.26 = 14961152 samples = 25444.1 CDDA sectors
File Size : 59.8M
Bit Rate : 1.41M
Sample Encoding: 16-bit Signed Integer PCM

Exited with code: 0x0000

-------------------------------

C:/Users/Mama/AppData/Local/Temp/fb867800d75349b5bf17ed998fe27c63/lxp_opusenc_ea7.exe -cvbr --music --comp 10 --framesize 20 --bitrate 64 --title Troposphere --artist "Rom Di Prisco" --comment album=Cryptidalia --comment genre=Electronic --comment "comment=Encoded with LameXP" --comment date=2010 --comment track=1 C:\Users\Mama\AppData\Local\Temp\fb867800d75349b5bf17ed998fe27c63\332ef1f30da44ea89ed1890f46a613a8.wav "C:\Users\Mama\Desktop\CryptidaliaFLAC\01 - Troposphere (3).opus"

Usage: opusenc [options] input_file output_file.opus
Encodes input_file using Opus. It can read the WAV, AIFF, or raw files.
General options:
-h, --help This help
-v, --version Version information
--quiet Quiet mode
input_file can be:
filename.wav file
- stdin
output_file can be:
filename.opus compressed file
- stdout
Encoding options:
--speech Optimize for speech
--music Optimize for music
--bitrate n.nnn Encoding bitrate in kbit/sec (6-256 per channel)
--vbr Use variable bitrate encoding (default)
--cvbr Use constrained variable bitrate encoding
--hard-cbr Use hard constant bitrate encoding
--comp n Encoding complexity (0-10, default: 10)
--framesize n Maximum frame size in milliseconds
(2.5, 5, 10, 20, 40, 60, default: 20)
--expect-loss Percentage packet loss to expect (default: 0)
--downmix-mono Downmix to mono
--downmix-stereo Downmix to stereo (if >2 channels)
--max-delay n Maximum container delay in milliseconds
(0-1000, default: 1000)
Diagnostic options:
--save-range file Saves check values for every frame to a file
--set-ctl-int x=y Pass the encoder control x with value y (advanced)
Preface with s: to direct the ctl to multistream s
This may be used multiple times
--uncoupled Use one mono stream per channel
Metadata options:
--comment Add the given string as an extra comment
This may be used multiple times
--artist Author of this track
--title Title for this track
Input options:
--raw Raw input
--raw-bits n Set bits/sample for raw input (default: 16)
--raw-rate n Set sampling rate for raw input (default: 48000)
--raw-chan n Set number of channels for raw input (default: 2)
--raw-endianness n 1 for bigendian, 0 for little (defaults to 0)
--ignorelength Always ignore the datalength in Wave headers
C:\Users\Mama\AppData\Local\Temp\fb867800d75349b5bf17ed998fe27c63\lxp_opusenc_ea7.exe: invalid option -- c

Exited with code: 0x0001

Regarding opus advanced settings



--music and --speech switch will be removed in official final version according to devs

Last edited by Atak_Snajpera; 22nd August 2012 at 11:38.
Atak_Snajpera is offline   Reply With Quote
Old 22nd August 2012, 12:07   #752  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Thank you for the report. LameXP is passing "-cvbr", while it should be passing "--cvbr". I will fix this typo in the next build

Also I probably won't update the Opus binaries again before the 4.05 release, so "--music" and "--speech" will stay for now (although they don't do much, they don't hurt either).
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊
LoRd_MuldeR is offline   Reply With Quote
Old 22nd August 2012, 12:14   #753  |  Link
Atak_Snajpera
RipBot264 author
 
Atak_Snajpera's Avatar
 
Join Date: May 2006
Location: Poland
Posts: 7,806
Quote:
Also I probably won't update the Opus binaries again before the 4.05 release, so "--music" and "--speech" will stay for now (although they don't do much, they don't hurt either).
As the matter of fact those switches do nothing so i would remove them anyway. I think it is better to just allow for Hybrid mode where encoder can dynamically switch between SILK and CELT modes.

Another thing. I wonder why user would like to lower Encoding Complexity and Frame Size?

Last edited by Atak_Snajpera; 22nd August 2012 at 12:16.
Atak_Snajpera is offline   Reply With Quote
Old 22nd August 2012, 12:20   #754  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
They do something. Though not what one may expect.

Quote:
Originally Posted by 2012
Opus operates in 3 modes:

1) SILK only.
2) Hybrid.
3) CELT only.

The mode is selected based on requested bitrate/quality. Not based on the nature of content as one might think.

All --speech and --music do (at this point) is shift the mode decision lower or higher (in that order).
Quote:
Originally Posted by Atak_Snajpera View Post
Another thing. I wonder why user would like to lower Encoding Complexity and Frame Size?
Trade speed for quality, similar to the LAME algorithm quality option.
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 22nd August 2012 at 12:24.
LoRd_MuldeR is offline   Reply With Quote
Old 22nd August 2012, 12:24   #755  |  Link
Atak_Snajpera
RipBot264 author
 
Atak_Snajpera's Avatar
 
Join Date: May 2006
Location: Poland
Posts: 7,806
http://www.hydrogenaudio.org/forums/...dpost&p=805845

Quote:
Trade speed for quality, similar to the LAME algorithm quality option.
is this really a problem for current cpus? I would like to see an user who lowers encoding quality due to slow encoding times

Last edited by Atak_Snajpera; 22nd August 2012 at 12:28.
Atak_Snajpera is offline   Reply With Quote
Old 22nd August 2012, 12:41   #756  |  Link
Atak_Snajpera
RipBot264 author
 
Atak_Snajpera's Avatar
 
Join Date: May 2006
Location: Poland
Posts: 7,806
Another question. Why LameXP always dumps everything first to .wav instead of just using pipes? My HDD is old and slow and this is really a noticeable bottleneck when running 4 instances on my Q8200@2.8Ghz
Atak_Snajpera is offline   Reply With Quote
Old 22nd August 2012, 12:54   #757  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Because using pipes would require all encoders and all decoders to support reading input from STDIN and writing output to STDOUT.

Also: Even if we assume all tools could to this, what do you send over the pipe? Just the "raw" PCM samples? If so, how do you indicate the sample format? Does the GUI need to know the sample format the previous tool outputs (how?) and pass that info to the next tool in the chain via CLI arguments? Or does the previous tool have to prepend a "fake" Wave header (or whatever header) to the data, which the next tools is required to parse? Who defines all this and enforces the individual tool authors to make use of it? In reality, every audio CLI tools does things slightly differently. And I cannot fix or re-write them all!

After all, using Wave files seems to be the "least common denominator" for exchanging audio data between various CLI tools. Using pipes might be more elegant, but suffers from a lot of practical problems...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 22nd August 2012 at 13:01.
LoRd_MuldeR is offline   Reply With Quote
Old 22nd August 2012, 13:03   #758  |  Link
Atak_Snajpera
RipBot264 author
 
Atak_Snajpera's Avatar
 
Join Date: May 2006
Location: Poland
Posts: 7,806
Quote:
Because using pipes would require that all encoders and all decoders to support reading input from STDIN and writing output to STDOUT.
I have not checked yet but probably most of encoders support stdin . For the rest you can use oldschool method

Quote:
Also: Even if we assume all tools could to this, what do you send over the pipe? Just the "raw" PCM samples? If so, how do you indicate the sample format? Does the GUI need to know the sample format and pass it to the next tool in the chain via CLI arguments? Or does the previous tool have to prepend a "fake" Wave header (or whatever header) to the data? Who defines all this and enforces the individual tool authors to make use of it?
No you send as .wav obviously. Have you tried ffmpeg as decoder?
Atak_Snajpera is offline   Reply With Quote
Old 22nd August 2012, 13:07   #759  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Quote:
Originally Posted by Atak_Snajpera View Post
is this really a problem for current cpus? I would like to see an user who lowers encoding quality due to slow encoding times
Encoding speed might matter more, when you convert a large number of audio files. Assume you have all your music collection with hundreds or thousands of files in format A on your HDD, but now your new standalone-player only accepts format B, so you have to convert them all. This can easily take several hours and then a 1.5x or 2x speed-up can matter a lot!

Also: In case of LAME, the default/recommended "algorithm complexity" is not the slowest one, but the third slowest one. We certainly can't force all people to use the slowest settings, because benefit over the default settings will be minimal while encoding-speed will be a lot slower. Still some people don't care about speed and might want to user even slower settings than the default.

Quote:
Originally Posted by Atak_Snajpera View Post
No you send as .wav obviously. Have you tried ffmpeg as decoder?
Sending Wave/RIFF files over a pipe is technically impossible, because of how the RIFF format is defined. The size of each Chunk must be defined at the beginning of each Chunk, but at the moment when you start writing a Chunk you very often cannot know how big it will be in the end. With a physical file, you simply can seek back and "fix" the Chunk header at the very end. With a pipe you obviously can't!

You can send some kind of "fake" Wave header (with "blank" size fields), indeed. But this requires the next tool in the chain to (a) expect a Wave header over the pipe and (b) know about your hack...

Quote:
Originally Posted by Atak_Snajpera View Post
I have not checked yet but probably most of encoders support stdin.
Many decoders don't support writing to STDOUT, especially for the more exotic formats. Or they don't write to STDOUT in the "format" we would like to have.

Quote:
Originally Posted by Atak_Snajpera View Post
For the rest you can use oldschool method
Supporting both methods, passing the data by Wave files and via Pipe, would add even more complexity plus more things to test - for every single CLI tool. No, thanks

Also: If the data is passed via pipe, how does the GUI determine the sample format that comes out of the decoder?

The GUI has to know this, because sometimes the output format (e.g. sample-rate or bit-depth) the decoder spits out is not acceptable for the encoder and we need to convert via SoX!
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 22nd August 2012 at 13:19.
LoRd_MuldeR is offline   Reply With Quote
Old 22nd August 2012, 13:24   #760  |  Link
Atak_Snajpera
RipBot264 author
 
Atak_Snajpera's Avatar
 
Join Date: May 2006
Location: Poland
Posts: 7,806
here is how i convert .FLAC to lossy formats without intermediate .wavs

.FLAC to .OPUS
Code:
ffmpeg.exe -i "01 - Troposphere.flac" -f wav - | "opusenc.exe" --bitrate 64 - "01 - Troposphere.opus"
.FLAC to .OGG VORBIS
Code:
ffmpeg.exe -i "01 - Troposphere.flac" -f wav - | "oggenc.exe" -Q -q 0 - -o "01 - Troposphere.ogg"
.FLAC to .AAC
Code:
ffmpeg.exe -i "01 - Troposphere.flac" -f wav - | "fhgaacenc.exe" --profile he --cbr 64 --adts --ignorelength - "01 - Troposphere.aac"
.FLAC to .AC3
Code:
ffmpeg.exe -i "01 - Troposphere.flac" -f wav - |  "aften.exe" -readtoeof 1 -b 192 - "01 - Troposphere.ac3"

Last edited by Atak_Snajpera; 22nd August 2012 at 13:49.
Atak_Snajpera is offline   Reply With Quote
Reply

Tags
aac, aotuv, flac, lame, lamexp, mp3, mp4, ogg, oggenc, opus, vorbis

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 12:43.


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