mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-10-27 22:42:38 +01:00
Waveform generation can now uses current audio track (vlc only atm)
git-svn-id: https://subtitleedit.googlecode.com/svn/trunk@2089 99eadd0c-20b8-1223-b5c4-2a2b2df33de2
This commit is contained in:
parent
d772993173
commit
f945f00e5a
@ -17,6 +17,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
public List<Bitmap> SpectrogramBitmaps { get; private set; }
|
||||
private string _encodeParamters;
|
||||
private const string RetryEncodeParameters = "acodec=s16l";
|
||||
private int _audioTrackNumber = -1;
|
||||
|
||||
public AddWareForm()
|
||||
{
|
||||
@ -27,8 +28,11 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
|
||||
public WavePeakGenerator WavePeak { get; private set; }
|
||||
|
||||
public void Initialize(string videoFile, string spectrogramDirectory)
|
||||
public void Initialize(string videoFile, string spectrogramDirectory, int audioTrackNumber)
|
||||
{
|
||||
_audioTrackNumber = audioTrackNumber;
|
||||
if (_audioTrackNumber < 0)
|
||||
_audioTrackNumber = 0;
|
||||
Text = Configuration.Settings.Language.AddWaveForm.Title;
|
||||
buttonRipWave.Text = Configuration.Settings.Language.AddWaveForm.GenerateWaveFormData;
|
||||
labelPleaseWait.Text = Configuration.Settings.Language.AddWaveForm.PleaseWait;
|
||||
@ -47,7 +51,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
SourceVideoFileName = labelVideoFileName.Text;
|
||||
string targetFile = Path.GetTempFileName() + ".wav";
|
||||
// string parameters = "-I dummy -vvv \"" + SourceVideoFileName + "\" --sout=#transcode{vcodec=none,acodec=s16l}:file{dst=\"" + targetFile + "\"} vlc://quit";
|
||||
string parameters = "-I dummy -vvv --no-sout-video --sout #transcode{" + _encodeParamters + "}:std{mux=wav,access=file,dst=\"" + targetFile + "\"} \"" + SourceVideoFileName + "\" vlc://quit";
|
||||
string parameters = "-I dummy -vvv --no-sout-video --audio-track=" + _audioTrackNumber.ToString() + " --sout #transcode{" + _encodeParamters + "}:std{mux=wav,access=file,dst=\"" + targetFile + "\"} \"" + SourceVideoFileName + "\" vlc://quit";
|
||||
|
||||
|
||||
|
||||
@ -55,7 +59,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
if (Utilities.IsRunningOnLinux() || Utilities.IsRunningOnMac())
|
||||
{
|
||||
vlcPath = "cvlc";
|
||||
parameters = "-vvv --no-sout-video --sout '#transcode{" + _encodeParamters + "}:std{mux=wav,access=file,dst=" + targetFile + "}' \"" + SourceVideoFileName + "\" vlc://quit";
|
||||
parameters = "-vvv --no-sout-video --audio-track=" + _audioTrackNumber.ToString() + " --sout '#transcode{" + _encodeParamters + "}:std{mux=wav,access=file,dst=" + targetFile + "}' \"" + SourceVideoFileName + "\" vlc://quit";
|
||||
}
|
||||
else // windows
|
||||
{
|
||||
|
@ -13770,7 +13770,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
var addWaveForm = new AddWareForm();
|
||||
string peakWaveFileName = GetPeakWaveFileName(_videoFileName);
|
||||
string spectrogramFolder = GetSpectrogramFolder(_videoFileName);
|
||||
addWaveForm.Initialize(_videoFileName, spectrogramFolder);
|
||||
addWaveForm.Initialize(_videoFileName, spectrogramFolder, _videoAudioTrackNumber);
|
||||
if (addWaveForm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
addWaveForm.WavePeak.WritePeakSamples(peakWaveFileName);
|
||||
|
Loading…
Reference in New Issue
Block a user