+ Reply to Thread
Results 61 to 90 of 95
-
Poison is there a way to generate directly the output.wav file by launching the script?
e.g.
VirtualDub.SaveWAV("o:temp.wav"); -
-
If you 're using the script , you have to use something to open it like selur said above.
I guess another option is ffmpeg to open the avs script e.g
ffmpeg -i input.avs -vn -acodec copy output.wav
vdub has a command line interface, but I'm not familar with it
It would be easier to do it all in ffmpeg (instead of avs script), but there is something different with the audio, I'm not quite sure what yet... -
Poison I write this, but it don't save automatically a .wav file:
vid= ffvideosource("v:\automazioneclip\input\audio.mxf" )
aud= ffaudiosource("v:\automazioneclip\input\audio.mxf" )
left = GetChannel(aud, 1)
right = GetChannel(aud, 2)
both=mergechannels(left, right)
audiodub(vid,both)
ConvertAudioTo16Bit()
VirtualDub.SaveWAV("c:\temp.wav")
This red line is wrong: [means.bmp]
I'm confusing language and syntax, but how should I do to fix the script?
Thank you -
Jeez, this would have been so much simpler in Audacity: File -> Import -> Audio (directly from the MXF file), delete the two unwanted tracks, Make Stereo Track, File -> Export (with desired container and codec).
By the way, looking (and listening) in more detail, tracks 2, 3 and 4 are identical. Track 1 appears to be a normal "front" mono track, the other three just a phase delayed reverb channel. You don't really want to make that stereo. If anything, make track 1 into left and right front channels, track 2 into a rear channel(s), and delete tracks 3 and 4.Last edited by jagabo; 19th May 2013 at 17:12.
-
vid= ffvideosource("v:\automazioneclip\input\audio.mxf" )
aud= ffaudiosource("v:\automazioneclip\input\audio.mxf" )
left = GetChannel(aud, 1)
right = GetChannel(aud, 2)
both=mergechannels(left, right)
audiodub(vid,both)
ConvertAudioTo16Bit()
SoundOut(output = "wav", filename="c:\outputFile.wav", type=0, format=1, autoclose=true, showprogress=true, overwritefile="yes")
This SEEMS work, and automatically generates the c:\outputFile.wav correct -
Maybe I think have a problem:
when I set the camera to record audio in 16bit mode, Avisynth don't read the .mxf files
[FFAUer.bmp]
when I set the camera to record audio in 24bit mode, Avisynth work ok
On my dropbox [(www.dropbox.com) ad logon into it with this credential: user: mrocchini@email.it password: centrale forlder: "public" ] I put 2 file:
AUDIO16bit.MXF
and
AUDIO24bit.MXF
In virtualdub, Avisynth don't read the AUDIO16bit.MXF (I have rename audio16bit.mxf to temp.mxf)
with this script:
vid= ffvideosource("v:\automazioneclip\input\temp.mxf" )
aud= ffaudiosource("v:\automazioneclip\input\temp.mxf" )
left = GetChannel(aud, 1)
right = GetChannel(aud, 2)
both=mergechannels(left, right)
audiodub(vid,both)
ConvertAudioTo16Bit()
meanwhile it's all ok with the 24bit one .
Trying to remove the ConvertAudioTo16Bit() the problem remains.
Anyone have idea to resolve?
thanks!! -
It's easier to batch automate ffmpeg or some CLI tool. Avisynth would require you to generate a script for each file, yes there are avisynth batch scripting tools, but CLI tools are to batch . But there is that problem with mixing with ffmpeg - it might better if you piped it to sox to do the mixing
You can't batch automate anything if the track numbering is going to be different each time. 1,2 for the 1st, but 2,3,4 for the 2nd. If you mix the wrong track...
I think ffms2 might be having problems because the 1st track is silent . You can open it with directshowsource() if you have lav filters installed and configured properly
Code:main = DirectShowSource("AUDIO16Bit.MXF") left = GetChannel(main, 2) right = GetChannel(main, 3) both = MergeChannels(left, right) AudioDub(main,both)
You can't batch anything if the script is going to be slightly different, different track numbers each time -
Except you said above that it was (originally) 24bit, and that dialog only allows 16bit. Maybe because it is "no change" it is still retaining 24bit WAV but using the wrong WAVEFORMAT designator, and your player can't/won't handle it correctly because of that. Unless you did process the streams in a script first (couldn't tell from the thread which path you've chosen to take, it jumps around alot).
Check with MediaInfo to see what is showing up on output, then work backwards.
Scott -
Poison Thanks,
with DirectShowSource wrapper I can achieve audio from .mxf/16bit audio files but strangely the audio output have some little "bug" of no audio for 1 frame every 5-6 seconds
I think is a problem difficult to resolve with this wrapper.
Meanwile FFMS2 don't work with 16bit audio files.
Is there another way to read 16bit audio .mxf files?
or can the problem solving with enanchement to the settings of FFMS2?
or another way?
thanks!! -
The audio sounded fine in your sample file (but it was only ~6.5 sec), or did you test another , longer sample ?
I don't know of another way in avisynth to load mxf . You can use one of the other non avisynth methods
Maybe try different ffms2 versions (there are some beta versions, maybe they "fixed" this issue, not sure) -
If you demux the audio from mxf, ffaudiosource() or wavesource() can read the demuxed audio ok
eg.
ffmpeg -i audio16bit.mxf -vn -acodec copy demuxed.wav
This suggests the problem with ffaudiosource is with the mxf wrapper .
Seems like too many steps to batch automate this process using avisynth -
This ffms2 build will open the audio16bit.mxf file natively
http://forum.doom9.org/showthread.php?p=1607732#post1607732
Note it's a CPlugin (not vanilla), but the .avsi will audio load it -
Poison in the meantime I have try the
ffms2-r725-icl-2.7z
and it seems work well with 24 and 16 bit .mxf files.
However thanks for the interesting, it seems all ok -
vid= ffvideosource("v:\automazioneclip\input\temp.mxf" )
aud= ffaudiosource("v:\automazioneclip\input\temp.mxf" )
left = GetChannel(aud, 1)
right = GetChannel(aud, 2)
both=mergechannels(left, right)
audiodub(vid,both)
AmplifydB(5)
ConvertAudioTo16Bit()
SoundOut(output = "wav", filename="v:\automazioneclip\output\temp.wav", type=0, format=1, autoclose=true, showprogress=true, overwritefile="yes")
is there a way to apply the AmplifydB only on the left channel, or right channel?
or if I want to apply a gentle AGC only to the left or right channel? -
Apply AmplyfydB to the channel you want before merging:
Code:left = GetChannel(aud, 1).AmplifydB(5)
-
Hi again anyone,
on my dropbox (www.dropbox.com user: mrocchini@email.it pass: centrale folder "pudblic" file: C0025.MXF)
I have put the C0025.MXF that is a recording in DVCAM mode, but it's strange that the same procedure to open audio part of IMX-.MXF files don't open also the DVCAM-.MXF files
I try to open with virtualdub/avisynth the C0025.MXF with this .avs script:
vid= ffvideosource("v:\automazioneclip\input\C0025.mxf" )
aud= ffaudiosource("v:\automazioneclip\input\C0025.mxf" )
left = GetChannel(aud, 1).AmplifydB(0)
right = GetChannel(aud, 2).AmplifydB(0)
both=mergechannels(left, right)
audiodub(vid,both)
AmplifydB(0)
ConvertAudioTo16Bit()
SoundOut(output = "wav", filename="v:\automazioneclip\output\temp.wav", type=0, format=1, autoclose=true, showprogress=true, overwritefile="yes")
but I get many error [dvcamer.jpg]
In avisynth I have installed the ffms2-r725-icl-2 version
At the moment I have no found on the web the R739 version
Seems the FFMS can not read this dvcam-mode .mxf files
Is there a way to resolve? -
I have to open the audio parts only, I would like achieve one stereo .wav file L+R PCM 48.000Hz 16bit separate channel as above
-
The above fails, since unlike you samples before this one does not have a single Audio track with multiple channels, but multiple audio tracks with one channel. Therefore the avisynth script fails when trying to extract two channels from a track with just one channel.
->quick look at the manual reveals :
FFAudioSource(string source, int track = -1, bool cache = true,
string cachefile = source + ".ffindex", int adjustdelay = -1, bool utf8 = false,
string varprefix = "")
Code:aud= ffaudiosource("v:\automazioneclip\input\C0025.mxf" ) left = GetChannel(aud, 1).AmplifydB(0) right = GetChannel(aud, 2).AmplifydB(0)
Code:left = ffaudiosource("v:\automazioneclip\input\C0025.mxf", track = 1) right = ffaudiosource("v:\automazioneclip\input\C0025.mxf", track = 2)
-
-
Oh no sorry, I'm the ewe
this is the entire correct script:
vid= ffvideosource("v:\automazioneclip\input\C0025.mxf" )
left = ffaudiosource("v:\automazioneclip\input\C0025.mxf" , track = 1)
right = ffaudiosource("v:\automazioneclip\input\C0025.mxf" , track = 2)
both=mergechannels(left, right)
audiodub(vid,both)
ConvertAudioTo16Bit()
SoundOut(output = "wav", filename="v:\automazioneclip\output\temp.wav", type=0, format=1, autoclose=true, showprogress=true, overwritefile="yes") -
Similar Threads
-
aviSynth, VirtualDub & filters ...
By AEN007 in forum Video ConversionReplies: 101Last Post: 9th Dec 2013, 15:19 -
Audio Synch Problems AVISynth to Virtualdub
By magillagorilla in forum AudioReplies: 15Last Post: 19th Sep 2011, 23:05 -
Confusion with DGIndex, AviSynth, VirtualDub and audio files
By fatcharlie in forum Newbie / General discussionsReplies: 10Last Post: 1st Mar 2011, 15:49 -
Is there a way to use avisynth plugins/filters within Virtualdub?
By Milardo in forum EditingReplies: 5Last Post: 5th Jan 2011, 03:52 -
BD to AviSynth (Or VirtualDub/VirtualDubMod) ???
By RogerTango in forum Blu-ray RippingReplies: 4Last Post: 3rd Jan 2009, 08:31