download episod above 5 mins
how to filter the episod only more than 5 mins? filters = { max_duration = 360 } doesn't work
You are using the filter in the wrong way.
When using max_duration, it's only keeping the episodes that have a duration below the value provided.
In your case, you want to use min_duration to only keep the episodes that have a duration greater than the value provided.
And also, 5 minutes = 300 seconds, not 360
I set filters = { min_duration = 300 } at first,but I only got audios less than 5 mins
You can look in the log file or the output lines of podsync to confirm the behavior of the filter.
For example, for me I have a feed with the following filter :
[feeds]
[feeds.SomeUserName]
url = "https://www.youtube.com/user/SomeUserName" # URL address of a channel, group, user, or playlist.
page_size = 25
update_period = "24h"
quality = "low"
format = "audio"
filters = { min_duration = 1800 }
clean = { keep_last = 100 } # Keep last X episodes (order desc by PubDate)
youtube_dl_args = ["--match-filter", "!is_live"]
And that's the log output :
$ cat /data/docker/podsync/podsync.log | grep "duration"
time="2023-03-21T19:52:33Z" level=info msg="skipping due to duration filter (1499s)" episode_id=XXXXX filter=min_duration
In this case, we can see that the episode got skipped because the duration of the episode is 1499 seconds, which is less than the value of 1800 configured in min_duration
FYI for anyone having this issue in the future where the filter is not working, you are likely using an old docker images. Make sure to download the NIGHTLY version (latest won't work!):
sudo docker pull ghcr.io/mxpv/podsync:nightly
Do we still need to use the nightly builds? Trying to figure out what I'm doing wrong with this feed:
[feeds]
[feeds.MYFEED] # Feed
url = "URL"
page_size = 3
update_period = "60m"
quality = "high"
max_height = 720
format = "video"
filters = { not_title = "watchalong", min_duration=1200 }
cover_art = "https://URL"
clean = { keep_last = 10 }
youtube_dl_args = ["--match-filter", "!is_live"]