kakomu
9th November 2011, 17:41
I've been working on a batching pipeline to encode audio formats from one format to another.
I had been using eac3to in a 2 step process to encode DTS HD audio by first extracting the DTS core into a separate file, before using eac3to again to pipe into another program (this way I can apply filters from eac3to such as stereo conversion and whatnot). I wanted to try to condense this process into a single step without any intermediary files that need to be cleaned up.
I had used MeGUI recently to see what kinds of methods it uses and I see that DTS-HD and DTS audio would use nicaudio (more specifically nicdtssource) as the input source of an avisynth file. So, I decided to give that a whirl. I downloaded a DTS-HD Master Audio sample from here (http://www.demo-world.eu/trailers/high-definition-trailers.php) and started playing with the audio.
I used the following avisynth script for basic dts serving via avisynth:
LoadPlugin("D:\Programs\Video\megui\tools\avisynth_plugin\NicAudio.dll")
NicDtsSource("D:\Projects\audio\hd_dts_orchestra_long_lossless.track_4352.dts")
It runs just fine in Media Player Classic Home Cinema. However, FFMpeg immediately crashes if I try to use the above script. I used the following (simple) command to run the file:
"D:\path\to\ffmpeg.exe" -i "D:\path\to\dts.avs"
This is a Windows crash (as opposed to FFMpeg encountering an error).
If I swap NicDtsSource with directshowsource, FFMpeg is able to read the file. I've tried this out on two separate computers and both had the same results.
At first, I thought it may have been the fact that it was DTS HD, so I extracted the DTS core using eac3To and tried the same avisynth script with that file and FFMpeg crashed again.
I replaced NicDTSSource with NicAC3Source and used a couple different AC3 files as sources and FFMpeg crashed again. However, using an mp3 with NicMPG123Source resulted in a proper read.
Am I doing something wrong with NicAudio or FFMpeg?
Ultimately, my purpose is to just use FFMpeg as a decoder and pipe the audio from FFMpeg into another program for encoding. I tried using AVISynth for the ability to modify the audio down the line (e.g. stereo and sample rate conversions). Would another program fit the bill?
I had been using eac3to in a 2 step process to encode DTS HD audio by first extracting the DTS core into a separate file, before using eac3to again to pipe into another program (this way I can apply filters from eac3to such as stereo conversion and whatnot). I wanted to try to condense this process into a single step without any intermediary files that need to be cleaned up.
I had used MeGUI recently to see what kinds of methods it uses and I see that DTS-HD and DTS audio would use nicaudio (more specifically nicdtssource) as the input source of an avisynth file. So, I decided to give that a whirl. I downloaded a DTS-HD Master Audio sample from here (http://www.demo-world.eu/trailers/high-definition-trailers.php) and started playing with the audio.
I used the following avisynth script for basic dts serving via avisynth:
LoadPlugin("D:\Programs\Video\megui\tools\avisynth_plugin\NicAudio.dll")
NicDtsSource("D:\Projects\audio\hd_dts_orchestra_long_lossless.track_4352.dts")
It runs just fine in Media Player Classic Home Cinema. However, FFMpeg immediately crashes if I try to use the above script. I used the following (simple) command to run the file:
"D:\path\to\ffmpeg.exe" -i "D:\path\to\dts.avs"
This is a Windows crash (as opposed to FFMpeg encountering an error).
If I swap NicDtsSource with directshowsource, FFMpeg is able to read the file. I've tried this out on two separate computers and both had the same results.
At first, I thought it may have been the fact that it was DTS HD, so I extracted the DTS core using eac3To and tried the same avisynth script with that file and FFMpeg crashed again.
I replaced NicDTSSource with NicAC3Source and used a couple different AC3 files as sources and FFMpeg crashed again. However, using an mp3 with NicMPG123Source resulted in a proper read.
Am I doing something wrong with NicAudio or FFMpeg?
Ultimately, my purpose is to just use FFMpeg as a decoder and pipe the audio from FFMpeg into another program for encoding. I tried using AVISynth for the ability to modify the audio down the line (e.g. stereo and sample rate conversions). Would another program fit the bill?