02-01-2023, 12:50 AM
Typically each title has it's own folder, with all episodes, subtitles, and cover art included. Usually 50 files at most. If there is an episode list it is usually a CSV file. It starts out something like this:
/Volumes/Parent folder/Video Series ( X) (XXXX_PG_Drama+Sci-Fi_HD)/
Containing:
cover_land.jpg
cover.jpg
Video S01E01.mp4
Video S01E02.mp4
Video S01E03.mp4
Episode list.csv
I use the CSV to process into:
Video Series ( 1) First episode title (2022_PG_Drama+Sci-Fi_HD).mp4 (I like to change the Season/Episode to an overall episode number).
If I don't have a subtitle file, but the MP4 contains an internal TXG3 subtitle, and/or the video needs compressing I send it to an app. The result is a video file in MKV format along with an (internal) SSA (actually .ASS) subtitle. I send the MKV list to an app that extracts all the subtitles to the parent folder, resulting in:
Video Series ( 1) First episode title (2022_PG_Drama+Sci-Fi_HD).mp4
Video Series ( 1) First episode title (2022_PG_Drama+Sci-Fi_HD).ass
I then process the SSA subtitle into SRT while cleaning it up, removing captions, fixing timing, etc. There is a webpage I've been using for this, but it doesn't always get it right so I intend to write BASIC code to do it. The conversion/cleaning code is fairly simple. I get:
Video Series ( 1) First episode title (2022_PG_Drama+Sci-Fi_HD).srt
I use the same cover art for all episodes in every season. It's just too much manual work gathering/editing a portrait and landscape cover art for every season, with no real advantage. So I send all the MKVs, SRTs, and cover art to a muxing program. I also tell the muxer to strip out all the tags and extra files, set the subtitle defaults, and extract the episode name from the filename for the muxer to add to the file. So:
Video Series ( 1) First episode title (2022_PG_Drama+Sci-Fi_HD) becomes Video Series ( 1) First episode title in the MKV.
The new MKV is complete, mostly. I change the icon for the file so I can identify the older files I had before adding cover art from the recent ones where I included cover art. Eventually I'll add art to all of them. I also change the creation and modified dates for the files. I use a WD TV player for most of my media, it has a great index for the roughly 4,000 files I have (7TB). But it doesn't sort by date using tags. Well it might, but I don't have time to figure it out and remux all my files. So I make the creation and modified dates the same as the movie year, then the WD TV can sort by year. Problem is that most operating systems won't maintain a date field older than 1956, except NTFS. My Mac will write NTFS so that's what I use for the media drive. I have movies going back to 1922...
Take a breath, have another sip of coffee...
After setting the icons and dates, I move them to the final media drive. Then I go back and clean up the folders and files left behind. All the video files (except the final ones) go to a subfolder in an "Unmuxed" folder. they will stay there until I eventually watch the final version. If the final version is OK I delete the unmuxed version subfolder. The folder containing the log file, subtitles, cover art, and episode list gets moved to an archive. If I need to add another season, or remux a damaged file, I still have what I need. I don't archive the un-muxed videos because they take tooooo much room.
All of this becomes really easy using QB64pe. I create the parent folder with the pertinent info. Download the episode CSV and cover art. Download subtitles if they aren't in the videos. Then select the folder/files to process and go to bed. Next morning all the work is done and put away.
Ok, next comment. Yes they are typically in a single directory. But not if they are movies instead of series. It's easy enough to use the open file dialog command, load an array with the results (doing that anyway), then loop around to add more files, until I'm ready to process them all.
And your last comment. I use a fairly structured way of dealing with my process folders and filenames. The BASIC program doesn't build a batch file, it acts like one. Sending filenames with embedded paths to Mac apps using the command shell is easy, just repetitive. That's what loops are for. I've done everything mentioned above already, although with several separate BASIC programs, and using the sledgehammer approach. Without an easy method to select files I started by using the Finder app to copy the files to be processed to a text file. The BASIC program read the file info from that. But it is slow, and time consuming. That's why I am rewriting, consolidating, and streamlining the process into one processing wizard using QB64pe. There are settings I can assume because I already know what I want (like removing tags, and setting forced subtitle tracks), and there are settings that can be extracted from the data (like which subtitles go with which files, or how to construct the series filenames using the parent folder name as a template and a CSV file for specifics). All in all, once I've gathered the initial files, and tell it which ones I want to process, the BASIC program does the rest. It will take me some time to write the software, but when I'm done it will save me months of manual processing. Your help has been invaluable to me.
/Volumes/Parent folder/Video Series ( X) (XXXX_PG_Drama+Sci-Fi_HD)/
Containing:
cover_land.jpg
cover.jpg
Video S01E01.mp4
Video S01E02.mp4
Video S01E03.mp4
Episode list.csv
I use the CSV to process into:
Video Series ( 1) First episode title (2022_PG_Drama+Sci-Fi_HD).mp4 (I like to change the Season/Episode to an overall episode number).
If I don't have a subtitle file, but the MP4 contains an internal TXG3 subtitle, and/or the video needs compressing I send it to an app. The result is a video file in MKV format along with an (internal) SSA (actually .ASS) subtitle. I send the MKV list to an app that extracts all the subtitles to the parent folder, resulting in:
Video Series ( 1) First episode title (2022_PG_Drama+Sci-Fi_HD).mp4
Video Series ( 1) First episode title (2022_PG_Drama+Sci-Fi_HD).ass
I then process the SSA subtitle into SRT while cleaning it up, removing captions, fixing timing, etc. There is a webpage I've been using for this, but it doesn't always get it right so I intend to write BASIC code to do it. The conversion/cleaning code is fairly simple. I get:
Video Series ( 1) First episode title (2022_PG_Drama+Sci-Fi_HD).srt
I use the same cover art for all episodes in every season. It's just too much manual work gathering/editing a portrait and landscape cover art for every season, with no real advantage. So I send all the MKVs, SRTs, and cover art to a muxing program. I also tell the muxer to strip out all the tags and extra files, set the subtitle defaults, and extract the episode name from the filename for the muxer to add to the file. So:
Video Series ( 1) First episode title (2022_PG_Drama+Sci-Fi_HD) becomes Video Series ( 1) First episode title in the MKV.
The new MKV is complete, mostly. I change the icon for the file so I can identify the older files I had before adding cover art from the recent ones where I included cover art. Eventually I'll add art to all of them. I also change the creation and modified dates for the files. I use a WD TV player for most of my media, it has a great index for the roughly 4,000 files I have (7TB). But it doesn't sort by date using tags. Well it might, but I don't have time to figure it out and remux all my files. So I make the creation and modified dates the same as the movie year, then the WD TV can sort by year. Problem is that most operating systems won't maintain a date field older than 1956, except NTFS. My Mac will write NTFS so that's what I use for the media drive. I have movies going back to 1922...
Take a breath, have another sip of coffee...
After setting the icons and dates, I move them to the final media drive. Then I go back and clean up the folders and files left behind. All the video files (except the final ones) go to a subfolder in an "Unmuxed" folder. they will stay there until I eventually watch the final version. If the final version is OK I delete the unmuxed version subfolder. The folder containing the log file, subtitles, cover art, and episode list gets moved to an archive. If I need to add another season, or remux a damaged file, I still have what I need. I don't archive the un-muxed videos because they take tooooo much room.
All of this becomes really easy using QB64pe. I create the parent folder with the pertinent info. Download the episode CSV and cover art. Download subtitles if they aren't in the videos. Then select the folder/files to process and go to bed. Next morning all the work is done and put away.
Ok, next comment. Yes they are typically in a single directory. But not if they are movies instead of series. It's easy enough to use the open file dialog command, load an array with the results (doing that anyway), then loop around to add more files, until I'm ready to process them all.
And your last comment. I use a fairly structured way of dealing with my process folders and filenames. The BASIC program doesn't build a batch file, it acts like one. Sending filenames with embedded paths to Mac apps using the command shell is easy, just repetitive. That's what loops are for. I've done everything mentioned above already, although with several separate BASIC programs, and using the sledgehammer approach. Without an easy method to select files I started by using the Finder app to copy the files to be processed to a text file. The BASIC program read the file info from that. But it is slow, and time consuming. That's why I am rewriting, consolidating, and streamlining the process into one processing wizard using QB64pe. There are settings I can assume because I already know what I want (like removing tags, and setting forced subtitle tracks), and there are settings that can be extracted from the data (like which subtitles go with which files, or how to construct the series filenames using the parent folder name as a template and a CSV file for specifics). All in all, once I've gathered the initial files, and tell it which ones I want to process, the BASIC program does the rest. It will take me some time to write the software, but when I'm done it will save me months of manual processing. Your help has been invaluable to me.