mirror of
https://github.com/ytdl-org/youtube-dl.git
synced 2026-03-02 19:17:00 -05:00
is it possible to download only desired time interval? #3907
Closed
opened 2026-02-21 01:41:31 -05:00 by deekerman
·
47 comments
No Branch/Tag specified
master
pull/30733/head
gh-pages
df-fmt-ext-patch
dlp-fifa-backport
df-test-cleanup
pull/29816/head
download-server
totalwebcasting
rtmp_test
2024.07.11-nightly
2021.12.17
2021.06.06
2021.05.16
2021.04.26
2021.04.17
2021.04.07
2021.04.01
2021.03.31
2021.03.25
2021.03.14
2021.03.03
2021.03.02
2021.02.22
2021.02.10
2021.02.04.1
2021.02.04
2021.01.24.1
2021.01.24
2021.01.16
2021.01.08
2021.01.03
2020.12.31
2020.12.29
2020.12.26
2020.12.22
2020.12.14
2020.12.12
2020.12.09
2020.12.07
2020.12.05
2020.12.02
2020.11.29
2020.11.26
2020.11.24
2020.11.21.1
2020.11.21
2020.11.19
2020.11.18
2020.11.17
2020.11.12
2020.11.01.1
2020.11.01
2020.09.20
2020.09.14
2020.09.06
2020.07.28
2020.06.16.1
2020.06.16
2020.06.06
2020.05.29
2020.05.08
2020.05.03
2020.03.24
2020.03.08
2020.03.06
2020.03.01
2020.02.16
2020.01.24
2020.01.15
2020.01.01
2019.12.25
2019.11.28
2019.11.22
2019.11.05
2019.10.29
2019.10.22
2019.10.16
2019.09.28
2019.09.12.1
2019.09.12
2019.09.01
2019.08.13
2019.08.02
2019.07.30
2019.07.27
2019.07.16
2019.07.14
2019.07.12
2019.07.02
2019.06.27
2019.06.21
2019.06.08
2019.05.20
2019.05.11
2019.04.30
2019.04.24
2019.04.17
2019.04.07
2019.04.01
2019.03.18
2019.03.09
2019.03.01
2019.02.18
2019.02.08
2019.01.30.1
2019.01.30
2019.01.27
2019.01.24
2019.01.23
2019.01.17
2019.01.16
2019.01.10
2019.01.02
2018.12.31
2018.12.17
2018.12.09
2018.12.03
2018.11.23
2018.11.18
2018.11.07
2018.11.03
2018.10.29
2018.10.05
2018.09.26
2018.09.18
2018.09.10
2018.09.08
2018.09.01
2018.08.28
2018.08.22
2018.08.04
2018.07.29
2018.07.21
2018.07.10
2018.07.04
2018.06.25
2018.06.19
2018.06.18
2018.06.14
2018.06.11
2018.06.04
2018.06.02
2018.05.30
2018.05.26
2018.05.18
2018.05.09
2018.05.01
2018.04.25
2018.04.16
2018.04.09
2018.04.03
2018.03.26.1
2018.03.26
2018.03.20
2018.03.14
2018.03.10
2018.03.03
2018.02.26
2018.02.25
2018.02.22
2018.02.11
2018.02.08
2018.02.04
2018.02.03
2018.01.27
2018.01.21
2018.01.18
2018.01.14
2018.01.07
2017.12.31
2017.12.28
2017.12.23
2017.12.14
2017.12.10
2017.12.02
2017.11.26
2017.11.15
2017.11.06
2017.10.29
2017.10.20
2017.10.15.1
2017.10.15
2017.10.12
2017.10.07
2017.10.01
2017.09.24
2017.09.15
2017.09.11
2017.09.10
2017.09.02
2017.08.27.1
2017.08.27
2017.08.23
2017.08.18
2017.08.13
2017.08.09
2017.08.06
2017.07.30.1
2017.07.23
2017.07.15
2017.07.09
2017.07.02
2017.06.25
2017.06.23
2017.06.18
2017.06.12
2017.06.05
2017.05.29
2017.05.26
2017.05.23
2017.05.18.1
2017.05.18
2017.05.14
2017.05.09
2017.05.07
2017.05.01
2017.04.28
2017.04.26
2017.04.17
2017.04.16
2017.04.15
2017.04.14
2017.04.11
2017.04.09
2017.04.03
2017.04.02
2017.03.26
2017.03.24
2017.03.22
2017.03.20
2017.03.16
2017.03.15
2017.03.10
2017.03.07
2017.03.06
2017.03.05
2017.03.02
2017.02.28
2017.02.27
2017.02.24.1
2017.02.24
2017.02.22
2017.02.21
2017.02.17
2017.02.16
2017.02.14
2017.02.11
2017.02.10
2017.02.07
2017.02.04.1
2017.02.04
2017.02.01
2017.01.31
2017.01.29
2017.01.28
2017.01.25
2017.01.24
2017.01.22
2017.01.18
2017.01.16
2017.01.14
2017.01.10
2017.01.08
2017.01.05
2017.01.02
2016.12.31
2016.12.22
2016.12.20
2016.12.18
2016.12.15
2016.12.12
2016.12.09
2016.12.01
2016.11.27
2016.11.22
2016.11.18
2016.11.14.1
2016.11.14
2016.11.08.1
2016.11.08
2016.11.04
2016.11.02
2016.10.31
2016.10.30
2016.10.26
2016.10.25
2016.10.21.1
2016.10.21
2016.10.19
2016.10.16
2016.10.12
2016.10.07
2016.10.02
2016.09.27
2016.09.24
2016.09.19
2016.09.18
2016.09.15
2016.09.11.1
2016.09.11
2016.09.08
2016.09.04.1
2016.09.04
2016.09.03
2016.08.31
2016.08.28
2016.08.24.1
2016.08.24
2016.08.22
2016.08.19
2016.08.17
2016.08.13
2016.08.12
2016.08.10
2016.08.07
2016.08.06
2016.08.01
2016.07.30
2016.07.28
2016.07.26.2
2016.07.26.1
2016.07.26
2016.07.24
2016.07.22
2016.07.17
2016.07.16
2016.07.13
2016.07.11
2016.07.09.2
2016.07.09.1
2016.07.09
2016.07.07
2016.07.06
2016.07.05
2016.07.03.1
2016.07.03
2016.07.02
2016.07.01
2016.06.30
2016.06.27
2016.06.26
2016.06.25
2016.06.23.1
2016.06.23
2016.06.22
2016.06.20
2016.06.19.1
2016.06.19
2016.06.18.1
2016.06.18
2016.06.16
2016.06.14
2016.06.12
2016.06.11.3
2016.06.11.2
2016.06.11.1
2016.06.11
2016.06.05
2016.06.04
2016.06.03_tmp
2016.06.03
2016.06.02
2016.05.30.2
2016.05.30.1
2016.05.30
2016.05.21.2
2016.05.21.1
2016.05.21
2016.05.16
2016.05.10
2016.05.01
2016.04.24
2016.04.19
2016.04.13
2016.04.06
2016.04.05
2016.04.01
2016.03.27
2016.03.26
2016.03.25
2016.03.18
2016.03.14
2016.03.06
2016.03.01
2016.02.27
2016.02.22
2016.02.13
2016.02.10
2016.02.09.1
2016.02.09
2016.02.05.1
2016.02.05
2016.02.04
2016.02.01
2016.01.31
2016.01.29
2016.01.27
2016.01.23
2016.01.15
2016.01.14
2016.01.09
2016.01.01
2015.12.31
2015.12.29
2015.12.23
2015.12.21
2015.12.18
2015.12.13
2015.12.10
2015.12.09
2015.12.06
2015.12.05
2015.11.27.1
2015.11.27
2015.11.24
2015.11.23
2015.11.21
2015.11.19
2015.11.18
2015.11.15
2015.11.13
2015.11.10
2015.11.02
2015.11.01
2015.10.24
2015.10.23
2015.10.18
2015.10.16
2015.10.13
2015.10.12
2015.10.09
2015.10.06.2
2015.10.06.1
2015.10.06
2015.09.28
2015.09.22
2015.09.09
2015.09.03
2015.08.28
2015.08.23
2015.08.16.1
2015.08.16
2015.08.09
2015.08.06.1
2015.08.06
2015.07.28
2015.07.21
2015.07.18
2015.07.07
2015.07.04
2015.06.25
2015.06.15
2015.06.04.1
2015.06.04
2015.05.29
2015.05.20
2015.05.15
2015.05.10
2015.05.04
2015.05.03
2015.04.28
2015.04.26
2015.04.17
2015.04.09
2015.04.03
2015.03.28
2015.03.24
2015.03.18
2015.03.15
2015.03.09
2015.03.03.1
2015.03.03
2015.02.28
2015.02.26.2
2015.02.26.1
2015.02.26
2015.02.24.2
2015.02.24.1
2015.02.24
2015.02.23.1
2015.02.23
2015.02.21
2015.02.20
2015.02.19.3
2015.02.19.2
2015.02.19.1
2015.02.19
2015.02.18.1
2015.02.18
2015.02.17.2
2015.02.17.1
2015.02.17
2015.02.16.1
2015.02.16
2015.02.11
2015.02.10.5
2015.02.10.4
2015.02.10.3
2015.02.10.2
2015.02.10.1
2015.02.10
2015.02.09.3
2015.02.09.2
2015.02.09.1
2015.02.09
2015.02.08
2015.02.06
2015.02.04
2015.02.03.1
2015.02.03
2015.02.02.5
2015.02.02.4
2015.02.02.3
2015.02.02.2
2015.02.02.1
2015.02.02
2015.02.01
2015.01.30.2
2015.01.30.1
2015.01.30
2015.01.25
2015.01.23.4
2015.01.23.3
2015.01.23.2
2015.01.23.1
2015.01.23
2015.01.22
2015.01.16
2015.01.15.1
2015.01.15
2015.01.11
2015.01.10.2
2015.01.10.1
2015.01.10
2015.01.09.2
2015.01.09.1
2015.01.09
2015.01.08
2015.01.07.2
2015.01.07.1
2015.01.07
2015.01.05.1
2015.01.05
2015.01.04
2015.01.03
2015.01.02
2015.01.01
2014.12.17.2
2014.12.17.1
2014.12.17
2014.12.16.2
2014.12.16.1
2014.12.16
2014.12.15
2014.12.14
2014.12.13.1
2014.12.13
2014.12.12.7
2014.12.12.6
2014.12.12.5
2014.12.12.4
2014.12.12.3
2014.12.12.2
2014.12.12.1
2014.12.12
2014.12.11
2014.12.10.3
2014.12.10.2
2014.12.10.1
2014.12.10
2014.12.06.1
2014.12.06
2014.12.04.2
2014.12.04.1
2014.12.04
2014.12.03
2014.12.01
2014.11.27
2014.11.26.4
2014.11.26.3
2014.11.26.2
2014.11.26.1
2014.11.26
2014.11.25.1
2014.11.25
2014.11.24
2014.11.23.1
2014.11.23
2014.11.21.1
2014.11.21
2014.11.20.1
2014.11.20
2014.11.16
2014.11.15.1
2014.11.15
2014.11.14
2014.11.13.3
2014.11.13.2
2014.11.13.1
2014.11.13
2014.11.12.1
2014.11.12
2014.11.09
2014.11.04
2014.11.02.1
2014.11.02
2014.10.30
2014.10.29
2014.10.27
2014.10.26.2
2014.10.26.1
2014.10.26
2014.10.25
2014.10.24
2014.10.23
2014.10.18
2014.10.15
2014.10.13
2014.10.12
2014.10.05.2
2014.10.05.1
2014.10.05
2014.10.02
2014.09.29.2
2014.09.29.1
2014.09.29
2014.09.28.1
2014.09.28
2014.09.25
2014.09.24.1
2014.09.24
2014.09.22.1
2014.09.22
2014.09.19
2014.09.18
2014.09.16.1
2014.09.16
2014.09.15.1
2014.09.15
2014.09.14.3
2014.09.14.2
2014.09.14.1
2014.09.14
2014.09.12
2014.09.10.1
2014.09.10
2014.09.06
2014.09.04.3
2014.09.04.2
2014.09.04.1
2014.09.04
2014.09.01.2
2014.09.01.1
2014.09.01
2014.08.29
2014.08.28.2
2014.08.28.1
2014.08.28
2014.08.27.1
2014.08.27
2014.08.26
2014.08.25.3
2014.08.25.2
2014.08.25.1
2014.08.25
2014.08.24.6
2014.08.24.5
2014.08.24.4
2014.08.24.3
2014.08.24.2
2014.08.24.1
2014.08.24
2014.08.23
2014.08.22.3
2014.08.22.2
2014.08.22.1
2014.08.22
2014.08.21.3
2014.08.21.2
2014.08.21.1
2014.08.21
2014.08.10
2014.08.05
2014.08.02.1
2014.08.02
2014.07.30
2014.07.25.1
2014.07.25
2014.07.24
2014.07.23.2
2014.07.23.1
2014.07.23
2014.07.22
2014.07.21
2014.07.20.2
2014.07.20.1
2014.07.20
2014.07.15
2014.07.11.3
2014.07.11.2
2014.07.11.1
2014.07.11
2014.07.10
2014.06.26
2014.06.25
2014.06.24.1
2014.06.24
2014.06.19
2014.06.16
2014.06.09
2014.06.07
2014.06.04
2014.06.02
2014.05.31.4
2014.05.31.3
2014.05.31.2
2014.05.31.1
2014.05.31
2014.05.30.1
2014.05.30
2014.05.19
2014.05.17
2014.05.16.1
2014.05.16
2014.05.13
2014.05.12
2014.05.05
2014.04.30.1
2014.04.30
2014.04.21.6
2014.04.21.5
2014.04.21.4
2014.04.21.3
2014.04.21.2
2014.04.21.1
2014.04.21
2014.04.19
2014.04.13
2014.04.11.2
2014.04.11.1
2014.04.11
2014.04.07.4
2014.04.07.3
2014.04.07.2
2014.04.07.1
2014.04.07
2014.04.04.7
2014.04.04.6
2014.04.04.5
2014.04.04.4
2014.04.04.2
2014.04.04.3
2014.04.04.1
2014.04.04
2014.04.03.3
2014.04.03.2
2014.04.03.1
2014.04.03
2014.04.02
2014.04.01.3
2014.04.01.2
2014.04.01.1
2014.04.01
2014.03.30.1
2014.03.30
2014.03.29
2014.03.28
2014.03.27.1
2014.03.27
2014.03.25.1
2014.03.25
2014.03.24.5
2014.03.24.4
2014.03.24.3
2014.03.24.2
2014.03.24.1
2014.03.24
2013.03.24.2
2013.03.24.1
2013.03.24
2014.03.23
2014.03.21.5
2014.03.21.4
2014.03.21.3
2014.03.21.2
2014.03.21.1
2014.03.21
2014.03.20
2014.03.18.1
2014.03.18
2014.03.17
2014.03.12
2014.03.11
2014.03.10
2014.03.07.1
2014.03.07
2014.03.06
2014.03.04.2
2014.03.04.1
2014.03.04
2014.03.03
2014.02.28
2014.02.27.1
2014.02.27
2014.02.26
2014.02.25.1
2014.02.25
2014.02.24
2014.02.22.1
2014.02.22
2014.02.21.1
2014.02.21
2014.02.20
2014.02.19.1
2014.02.19
2014.02.17
2014.02.13
2014.02.10
2014.02.08.2
2014.02.08.1
2014.02.08
2014.02.06.3
2014.02.06.2
2014.02.06.1
2014.02.06
2014.02.05
2014.02.04.1
2014.02.04
2014.02.03.1
2014.02.03
2014.01.30.2
2014.01.30.1
2014.01.30
2014.01.29
2014.01.28.1
2014.01.28
2014.01.27.2
2014.01.27.1
2014.01.27
2014.01.23.4
2014.01.23.3
2014.01.23.2
2014.01.23.1
2014.01.23
2014.01.22.5
2014.01.22.4
2014.01.22.3
2014.01.22.2
2014.01.22.1
2014.01.22
2014.01.21.1
2014.01.21
2014.01.20
2014.01.17.2
2013.01.17.1
2013.01.17
2014.01.08
2014.01.07.5
2014.01.07.4
2014.01.07.3
2014.01.07.2
2014.01.07.1
2014.01.07
2014.01.06.1
2014.01.06
2014.01.05.6
2014.01.05.5
2014.01.05.4
2014.01.05.3
2014.01.05.1
2014.01.05
2014.01.03
2013.12.26
2013.12.23.4
2013.12.23.3
2013.12.23.2
2013.12.23.1
2013.12.23
2013.12.20
2013.12.17.2
2013.12.17.1
2013.12.17
2013.12.16.7
2013.12.16.6
2013.12.16.5
2013.12.16.4
2013.12.16.3
2013.12.16.2
2013.12.16.1
2013.12.16
2013.12.11.2
2013.12.11.1
2013.12.11
2013.12.10
2013.12.09.4
2013.12.09.3
2013.12.09.2
2013.12.09.1
2013.12.09
2013.12.08.1
2013.12.08
2013.12.04
2013.12.03
2013.12.02
2013.11.29
2013.11.28.1
2013.11.28
2013.11.26
2013.11.25.3
2013.11.25.2
2013.11.25.1
2013.11.25
2013.11.24.1
2013.11.24
2013.11.22.2
2013.11.22.1
2013.11.22
2013.11.21
2013.11.20
2013.11.19
2013.11.18.1
2013.11.18
2013.11.17
2013.11.15.1
2013.11.15
2013.11.13
2013.11.11
2013.11.07
2013.11.06.1
2013.11.06
2013.11.03
2013.11.02
2013.10.30
2013.10.29
2013.10.28
2013.10.23.2
2013.10.23.1
2013.10.23
2013.10.22
2013.10.18.2
2013.10.18.1
2013.10.18
2013.10.17
2013.10.15
2013.10.09
2013.10.07
2013.10.06
2013.10.04
2013.10.01.1
2013.10.01
2013.09.29
2013.09.24.2
2013.09.24.1
2013.09.24
2013.09.20.1
2013.09.20
2013.09.17
2013.09.16
2013.09.12
2013.11.09
2013.09.10
2013.09.07
2013.09.06.1
2013.09.06
2013.09.05
2013.09.04
2013.08.30
2013.08.29
2013.08.28.1
2013.08.28
2013.08.27
2013.08.23
2013.08.22
2013.08.21
2013.08.17
2013.08.15
2013.08.14
2013.08.09
2013.08.08.1
2013.08.08
2013.08.02
2013.07.31
2013.07.25.2
2013.07.25.1
2013.07.25
2013.07.24.2
2013.07.24.1
2013.07.24
2013.07.23.1
2013.07.23
2013.07.19
2013.07.18
2013.07.17.1
2013.07.17
2013.07.12
2013.07.11
2013.07.10
2013.07.08.1
2013.07.08
2013.07.07.01
2013.07.07
2013.07.05
2013.07.04
2013.07.02
2013.06.34.4
2013.06.34.3
2013.06.34.2
2013.06.34.1
2013.06.34
2013.06.33
2013.06.32
2013.06.31
2013.06.30
2013.06.29
2013.06.28
2013.06.27
2013.06.26
2013.06.25
2013.06.23
2013.06.21
2013.05.23
2013.05.14
2013.05.13
2013.05.10
2013.05.07
2013.05.06
2013.05.05
2013.05.04
2013.05.01
2013.04.31
2013.04.30
2013.04.28
2013.04.27
2013.04.22
2013.04.21
2013.04.18
2013.04.11
2013.04.03
2013.03.29
2013.02.25
2013.02.22
2012.02.22
2013.02.19
2013.02.18
2013.02.02
2013.02.01
2013.01.28
2013.01.27
2013.01.13
2013.01.12
2012.12.99
2013.01.11
2013.01.08
2013.01.06
2013.01.02
2012.12.11
2012.11.29
2012.11.28
2012.11.27
2012.11.17
2012.10.09
2012.09.27
2012.02.27
2012.02.26
2012.01.08b
2012.01.08
2012.01.05
2011.12.18
2011.12.15
2011.12.08
2011.11.23
2011.11.22
2011.11.21
2011.10.19
2011.09.30
2011.09.27
2011.09.18c
2011.09.18b
2011.09.18
2011.09.17
2011.09.16
2011.09.15
2011.09.14
2011.09.13
2011.08.04
2011.03.29
2011.02.25c
2011.02.25b
2011.02.25
2011.01.30
2010.12.09
2010.11.19
2010.10.24
2010.10.03
2010.08.04
2010.07.24
2010.07.22
2010.07.14
2010.06.06
2010.04.04
2010.04.03
2010.04.02
2010.03.13
2010.03.07
2010.02.13
2010.01.19
2010.01.06
2010.01.05
2009.12.26
2009.09.13
2009.09.08
2009.08.08
2009.06.29
2009.05.30
2009.05.25
2009.05.23
2009.05.13
2009.05.11
2009.04.25
2009.04.06
2009.03.28
2009.03.03
2009.02.07
2009.01.31
2008.11.01
2008.10.16
2008.09.20
2008.08.09
2008.07.22
Labels
Clear labels
DRM
Good first issue
account-needed
broken-IE
bug
build/update
cant-reproduce
clarification-needed
documentation
duplicate
external-bugs
fixed
geo-restricted
gh-pages
help-wanted
hls
incomplete
invalid
linux
mpd
not-a-bug
nsfw
offtopic
out-of-scope
outdated-version
patch-available
pending-fixes
php
postprocessors
question
regression
request
request
site-support-request
site-update-request
spam
subtitles
test-needed
tv-provider-account-needed
windows
won't fix
yt-dlp
No labels
DRM
Good first issue
account-needed
broken-IE
bug
build/update
cant-reproduce
clarification-needed
documentation
duplicate
external-bugs
fixed
geo-restricted
gh-pages
help-wanted
hls
incomplete
invalid
linux
mpd
not-a-bug
nsfw
offtopic
out-of-scope
outdated-version
patch-available
pending-fixes
php
postprocessors
question
regression
request
request
site-support-request
site-update-request
spam
subtitles
test-needed
tv-provider-account-needed
windows
won't fix
yt-dlp
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference
starred/youtube-dl-ytdl-org#3907
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @lapaci on GitHub (Jan 30, 2015).
I want to download small part of a video which is 2 hours long and 1080p. How can i do that with youtube-dl?
@phihag commented on GitHub (Jan 30, 2015):
At the moment, there is no such functionality. This is quite complicated internally, because we need to find a table of which times correspond to which byte intervals, interpret that table, download the partial file (that's actually the easy part), and then reassemble the whole shebang so that the headers are valid.
@Reino17 commented on GitHub (Jan 30, 2015):
You could try to let youtube-dl only generate the url and then feed that url to ffmpeg.
Something like this:
@mannemvamsi commented on GitHub (Feb 10, 2015):
Thank You.. !!
@nixxquality commented on GitHub (Feb 16, 2015):
+1
Long Twitch videos can sometimes be upwards of 5 GiB or more, and if you just want watch a small part of them, you have to wait a long time to be able to even watch that.
@AlexanderMatveev commented on GitHub (Apr 28, 2015):
@corone17 This command downloads a full video to /tmp files or somewhere, loads it for cutting OR it naturally retrieves a part of remote file?
@AlexanderMatveev commented on GitHub (Apr 28, 2015):
@corone17 This didn't work with long video: http://www.youtube.com/watch?v=eyU3bRy2x44 :-(
@Reino17 commented on GitHub (Apr 29, 2015):
@alexmatveev I didn't actually test it 3 months ago, so you could try and run the following as a batch-file:
If you make sure youtube-dl.exe and ffmpeg.exe are in the same directory, then this will work fine for your 3hour fireplace video :p.
Youtube-dl.exe will generate the direct videolink. This link will be the input for ffmpeg, which will then only download the section you specify.
@jaimeMF commented on GitHub (Sep 2, 2015):
Closing as a duplicate of #622.
@sergiy-talashko commented on GitHub (Apr 6, 2017):
@Reino17 Could you please write a shell script? (for linux users)
@Reino17 commented on GitHub (Apr 6, 2017):
I'm sorry, but I'm not a Linux user. I have very little experience with Linux's shell script.
@sergiy-talashko commented on GitHub (Apr 6, 2017):
@Reino17 Ok, still thanks
@andreikobe commented on GitHub (Nov 2, 2017):
i finally made an account because I'm desperate for a clipconverter dot cc alternative because they've recently made impossible restrictions to what they could download. Really hope you find a way :(
@KeithCu commented on GitHub (Jan 31, 2018):
I know this is a somewhat difficult feature, but it is a great one to add. Right now, I want to grab a 2 minute clip from a 3 gig video file! I'd love to be able to give you the -ss and -t flags like ffmpeg.
@josephomorrow commented on GitHub (May 1, 2018):
youtube-dl does have a --postprocessor-args command-line parameter. Example:
youtube-dl --postprocessor-args "-ss 00:13:00.00 -t 00:04:00.00" https://youtu.be/...
where -ss indicates start position (13 minutes in) and -t indicates new length (4 minutes) of output video. Just tried it with a 47-minute video that had about 4 hours of nothing on the end of it. I used --postprocessor-args "-t 00:47:00.0" and it worked fine.
@teocci commented on GitHub (May 3, 2018):
I know that this question is long but you can do it using this command:
You need to have the
ffmpeginstalled.@andreikobe commented on GitHub (May 3, 2018):
Yes, but that would mean I will have to download what could be a 1 gb file to get a few seconds
@josephomorrow commented on GitHub (May 3, 2018):
I was primarily giving a command-line-friendly solution. If your download speed is too slow, then what alternative would you suggest for downloading a smaller chunk of the original?
@noureddin commented on GitHub (May 3, 2018):
teocci's command works perfectly and doesn't download the entire video; I just tried it.
Inspired by it and Reino17's script, I hacked together a non-interactive Bash function that downloads a range of any youtube-dl downloadable video, provided you have ffmpeg.
You can put it in you
~/.bashrc. It should also work in Zsh.A few catches:
No download progress bar.
If a video has a higher resolution in a video-only format, which youtube-dl downloads by default, than the format labeled "(best)", you'll get a "HTTP error 400 Bad Request". Thus, I made it by default download the
bestsingle audio+video file. You can easily change it as it's a function argument.See this comment also.
@Reino17 commented on GitHub (May 4, 2018):
Very nice.
Lately I've become more and more familiar with Bash (although I'm still a Windows user), but some things are still new to me.
Does
${4:-best}mean: default to "-best" if the 4th parameter is empty?What does
${@:5}exactly do/mean (the@in particular)?You know the
$url-assignment can be simplified by doing$(youtube-dl -gf $fmt ${@:5} "$1")?Also note
Usage: youtube-dl.exe [OPTIONS] URL [URL...]that options (officially) need to go before the url.@noureddin commented on GitHub (May 4, 2018):
Thanks, Reino17.
${4:-best}returns the value of$4if it has a value, otherwise (if it's unset or null) the value after the:-is used, ie,best.This is one of the Parameter Expansions listed in
man bash. ;)$@is an array holding all the parameters passed to the function; ie, it's equivalent to$1 $2 $3 ....${@:5}returns$@without the first four elements.I preferred
--get-urlover-gmainly to be consistent with--get-filename, and also to be more readable, because it's not an option I use every day. But I've already used the short option-f. So I guess you're right.I also forgot to add the format option to the get-filename command, because it can change the extension.
As I can't find a documentation for the urls-options order except what you mentioned, I will change the code to put the urls at the end. Thanks.
I also added the
-statsoption to ffmpeg to show the progress bar of the encoding. (It shows after some time; I guess it downloads the relevant segment first.)For quieter output, you can remove
-stats, and change-loglevel warningto-loglevel quiet.@KeithCu commented on GitHub (May 10, 2018):
That's a great step. Do you think you could convert it to Python and submit it as a patch?
@noureddin commented on GitHub (May 10, 2018):
I am not familiar enough with youtube-dl source code to be able to make a patch, but I will try.
In the mean time, there are some other discussions about this feature, mainly: #8851, and #622.
And johnhawkinson suggested a good idea in #12347, but it doesn't seem to work in all cases.
@satnatantas commented on GitHub (May 21, 2018):
@noureddin do you know a way of doing same but with support for resuming?
@noureddin commented on GitHub (May 28, 2018):
@satnatantas, if ffmpeg can resume a paused transcoding, it can be done. But unfortunately I couldn't find a way to do that reliably; the best way I was able to find is to pause using
ctrl-zand then resume usingfg. I will be interested if you find a better way. :)@estathop commented on GitHub (Sep 17, 2018):
any progress ?
@AdityaGujrati commented on GitHub (Nov 28, 2020):
its 2020 now 5 year passed since that comment. Is that feature available now to trim the youtube video and dounload the specific parts.Please reply ASAP
@LesFerch commented on GitHub (Feb 20, 2021):
I made the following batch file to make it easier for me to download all or part of video, select desired streams, and extract/convert audio. Hopefully, others will find it helpful as well.
@AtomicNess123 commented on GitHub (Sep 22, 2021):
Does this download only the part of the video?
@LesFerch commented on GitHub (Sep 22, 2021):
Yes, if you choose the ffmpeg option.
But, please note the comment:
REM Using ffmpeg to download part of a video will only save time when downloading a very small chunk.
For example, that option saved me time when downloading the first five minutes of a two hour video. But selecting something like 15 minutes actually took longer than the youtube-dl method. YMMV. Do some trial and error testing to figure out the threshold for the video chunks you're downloading.
I'd be interested to hear your results.
@rhysperry111 commented on GitHub (Feb 18, 2022):
Just for anyone reading this issue who wants a quick way to do it on Linux, you can use
@AlexanderMatveev commented on GitHub (Feb 18, 2022):
This downloads full video and then crops it. A little off topic.
@rhysperry111 commented on GitHub (Feb 18, 2022):
No it doesn't... try it yourself if you don't believe me. It's the same solution that @Reino17 provided, but adapted for linux
@AtomicNess123 commented on GitHub (Feb 18, 2022):
Thanks! What would be the format of time? START_TIME = 2:30 (for 2 minutes 30 seconds)?
@rhysperry111 commented on GitHub (Feb 18, 2022):
You can read the ffmpeg docs to see other ways of specifying time, but hh:mm:ss works (00:02:30)
@AlexanderMatveev commented on GitHub (Feb 18, 2022):
My doubt is caused by the fact that youtube-dl doesn't get the start timestamp. This means that the video will download from the beginning. In any case, the above command does not work:
@rhysperry111 commented on GitHub (Feb 18, 2022):
That isn't what I wrote though... Also, you'll need to make sure youtube-dl doesn't automatically select separate formats for audio and video
@AlexanderMatveev commented on GitHub (Feb 18, 2022):
My bad, I copied wrong line from my bash history, so here is correct one:
I just thought that one of the commands might work differently on Mac and Linux. It doesn't seem to have this error under Linux, but it looks like the video is downloading from the start. I'll continue to try with other videos.
@AtomicNess123 commented on GitHub (Feb 18, 2022):
When I run this I get
{}: No such file or directory@josch commented on GitHub (Jul 25, 2022):
Don't forget to put quotes around your
{}because otherwise your shell will interpret them as special characters.Since there seems to be some confusion here about how this works and because some people assume that this will download the whole video first and only split afterwards, let me explain how this works.
The
-goption is short for--get-url: https://manpages.debian.org/bullseye/youtube-dl/youtube-dl.1.en.html#g, Running youtube-dl with it lets youtube-dl output a list of URLs, one per line. Each url can either be the URL to a video or the URL to an m3u or similar. So in case of downloading from twitch, just runningyoutube-dl -gwithout the xargs part will output a list of (but usually one) links to m3u files. These files are then all fed into ffmpeg and ffmpeg is then the one that actually follows the url and does the actual downloading. In case of twitch an m3u looks like this:The
EXTINFentries tell ffmpeg how long each of the*.tsfiles is so if you also pass the-ssoption to ffmpeg, then ffmpeg can pick out and download exactly those videos that it needs and ignore the rest. You will see this from the ffmpeg output which will not start downloading with0.tsbut will only start after some offset.@AtomicNess123 commented on GitHub (Jul 26, 2022):
youtube-dl -g https://www.youtube.com/watch?v=L_LUpnjgPso | xargs -I"{}" ffmpeg -ss 01:02:00 -i "{}" -c copy -t 01:01:00 1.mp4With quotes around {} does not work either, same message
{}: No such file or directory@josch commented on GitHub (Jul 26, 2022):
@AtomicNess123 what's your operating system and your version of xargs?
@AtomicNess123 commented on GitHub (Jul 26, 2022):
MacOS Catalina 10.15.7
FreeBSD: src/usr.bin/xargs/strnsubst.c,v 1.7 2004/10/18 15:40:47 cperciva ExpFreeBSD: src/usr.bin/xargs/xargs.c,v 1.57 2005/02/27 02:01:31 gad Exp@josch commented on GitHub (Jul 26, 2022):
@AtomicNess123 it seems that some versions of freebsd xargs do not have the
-Ioption. Compare:https://www.freebsd.org/cgi/man.cgi?query=xargs&manpath=FreeBSD+4.0-RELEASE
https://www.freebsd.org/cgi/man.cgi?query=xargs&manpath=FreeBSD+14.0-current
Maybe you can fix your problem by getting a more modern version of xargs.
@AtomicNess123 commented on GitHub (Jul 30, 2022):
I have been trying to find how to update xargs on my MAC, unsucessfully.
@josch commented on GitHub (Jul 30, 2022):
@AtomicNess123 depending on what you want to download, maybe you don't need xargs at all. Try running the first part, the
youtube-dl -gpart and see what it outputs. If it's just a single line, then you can feed that directly into ffmpeg without xargs. For example if I want to download parts of https://www.twitch.tv/videos/1541264505 then I run:Which (in my case) outputs:
I can then plug that into ffmpeg directly instead of the
{}like this:@mestrini commented on GitHub (Jun 18, 2023):
This worked out almost perfectly, except for the "FINISH_TIME" that should be "DURATION" since the flag "-t" is being used. Maybe that's why @AlexanderMatveev was assuming the video was being downloaded in full as he was telling the program to download more than one hour of video.
The other issue I have is not getting audio from the stream selected by youtube-dl. Investigating now either how to merge or how the select a stream with audio
Thanks @rhysperry111
EDIT:
Managed to extract just the portion I wanted and from the stream I wanted. :D
This is how I did it:
1 - Run
youtube-dl -F VIDEO_URLto get the list of different streams provided by youtube2 - Then run the original code but add
-f STREAM_IDafter the VIDEO_URL, like soyoutube-dl -g VIDEO_URL -f STREAM_ID | xargs -I{} ffmpeg -ss START_TIME -i "{}" -c copy -t DURATION OUTPUT_NAME@dirkf commented on GitHub (Jun 19, 2023):
A cross-platform yt-dl solution involving
--external-downloader ffmpeg --external-downloader-args ..., with no xargs, was shown in https://github.com/ytdl-org/youtube-dl/issues/4821#issuecomment-782748524, but the placement of the ffmpeg arguments supplied in--external-downloader-args ...may be incorrect (relative to the-i ...argument(s)). yt-dlp has additional syntax to control this which might eventually be back-ported.