peak @ -3.0103dBFS
Why it never clip for You or You are not aware about clip presence? - for complex signals second case can be difficult to detect - we not talking about 20dB clip which is easily perceived but usually less than 1dB clip that can be further low passed and almost not perceivable.
3dB clip is in worst case scenario for synthetic signal - feel free to do some experiments with this kind of signals.
+ Reply to Thread
Results 31 to 60 of 199
-
-
Tried the bottom line you gave me. The CMD disappears and nothing happens.
Tried all 3 calls you mentioned. Assume -yeads is meant to be -threads so I changed that. When I run the script CMD says can't run input "_": lsx_readbuf
I notice that MKV isn't mentioned anywhere in the script or the name of the source file. -
The three calls are not ment to be called separately,..
only the combined call:
Code:"X:\Portable Installations\Batch\ffmpeg.exe" -y -threads 8 -loglevel fatal -i "E:\2 = New\audio.aac" -ac 2 -ar 48000 -f sox - | "X:\Portable Installations\Batch\sox.exe" --multi-threaded --ignore-length --temp "E:\2 = New" --buffer 524288 -S -t sox - -b 16 -t sox - gain -n | "X:\Portable Installations\Batch\ffmpeg.exe" -y -threads 8 -f sox -i - -b:a 192k -ac 2 -ar 48000 "E:\2 = New\audio.ac3"
users currently on my ignore list: deadrats, Stears555, marcorocchini -
the call I just posted?
(doesn't contain any "_" symbols)users currently on my ignore list: deadrats, Stears555, marcorocchini -
Yes the call you posted. For the record my Temp folder is: E:\2 = New\Temp
My source MKV is in: E:\2 = New\ -
Then adjust the calls accordingly.
users currently on my ignore list: deadrats, Stears555, marcorocchini -
The script makes no sense to me. I don't know what part of the script is doing what. I see E:\2 = New\audio.aac" at the start. Is that the location I want the demuxed AAC file to go to? If so it's fine already.
The middle part says: --temp "E:\2 = New\Temp" Assume this is the temp directory so I added the underlined text.
Last part says: E:\2 = New\Temp\audio.ac3. Is that supposed to be the temp directory? If so I added the underlined text.
Source is E:\2 = New\Superstars 2014 July 24 clip.mkv
Temp directory is: E:\2 = New\Temp
Want the outputted MKV with AC3 inside it to go to the same folder as the source.
This is what I've got
Code:"X:\Portable Installations\Batch\ffmpeg.exe" -y -threads 8 -loglevel fatal -i "E:\2 = New\audio.aac" -ac 2 -ar 48000 -f sox - | "X:\Portable Installations\Batch\sox.exe" --multi-threaded --ignore-length --temp "E:\2 = New\Temp" --buffer 524288 -S -t sox - -b 16 -t sox - gain -n | "X:\Portable Installations\Batch\ffmpeg.exe" -y -threads 8 -f sox -i - -b:a 192k -ac 2 -ar 48000 "E:\2 = New\audio.ac3" pause
-
I'll explain each part of the combined call in detail:
Code:"X:\Portable Installations\Batch\ffmpeg.exe" -y -threads 8 -loglevel fatal -i "E:\2 = New\audio.aac" -ac 2 -ar 48000 -f sox -
-y <- this means if the output exists overwrite it
-loglevel fatal <- only output messages for errors (otherwise the pipe would contain those messages and break
-i "E:\2 = New\audio.aac" <- sets the input
-ac 2 <- sets the output to stereo
-ar 48000 <- sets the output sample rate
-f sox <- sets the output format
- <- tells ffmpeg to output the data to stdOut
=> all in all this part, opens the audio stream and makes sure it is decoded to stereo@48kHz and output to stdOut
| <- connects to the next call and takes the stdOut output of the frist call and sends it to the stdIn of the second call
Code:"X:\Portable Installations\Batch\sox.exe" --multi-threaded --ignore-length --temp "E:\2 = New\Temp" --buffer 524288 -S -t sox - -b 16 -t sox - gain -n
--multi-threaded <- enable multithreading
--temp "E:\2 = New\Temp" <- defines the temp folder
-S <- output the progress of sox
-t sox <- sets the input format
- <- says that the input comes via stdIn
-b 16 <- makes sure the output is 16bit
-t sox <- sets the output format
- <- says that the output should be send to stdOut
gain -n <- does the gain
=> all in all, this parts takes the decoded audio in via stdIn and applies the gain and outputs the modified content to stdOut
| <- connects to the next call and takes the stdOut output of the second call and sends it to the stdIn of the third call
Code:"X:\Portable Installations\Batch\ffmpeg.exe" -y -threads 8 -f sox -i - -b:a 192k -ac 2 -ar 48000 "E:\2 = New\audio.ac3"
-y <- this means if the output exists overwrite it
-threads 8 <- sets the number of threads to use, here 8
-f sox <- sets the input format
-i - <- says that the input comes through stdIn
-b:a 192k <- sets the output bitrate to 192kb/s
-ac 2 <- sets the output channel count
-ar 48000 <- sets the output sampling rate
"E:\2 = New\audio.ac3" <- sets the output file and through it's extension the output format.
=> all in all, this part takes the decoded and modified audio in via stdIn and converts it to ac3
-> if you don't understand this, read the ffmpeg, sox and mkvmerge documenation.Last edited by Selur; 29th Jul 2014 at 13:11.
users currently on my ignore list: deadrats, Stears555, marcorocchini -
In the first line of your explanations you said this: -i "E:\2 = New\audio.aac" <- this is the program used
That's not a program. Is that line correct or should it mention the FFMPEG location?
I put all those lines in your last post in my batch file and the script fails saying "Error splitting the argument list: Option not found". I understand your explanations but the script isn't working. Are you sure the file locations mentioned are correct?
Source is E:\2 = New\Superstars 2014 July 24 clip.mkv
Temp directory is: E:\2 = New\Temp
Want the outputted MKV with AC3 inside it to go to the same folder as the source.
If this isn't working you said I could use FFMPEG instead. Any idea how to get it to stop adding a 1 min 5 sec delay to the output MKV? Here's my script:
Code:"X:\Portable Installations\ffmpeg\bin\ffmpeg.exe" -i %1 -c copy -absf aac_adtstoasc -vn gain.m4a "X:\Portable Installations\AAC Gain 1.9\aacgain" -r -k -m 0 gain.m4a "X:\Portable Installations\ffmpeg\bin\ffmpeg.exe" -i gain.m4a -acodec copy "%~d1%~p1%~n1.aac" "X:\Portable Installations\ffmpeg\bin\ffmpeg.exe" -i %1 -i gain.m4a -map 0:v -map 1 -c:v copy -c:a ac3 -ab 2 -ab 128k "%~d1%~p1%~n1.AC3.mkv" del gain.m4a "X:\Daves Folder\Sounds\VideoRedo Completed Sound Short.WAV" pause
-
You said this: -i "E:\2 = New\audio.aac" <- this is the program used
That's not a program. Is that line correct or should it mention the FFMPEG location?
I put all those lines in your last post in my batch file and the script fails saying "Error splitting the argument list: Option not found". I understand you explanations but the script isn't working. Are you sure the file locations mentioned are correct?
Any idea how to get it to stop adding a 1 min 5 sec delay to the output MKV?users currently on my ignore list: deadrats, Stears555, marcorocchini -
Here's what I used. Combined the scripts you posted into 1 line:
Code:"X:\Portable Installations\Batch\ffmpeg.exe" -y -threads 8 -loglevel fatal -i "E:\2 = New\audio.aac" -ac 2 -ar 48000 -f sox - "X:\Portable Installations\Batch\sox.exe" --multi-threaded --ignore-length --temp "E:\2 = New\Temp" --buffer 524288 -S -t sox - -b 16 -t sox - gain -n "X:\Portable Installations\Batch\ffmpeg.exe" -y -threads 8 -f sox -i - -b:a 192k -ac 2 -ar 48000 "E:\2 = New\audio.ac3" pause
-
You missed the pipes!!!
users currently on my ignore list: deadrats, Stears555, marcorocchini -
Sorry I thought the script samples you posted would have them. Added the pipes. Now it says "Pipe: Invalid data found when processing input"
Code:"X:\Portable Installations\Batch\ffmpeg.exe" -y -threads 8 -loglevel fatal -i "E:\2 = New\audio.aac" -ac 2 -ar 48000 -f sox - | "X:\Portable Installations\Batch\sox.exe" --multi-threaded --ignore-length --temp "E:\2 = New\Temp" --buffer 524288 -S -t sox - -b 16 -t sox - gain -n | "X:\Portable Installations\Batch\ffmpeg.exe" -y -threads 8 -f sox -i - -b:a 192k -ac 2 -ar 48000 "E:\2 = New\audio.ac3" pause
-
No clue, too groggy to look at it further.
btw. your folder naming convention with the numbering and equal signs and the tool locations which are all over the place is just confusing
Here's my last attempt:
1. extract audio&video
Code:"X:\Portable Installations\MKV Toolnix\mkvextract.exe" tracks "E:\2 = New\Superstars 2014 July 24 clip.mkv" 1:"E:\2 = New\Temp\audio.aac" 0:"E:\2 = New\Temp\video.264" "X:\Portable Installations\Batch\ffmpeg.exe" -y -threads 8 -loglevel fatal -i "E:\2 = New\Temp\audio.aac" -ac 2 -ar 48000 -f sox - | "X:\Portable Installations\Batch\sox.exe" --multi-threaded --ignore-length --temp "E:\2 = New\Temp" --buffer 524288 -S -t sox - -b 16 -t sox - gain -n | "X:\Portable Installations\Batch\ffmpeg.exe" -y -threads 8 -f sox -i - -b:a 192k -ac 2 -ar 48000 "E:\2 = New\Temp\audio.ac3" "X:\Portable Installations\MKV Toolnix\mkvmerge.exe" --ui-language en -o "E:\2 = New\Superstars 2014 July 24 clip_new.mkv" -d 0 --default-track 0:yes --default-duration 0:50i --aspect-ratio-factor 0:1/1 --fourcc 0:MP4V --no-chapters --compression -1:none --forced-track 0:yes --no-audio --no-subtitles "E:\2 = New\Temp\video.264" --language 0:en --default-track 0:yes --forced-track 0:no -a 0 --compression -1:none --no-video --no-subtitles --no-chapters "E:\2 = New\Temp\audio.ac3"
-> If this also fails, I leave the field for someone who is more motivated than me at this moment.
Cu Selur
Ps.: I know why I normally use a gui for such stuff. (I would have created a general profile in Hybrid which does all the stuff, created a shortcut with the appropriate parameters to load that profile and autostart the job processing and then drag&dropped the file on the shortcut. No, I will not describe this in further detail and you probably shouldn't try to automate this with Hybrid unless you read up on a bunch of stuff and understand the whole process.)users currently on my ignore list: deadrats, Stears555, marcorocchini -
Originally Posted by VideoFanatic;2336732
If I take a [url=https://www.videohelp.com/tools/VideoReDo
I can't reproduce this. Mediainfo reports no delay; playback no delay
Are you sure this 1min MKV sample exhibits this problem ? Or only on the uncut larger video?
Make sure you're using an up to date ffmpeg binary -
If you use my FFMPEG script on the sample I posted then use MediaInfo on the resulting file you'll see a 1 minute 5 sec delay mentioned. Playing the file on your PC it doesn't have a delay but when you use something like MEGUI to re-encode then you can hear the out of sync audio in the resulting file. I'm using version: ffmpeg-20140727-git-ad91bf8-win64-static.
Here's my FFMPEG script:
Code:"X:\Portable Installations\ffmpeg\bin\ffmpeg.exe" -i %1 -c copy -absf aac_adtstoasc -vn gain.m4a "X:\Portable Installations\AAC Gain 1.9\aacgain" -r -k -m 0 gain.m4a "X:\Portable Installations\ffmpeg\bin\ffmpeg.exe" -i gain.m4a -acodec copy "%~d1%~p1%~n1.aac" "X:\Portable Installations\ffmpeg\bin\ffmpeg.exe" -i %1 -i gain.m4a -map 0:v -map 1 -c:v copy -c:a ac3 -ab 2 -ab 128k "%~d1%~p1%~n1.AC3.mkv" del gain.m4a "X:\Daves Folder\Sounds\VideoRedo Completed Sound Short.WAV" pause
So basically I right-click on an MKV and select Send To, Batch file. An AAC file is created in the same directory as the MKV source and with the same file name. An MKV is also created in the same directory with the same file name but ending with "AC3.mkv" so I can tell it apart from the MKV source.
Selur mentioned that if you demux the video (which my script does NOT do) then remux everything then you won't get a delay as mentioned in MediaInfo. Do you know what I should add to the script to achieve that? -
Do you get a delay with this ? No delay here, or reported by mediainfo
Code:ffmpeg -i "Superstars 2014 July 24 clip.mkv" -c:v copy -c:a ac3 -b:a 128k output.mkv
-
-
-
I can't help that can I? MeGUI is what I'm using to re-encode my videos. Since I can't fix MeGUI, I'm trying to fix my FFMPEG script so that it demuxes the video so that it won't add a delay that MeGUI sees (whether there's a delay or not). Do you know how to modify my script to demux the source MKV?
-
If definitive proof, just take the ffmpeg muxed file demux it, and remux with no delay in mkvmerge. If there was an actual delay in the ffmpeg muxed file, it would be out of sync in the mkvmerge remuxed file
Just stop and think about it for a second logically. The clip is only 1min 3seconds. The demuxed audio is only 1 min 3seconds. A 1min 5sec positive muxing delay relative to video is impossible.
Don't use megui until it's fixed ? It's a shitty way of doing things, using mediainfo to derive values
Maybe there is another GUI or tool that can do what megui does ? -
What' s wrong with what selur suggested in post 45? You can modify it if you just want just video demuxed (mkvextract 1st line)
The general syntax for demuxing video only in ffmpeg (assuming video is AVC)
ffmpeg -i input.ext -c:v copy -an output.h264 -
I played the video and there's no audio for 1 minute 5 secs but I can see the video. At 1 minute 6 secs the video stops playing then I can hear the audio.
I already know that I can take the FFMPEG resulting file, save it in VideoRedo or demux and remux with TSMuxer and it's in sync but that's no good to me. That's an extra step. I'd like to fix the problem at the source, in the FFMPEG script. Or if you can modify the script in post 45 you mentioned then please do. What I'm trying to achieve with FFMPEG/MKVMerge: https://docs.google.com/document/d/1917HGe0_Cr3AWttvFHOQOKlQ2xyRa_sAH8msDuGrJs0/edit
I may be wrong but there's no tool that does what MeGUI does. I can select a folder of MKVs and select a single Avisynth script and x264 settings to apply to all the videos and click start. It then encodes to MKVs and queues them. When you're encoding several HD files per day, manually indexing them all, creating Avisynth scripts and muxing can take hours but instead MeGUI automates it all. Also MeGUI seems to be stable in MT whereas I can't get Avisynth HD scripts working outside of MeGUI but that's another story I don't want to get into. -
There is no delay in the ffmpeg muxed file. What media player are you using ? There is no audio delay in MPC, KMplayer, VLC. If you're referring to megui's output, since it takes that wrong value and encodes it, then yes there will be a delay
ok let's pretend you're stuck with megui
If problem is only with ffmpeg and the weird delay, then why are you doing all this other stuff ? Why not use megui for everything ? You can normalize audio in megui, or you can normalize audio in avs script
What do you need modified in post 45? It uses mkvmerge to mux instead of ffmpeg, so it shouldn't have the delay issue -
I'm referring to FFMPEG output after I then use MeGUI on it. Did you read my Google Docs page here? I'm trying to do the underlined stuff. Not bothered what script achieves it, either the FFMPEG or MKVMerge script.
MKVMerge script works but it doesn't do what I mentioned in the underlined text and at the moment I would have to type in the name of every MKV file I want muxed into the script which I don't have to do with the FFMPEG version. I just want to right-click on any MKV, Send To, Batch file. Do you know how to modify the MKVMerge script to achieve that?
MEGUI can't do what I require in the underlined text.