VideoHelp Forum




+ Reply to Thread
Page 2 of 7
FirstFirst 1 2 3 4 ... LastLast
Results 31 to 60 of 199
  1. Originally Posted by Selur View Post
    @pandy: shouldn't normalization always take peak values into account? And how come I never got clipping when using 'gain -n' and not 'gain -n 3.0103'?
    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.
    Quote Quote  
  2. 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.
    Quote Quote  
  3. 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"
    is interesting,.. (previous call missed a space)
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  4. I entered that combined call and it says "can't open input "_"
    Quote Quote  
  5. the call I just posted?
    (doesn't contain any "_" symbols)
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  6. Yes the call you posted. For the record my Temp folder is: E:\2 = New\Temp
    My source MKV is in: E:\2 = New\
    Quote Quote  
  7. Then adjust the calls accordingly.
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  8. 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
    Quote Quote  
  9. 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 -
    "X:\Portable Installations\Batch\ffmpeg.exe" <- this is the program used
    -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
    "X:\Portable Installations\Batch\sox.exe" <- the program that is being used
    --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"
    "X:\Portable Installations\Batch\ffmpeg.exe" <- sets the program to use
    -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
    Quote Quote  
  10. 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
    Quote Quote  
  11. 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?
    fixed, it should have been ffmpeg

    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?
    What does it look like?

    Any idea how to get it to stop adding a 1 min 5 sec delay to the output MKV?
    extract both audio&video
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  12. 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
    Quote Quote  
  13. You missed the pipes!!!
    users currently on my ignore list: deadrats, Stears555, marcorocchini
    Quote Quote  
  14. 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
    Quote Quote  
  15. 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"
    Rember to check if all the folders exist and if the paths are right before you try this.

    -> 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
    Quote Quote  
  16. Thanks. It works.
    Quote Quote  
  17. Originally Posted by VideoFanatic;2336732
    If I take a [url=https://www.videohelp.com/tools/VideoReDo
    VideoRedo[/url] saved file and then use FFMPEG to remux it but re-encode the AAC to AC3 then the resulting file is out of sync with a 1 min 5 sec delay mentioned in MediaInfo. Makes no difference if I use AAC Gain or not. If I then take the FFMPEG file and remux it with VideoRedo then the delay is gone again. So it's FFMPEG that's causing the problem.

    Posted the 1 minute MKV source in my last post. Here it is. 1 minute clip

    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
    Quote Quote  
  18. 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
    It muxes my MKV with AAC to MKV with AC3 (it re-encodes the audio). It normalizes the AAC (and thus the AC3) and demuxes the AAC into an AAC file. I need the separate AAC file in case I want to re-encode the audio to future file formats).

    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?
    Quote Quote  
  19. 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
    Quote Quote  
  20. My bad... I updated mediainfo to the newest one, and there is a delay
    Quote Quote  
  21. Can you help with post 48 at all with what I said in the bottom paragraph?
    Quote Quote  
  22. Looks like a bug with that version of mediainfo, I don't think there is no delay (or minimal). -5ms reported by eac3to with the ffmpeg muxed file. Other mediainfo versions didn't report that huge delay
    Quote Quote  
  23. I assure you there's a delay in the file because if I re-encode the FFMPEG video with MEGUI then there's no audio for the first 1 minute 5 seconds of the video. I checked all this before I posted and I checked again just now. If I do NOT use FFMPEG then use MeGUI then there's no delay.
    Quote Quote  
  24. Originally Posted by VideoFanatic View Post
    I assure you there's a delay in the file because if I re-encode the FFMPEG video with MEGUI then there's no audio for the first 1 minute 5 seconds of the video. I checked all this before I posted and I checked again just now. If I do NOT use FFMPEG then use MeGUI then there's no delay.
    That just means megui is using the wrong info. It's usually not a good idea to base you decisions on a tool that is known to give wrong information
    Quote Quote  
  25. 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?
    Quote Quote  
  26. 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.


    Originally Posted by VideoFanatic View Post
    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?
    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 ?
    Quote Quote  
  27. 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
    Quote Quote  
  28. 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.
    Quote Quote  
  29. 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
    Quote Quote  
  30. 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.
    Quote Quote  
Visit our sponsor! Try DVDFab and backup Blu-rays!