• AnyStream is having some DRM issues currently, Netflix is not available in HD for the time being.
    Situations like this will always happen with AnyStream: streaming providers are continuously improving their countermeasures while we try to catch up, it's an ongoing cat-and-mouse game. Please be patient and don't flood our support or forum with requests, we are working on it 24/7 to get it resolved. Thank you.

Resolved Max Subtitles are wrong.

Status
Not open for further replies.
I was finally able to get subs thanks to member Wheatley's work around suggestion. Works perfectly using VLC with ext Vlsub. Easy setup and install. By the way, in case you are wondering, other forums are reporting out of sync using Max. (redditt, etc) Thanks to all who helped find resolution.
 
Last edited:
For those of us that like our embedded captions this is what I do, I haven't yet figured out how to pass through the Dolby Vision info, but it will still be HDR 10-bit

Its a bit involved so hold tight here we go,

First find a caption file I use opensubtitles.com (you may need to use something like SubTitle Edit to get the captions synced up)

Subtitle edit is pretty easy to use. Open the srt file with it and at the bottom click add waveform and select the movie file. At the top will be a Synchronization menu, select adjust all times. I would suggest changing the time from 1 sec to .100 seconds, then just click show earlier or show later until it lines up where you want it.

"Save as" the .srt file into the same folder as your movie file.

Then use FFMPEG to embed the srt file.
ffmpeg -i movie.mp4 -i movie.srt -c:s mov_text -c:v copy -c:a copy -movflags faststart -map 0:v -map 0:a -map 1 -disposition:s:0 default -metadata:s:s:0 language=eng output.mp4
replacing the movie.mp4 movie.srt and output.mp4 with the proper file names. I usually just add captioned to the movie name like Meg 2 (2023)captioned.mp4

You can move it and rename it how ever you normally do after that. Filebot ignores the word and gives me the right movie.

You will need ffmpeg and you will need to add it to your path in your environment variables. I saved mine in C:\Program Files\ffmpeg and and added C:\Program Files\ffmpeg\bin to the path.

I wrote it into a batch file called caption.bat and saved that with ffmpeg.
ffmpeg -i %1 -i %2 -c:s mov_text -c:v copy -c:a copy -movflags faststart -map 0:v -map 0:a -map 1 -disposition:s:0 default -metadata:s:s:0 language=eng %3

so as an example from my download folder in a command prompt window I type
caption "Meg 2 (2023).mp4" "Meg 2 (2023).en.cc.srt" "Meg 2 (2023) Captioned.mp4"

I've done it so many times now the whole thing take me only a minute or 2 to get it going and under 5 from start to finish
 
Instead of finding subtitles on the web and manually syncing them, you can get them directly from Max. And unlike AnyStream, they will be complete and have the original formatting. Just find the mpd link and use N_m3u8DL-RE:

Code:
N_m3u8DL-RE "mpd link" --sub-only --sub-format SRT --save-dir C:\Users\ElonMusk\Desktop --save-name "Meg 2 (2023)"

This will save all of the available subtitles. If you only want English, there's options for that.
 
Last edited:
N_m3u8DL-RE "mpd link" --sub-only --sub-format SRT --save-dir "C:\Users\ElonMusk\Desktop" --save-name "Meg 2 (2023)"

How do you find the "mpd link"? Could you please share the exact command how to run the above command for English subtitle only? Also how to use it for TV episodes? Thanks.
 
Last edited:
For those of us that like our embedded captions this is what I do, I haven't yet figured out how to pass through the Dolby Vision info, but it will still be HDR 10-bit

Its a bit involved so hold tight here we go,

First find a caption file I use opensubtitles.com (you may need to use something like SubTitle Edit to get the captions synced up)

Subtitle edit is pretty easy to use. Open the srt file with it and at the bottom click add waveform and select the movie file. At the top will be a Synchronization menu, select adjust all times. I would suggest changing the time from 1 sec to .100 seconds, then just click show earlier or show later until it lines up where you want it.

"Save as" the .srt file into the same folder as your movie file.

Then use FFMPEG to embed the srt file.

replacing the movie.mp4 movie.srt and output.mp4 with the proper file names. I usually just add captioned to the movie name like Meg 2 (2023)captioned.mp4

You can move it and rename it how ever you normally do after that. Filebot ignores the word and gives me the right movie.

You will need ffmpeg and you will need to add it to your path in your environment variables. I saved mine in C:\Program Files\ffmpeg and and added C:\Program Files\ffmpeg\bin to the path.

I wrote it into a batch file called caption.bat and saved that with ffmpeg.


so as an example from my download folder in a command prompt window I type


I've done it so many times now the whole thing take me only a minute or 2 to get it going and under 5 from start to finish
I have my movies on a different drive; would I have to put ffmpeg on that drive and change the path to that drive. and how do you save the batch file with ffmpeg?
 
ffmpeg is in the path for your computer. You would not need to have it on another drive. Just run the command in the folder of the movie. I saved the batch file in the same folder as ffmpeg.exe
 
ffmpeg is in the path for your computer. You would not need to have it on another drive. Just run the command in the folder of the movie. I saved the batch file in the same folder as ffmpeg.exe
I want to offer some clarity about using FFmpeg, focusing on its installation and how its location affects its usage. This should help address some common misconceptions and improve our overall workflow.

FFmpeg and the System PATH:
The crucial point is that FFmpeg's executable (ffmpeg.exe on Windows) is not automatically added to your system's PATH environment variable. If you want the convenience of running FFmpeg commands from any directory without specifying the full path to ffmpeg.exe, you'll need to add it to the PATH manually. This step is essential for those who prefer not to navigate to the FFmpeg directory each time they use it.

Running FFmpeg Without PATH Modification:
If you haven't added FFmpeg to your PATH, the alternative is to work directly from the directory where ffmpeg.exe is located. This means either being in the same folder as ffmpeg.exe when executing commands or specifying the full path to ffmpeg.exe in your commands.

Batch File Considerations:
Using a batch file in the same directory as ffmpeg.exe and your movie files is practical if you consistently work within that folder. However, this setup might limit flexibility if you handle files in various locations.

Adding FFmpeg to PATH for Greater Flexibility:
For frequent FFmpeg users, I strongly recommend adding it to your system's PATH.
This addition significantly broadens your ability to run FFmpeg commands from any directory, facilitating a more flexible and efficient workflow, especially when working with files stored in different locations.

I hope this explanation clarifies any confusion regarding FFmpeg's setup and usage. If you have further questions or insights, feel free to contribute!

Here is a link to "How to set the path and environment variables in Windows."
Code:
 https://www.computerhope.com/issues/ch000549.htm
 
ffmpeg is in the path for your computer. You would not need to have it on another drive. Just run the command in the folder of the movie. I saved the batch file in the same folder as ffmpeg.exe
I just save that and name it caption.bat in the ffmpeg folder ? ffmpeg -i %1 -i %2 -c:s mov_text -c:v copy -c:a copy -movflags faststart -map 0:v -map 0:a -map 1 -disposition:s:0 default -metadata:s:s:0 language=eng %3 Do I have to change anything in that batch file?
 
I want to offer some clarity about using FFmpeg, focusing on its installation and how its location affects its usage. This should help address some common misconceptions and improve our overall workflow. FFmpeg and the System PATH: The crucial point is that FFmpeg's executable (ffmpeg.exe on Windows) is not automatically added to your system's PATH environment variable. If you want the convenience of running FFmpeg commands from any directory without specifying the full path to ffmpeg.exe, you'll need to add it to the PATH manually. This step is essential for those who prefer not to navigate to the FFmpeg directory each time they use it. Running FFmpeg Without PATH Modification: If you haven't added FFmpeg to your PATH, the alternative is to work directly from the directory where ffmpeg.exe is located. This means either being in the same folder as ffmpeg.exe when executing commands or specifying the full path to ffmpeg.exe in your commands. Batch File Considerations: Using a batch file in the same directory as ffmpeg.exe and your movie files is practical if you consistently work within that folder. However, this setup might limit flexibility if you handle files in various locations. Adding FFmpeg to PATH for Greater Flexibility: For frequent FFmpeg users, I strongly recommend adding it to your system's PATH. This addition significantly broadens your ability to run FFmpeg commands from any directory, facilitating a more flexible and efficient workflow, especially when working with files stored in different locations. I hope this explanation clarifies any confusion regarding FFmpeg's setup and usage. If you have further questions or insights, feel free to contribute! Here is a link to "How to set the path and environment variables in Windows."
Code:
 https://www.computerhope.com/issues/ch000549.htm
I want to offer some clarity about using FFmpeg, focusing on its installation and how its location affects its usage. This should help address some common misconceptions and improve our overall workflow. FFmpeg and the System PATH: The crucial point is that FFmpeg's executable (ffmpeg.exe on Windows) is not automatically added to your system's PATH environment variable. If you want the convenience of running FFmpeg commands from any directory without specifying the full path to ffmpeg.exe, you'll need to add it to the PATH manually. This step is essential for those who prefer not to navigate to the FFmpeg directory each time they use it. Running FFmpeg Without PATH Modification: If you haven't added FFmpeg to your PATH, the alternative is to work directly from the directory where ffmpeg.exe is located. This means either being in the same folder as ffmpeg.exe when executing commands or specifying the full path to ffmpeg.exe in your commands. Batch File Considerations: Using a batch file in the same directory as ffmpeg.exe and your movie files is practical if you consistently work within that folder. However, this setup might limit flexibility if you handle files in various locations. Adding FFmpeg to PATH for Greater Flexibility: For frequent FFmpeg users, I strongly recommend adding it to your system's PATH. This addition significantly broadens your ability to run FFmpeg commands from any directory, facilitating a more flexible and efficient workflow, especially when working with files stored in different locations. I hope this explanation clarifies any confusion regarding FFmpeg's setup and usage. If you have further questions or insights, feel free to contribute! Here is a link to "How to set the path and environment variables in Windows."
Code:
 https://www.computerhope.com/issues/ch000549.htm
I just save that and name it caption.bat in the ffmpeg folder ? ffmpeg -i %1 -i %2 -c:s mov_text -c:v copy -c:a copy -movflags faststart -map 0:v -map 0:a -map 1 -disposition:s:0 default -metadata:s:s:0 language=eng %3 Do I have to change anything in that batch file?

Thank you. Perfect explanation!
 
I just save that and name it caption.bat in the ffmpeg folder ? ffmpeg -i %1 -i %2 -c:s mov_text -c:v copy -c:a copy -movflags faststart -map 0:v -map 0:a -map 1 -disposition:s:0 default -metadata:s:s:0 language=eng %3 Do I have to change anything in that batch file?
No. That’s the contents is the file. Then just run caption movie.mp4 caption.srt movie captioned.mp4 replacing these with the actual movie and file names. You will need “ marks if your files have spaces in the file names.
 
Thank you. Perfect explanation!
I did not have a problem setting the path but do you have to have the batch file for it to work? Also do I need to rename the movie and put caption in front of it and the subtitles?
 
No. That’s the contents is the file. Then just run caption movie.mp4 caption.srt movie captioned.mp4 replacing these with the actual movie and file names. You will need “ marks if your files have spaces in the file names.
Wouldn't it be easier to create a batch file like this, for example, when it processes all MP4 files in a given directory, searches for matching SRT files (based on the file name), and uses ffmpeg to merge them?
The merged files are saved in a separate subdirectory named "merged" to avoid an endless loop.

Code:
@echo off
set "outputDir=merged"

if not exist "%outputDir%" mkdir "%outputDir%"

for %%A in (*.mp4) do (
    echo Processing: "%%A"
    set "videoFile=%%A"
    set "baseName=%%~nA"
    setlocal enabledelayedexpansion

    set "srtFileFound=false"
    for /f "delims=" %%B in ('dir /b "!baseName!*.srt" 2^>nul') do (
        set "srtFile=%%B"
        set "srtFileFound=true"
        break
    )

    if !srtFileFound! == true (
        echo Subtitle file found: "!srtFile!"
        ffmpeg -hide_banner -i "!videoFile!" -i "!srtFile!" -c:s mov_text -c:v copy -c:a copy -movflags +faststart -map 0:v -map 0:a -map 1:s -disposition:s:0 default -metadata:s:s:0 language=eng "%outputDir%\new_!baseName!.mp4"
    ) else (
        echo No subtitle file found for: "%%A"
        pause
    )

    endlocal
)
echo.
echo All operations are complete.
pause


How It Works:

  1. Check/Create Output Directory:
    The script first checks if a directory named "merged" exists. If it doesn't, the script creates this directory. This is where all the merged files will be saved.
  2. Process Each MP4 File:
    The script loops through each MP4 file in the current directory.
  3. Find Matching SRT File:
    For each MP4 file, the script looks for an SRT file with a matching base name. If it finds a matching SRT file, it sets a flag (srtFileFound) to true.
  4. Merge Files Using FFmpeg:
    If a matching SRT file is found, the script uses ffmpeg to merge the video (MP4) and the subtitle (SRT) into a new file. This new file is saved in the "merged" directory with a name prefixed by new_.
  5. Handle Files Without Matching Subtitles:
    If no matching SRT file is found for an MP4 file, the script outputs a message indicating this and moves on to the next MP4 file.
  6. Local Environment:
    The script uses setlocal enabledelayedexpansion to handle dynamic variable changes within the loop.
  7. Pause at End: After processing all files, the script pauses, allowing the user to see the final messages before closing.
Usage:
Place this script in the same directory as your MP4 and SRT files. Run it by double-clicking the .bat file that contains the script. The script will automatically process all files and save the merged outputs in the "merged" subdirectory.

I did run this on a few to test. Let me know if any issues.
 
Wouldn't it be easier to create a batch file like this, for example, when it processes all MP4 files in a given directory, searches for matching SRT files (based on the file name), and uses ffmpeg to merge them?
The merged files are saved in a separate subdirectory named "merged" to avoid an endless loop.

Code:
@echo off
set "outputDir=merged"

if not exist "%outputDir%" mkdir "%outputDir%"

for %%A in (*.mp4) do (
    echo Processing: "%%A"
    set "videoFile=%%A"
    set "baseName=%%~nA"
    setlocal enabledelayedexpansion

    set "srtFileFound=false"
    for /f "delims=" %%B in ('dir /b "!baseName!*.srt" 2^>nul') do (
        set "srtFile=%%B"
        set "srtFileFound=true"
        break
    )

    if !srtFileFound! == true (
        echo Subtitle file found: "!srtFile!"
        ffmpeg -hide_banner -i "!videoFile!" -i "!srtFile!" -c:s mov_text -c:v copy -c:a copy -movflags +faststart -map 0:v -map 0:a -map 1:s -disposition:s:0 default -metadata:s:s:0 language=eng "%outputDir%\new_!baseName!.mp4"
    ) else (
        echo No subtitle file found for: "%%A"
        pause
    )

    endlocal
)
echo.
echo All operations are complete.
pause


How It Works:

  1. Check/Create Output Directory:
    The script first checks if a directory named "merged" exists. If it doesn't, the script creates this directory. This is where all the merged files will be saved.
  2. Process Each MP4 File:
    The script loops through each MP4 file in the current directory.
  3. Find Matching SRT File:
    For each MP4 file, the script looks for an SRT file with a matching base name. If it finds a matching SRT file, it sets a flag (srtFileFound) to true.
  4. Merge Files Using FFmpeg:
    If a matching SRT file is found, the script uses ffmpeg to merge the video (MP4) and the subtitle (SRT) into a new file. This new file is saved in the "merged" directory with a name prefixed by new_.
  5. Handle Files Without Matching Subtitles:
    If no matching SRT file is found for an MP4 file, the script outputs a message indicating this and moves on to the next MP4 file.
  6. Local Environment:
    The script uses setlocal enabledelayedexpansion to handle dynamic variable changes within the loop.
  7. Pause at End: After processing all files, the script pauses, allowing the user to see the final messages before closing.
Usage:
Place this script in the same directory as your MP4 and SRT files. Run it by double-clicking. The script will automatically process all files and save the merged outputs in the "merged" subdirectory.

I did run this on a few to test. Let me know if any i
No. That’s the contents is the file. Then just run caption movie.mp4 caption.srt movie captioned.mp4 replacing these with the actual movie and file names. You will need “ marks if your files have spa

No. That’s the contents is the file. Then just run caption movie.mp4 caption.srt movie captioned.mp4 replacing these with the actual movie and file names. You will need “ marks if your files have spaces in the file names.
I got an error when I tried it your way. This is where my movies are located E:\Videos .
 

Attachments

  • Error.jpg
    Error.jpg
    197.9 KB · Views: 7
Ok, and did you copy the text 1:1 with no changes into the bat file?
Yes; I made another folder and put the movie and subtitles and your batch file in it because I have too many videos in the other folder. It wanted to go through all the movies one at a time. Your batch file worked perfectly but it does not seem to be Dolby Vision like the original but HDR10 compatible. It still looks great though.
 

Attachments

  • Original.jpg
    Original.jpg
    163.1 KB · Views: 7
  • Copy.jpg
    Copy.jpg
    189.4 KB · Views: 7
Yes; I made another folder and put the movie and subtitles and your batch file in it because I have too many videos in the other folder. It wanted to go through all the movies one at a time. Your batch file worked perfectly but it does not seem to be Dolby Vision like the original but HDR10 compatible. It still looks great though.
I am not aware if FFMpeg supports DolbyVision natively now or not.
But an alternative would be reinjecting the info with the tool here:
Code:
 https://forum.doom9.org/showthread.php?t=183479
 
Status
Not open for further replies.
Back
Top