mirror of
https://github.com/ytdl-org/youtube-dl.git
synced 2026-03-02 19:17:00 -05:00
KeyError: 'sig': youtube-dl unable to download Vevo videos due to the "use_cipher_signature" key being set to true. #655
Closed
opened 2026-02-20 23:09:38 -05:00 by deekerman
·
45 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#655
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 @awojnowski on GitHub (Jun 20, 2013).
I've created a more appropriately named issue for this, rather than "youtube-dl not working on debian" which is located here: https://github.com/rg3/youtube-dl/issues/896
Looks like YouTube has enabled a key named
use_cipher_signatureon Vevo videos. This renames thesigkey tosand hereby renders downloading non-functional.Here's an example dictionary from the
get_video_infopage:Here's an example from the
url_encoded_fmt_stream_map:Any idea what type of encryption/cipher they have used on the signature?
@phihag commented on GitHub (Jun 20, 2013):
To be able to effectively solve this, we need:
get_video_info/url_encoded_fmt_stream_map@awojnowski commented on GitHub (Jun 20, 2013):
From the
watch?v=fBt4VdlZLNIpage, I went an took one of thevideoplaybackURLs from the Network Inspector and it was so:With a
signatureof:And an
itagof 140.In the page source, the place where the URL with itag 140 is is in the
adaptive_fmtssection. Here is the contents of that section:Specifically, the dictionary with the matching
itagis as follows:Taking from that dictionary, a created URL would look like so:
The URL that was playing and the URL that is in the page source have the following differences (playing URL on top, page source on bottom):
So it looks like the URL in the page source doesn't have
cpn,keepalive, orrange. However, this doesn't make a difference since on my computer, all I have to do is swap the non-working signature for the working one, and the URL will return content.In conclusion, here's the signature comparison with the working one on top and the non-working one on the bottom:
@mikeygao commented on GitHub (Jun 20, 2013):
Is this bug fixed? Why I still get error with new update?
./youtube-dl -v -g -s https://www.youtube.com/watch?v=8UVNT4wvIGY
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-v', '-g', '-s', 'https://www.youtube.com/watch?v=8UVNT4wvIGY']
http://r20---sn-tt17rn7r.c.youtube.com/videoplayback?sver=3&itag=37&ratebypass=yes&ip=69.172.116.161&ms=au&fexp=935400%2C900504%2C908415%2C914051%2C916626%2C921047%2C928201%2C901208%2C929123%2C929915%2C929906%2C929907%2C929125%2C925714%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C904488%2C906840%2C931910%2C931913%2C932227%2C904830%2C919373%2C933701%2C904122%2C900816%2C909421%2C912711%2C935000%2C935102&mv=m&key=yt1&cp=U0hWRlhLU19IT0NONl9QRVdFOlBoYlRnMnl2NGR0&upn=rzjmFRiK0mg&newshard=yes&mt=1371781887&id=f1454d4f8c2f2066&ipbits=8&expire=1371805435&source=youtube&sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&gcr=ca
./youtube-dl https://www.youtube.com/watch?v=8UVNT4wvIGY
[youtube] Setting language
[youtube] 8UVNT4wvIGY: Downloading video webpage
[youtube] 8UVNT4wvIGY: Downloading video info webpage
[youtube] 8UVNT4wvIGY: Extracting video information
ERROR: unable to download video
@phihag commented on GitHub (Jun 20, 2013):
@mikeygao We released the new version before becoming aware of Youtube's change, and this issue is still marked open, so no, it hasn't been solved yet.
@ghost commented on GitHub (Jun 21, 2013):
Video available outside of US that appears to suffer from this. Is vevo tagged and throws the KeyError:sig error.
http://www.youtube.com/watch?v=xCUef_NmcP4
Hope it is helpful.
Can also provide output of error, but you seem to have it covered above.
@jaimeMF commented on GitHub (Jun 21, 2013):
I've some updates about it:
['args']['dashmpd']field in theytplayer.configthat points to a xml file that contains the urls, but...And example of the xml file with the urls is in : https://gist.github.com/jaimeMF/5830327
@strex commented on GitHub (Jun 21, 2013):
It seems you can still download the old formats, but you have to decrypt the signature (s=) first.
I found a addon for google chrome which is working with vevo videos.
It decrypts the singatures using a javascript function.
I dont know much about javascript, but I am sure it is possible to extract the method from it.
Here is the relevant file: http://pastebin.com/xtAzQnL2
@jaimeMF commented on GitHub (Jun 21, 2013):
@strex We need to know where that javascript code comes from, otherwise we can have license issues.
@strex commented on GitHub (Jun 21, 2013):
Hmm, yes than we can't use this.
Its from: http://www.overbits.net/chrome/youtube/
I cant find a license on their website.
@FiloSottile commented on GitHub (Jun 21, 2013):
We can break it by pure analysis with enough samples
Anyone volunteering to take about ten pairs? (Not much time ATM)
@awojnowski commented on GitHub (Jun 21, 2013):
Running the original signature noted above through the method named "k" from that JavaScript code (located here: http://pastebin.com/xtAzQnL2) seems to return the reversed signature. Curiously it doesn't seem to work on any other videos though (trying to find why).
@strex commented on GitHub (Jun 21, 2013):
It seems there is a bug.
The script only works when the encrypted signature is 87 chars long.
@awojnowski commented on GitHub (Jun 21, 2013):
Here's another cracked signature pair:
Looks like the signature is less than 87 most of the times on the
get_video_infopage whereas it is generally 87 characters long on the actualwatch?v=page.Edit:
And another pair:
@awojnowski commented on GitHub (Jun 21, 2013):
Signatures on the
get_video_infopage appear to be uniformly 86 characters in length. Example:From that JavaScript code, here is the method to crack the 87 character signature:
Contrasting that with the method to crack the 86 character signature (which doesn't work right now):
Looks like we need an example of a cracked 86 character long signature.
Edit: It appears as if the signature lengths on the get_video_info page actually fluctuate. I've seen 81, 86, and 87. The cracking method doesn't seem to work for it either.
@jaimeMF commented on GitHub (Jun 21, 2013):
@speedyapocalypse I have also seen sizes of 84, 85 and 91, also the length of the two parts of the key (after and before the points) don't have always the same length. Although the scheme of the signature is the same for all the formats in the same request, but it's useless if we don't know how to decrypt the key.
Anyway, here's the code for getting the key (for sizes 43 and 43 of the subparts only) :
@awojnowski commented on GitHub (Jun 21, 2013):
@jaimeMF It looks like they use a different cipher for 87 character long signatures (and presumably all others) when they are returned through the
get_video_infopage as opposed to thewatch?v=page. The algorithm you posted works just fine on the actualwatch?v=page whereas it does not work for 87 character long signatures returned through theget_video_infopage.Looks like we need an example of a working signature from the
get_video_infopage and it's encrypted counterpart, unless we just want to use thewatch?v=page to find the URLs.@jaimeMF commented on GitHub (Jun 21, 2013):
@speedyapocalypse I know, I have tried to use it with the ones in
get_video_info, but since they are not allways the same size, it's useless. Also, I haven't been able to get a counterpart of the one onget_video_info, when I run wireshark I don't see any call to that page, do you see it?Also, do you know how to extract the urls from the
watch?v=page?@awojnowski commented on GitHub (Jun 21, 2013):
@jaimeMF For sure. Here's the idea behind it (I have some written in JavaScript but I presume you'd be looking for Python so I'll let you write/interpret it):
In the page source they have something that looks like so:
So basically just use regex or whatnot to find the contents of the
url_encoded_fmt_steam_map. From there, you can split via the,character. Then just iterate through these like you would for theget_video_infopage.@jaimeMF commented on GitHub (Jun 21, 2013):
@speedyapocalypse That's great, I have been able to use it to download the failing videos!, see https://github.com/jaimeMF/youtube-dl/compare/vevo_fix, if you could test it, I would really thank you (once more :)). Now the videos are downloaded normally, not like in my previous attempt.
@mikeygao commented on GitHub (Jun 21, 2013):
Can somebody explain a little bit technology they use? The get_video_info will give encrypted signature. when dl or mplayer try to get the file from server, it has to decrypt signature and send out as &signature=decrypted.
If this is true, we can always find the input and output pair for youtube player or browser which are able to play file by capture all the package on LAN. But what is the point to do encryption if this is true?
@cinereous commented on GitHub (Jun 21, 2013):
I used jaimMF's changes, and things seem to be working: (As an aside; Can someone explain how I could have just fetched his changes? I just copied and pasted into youtube_dl/InfoExtractors.py on master, and then did a make; I didn't see his branch available with git branch -r... (I'm totally a user/n00b. ;p))
(Not A Vevo video) This video doesn't work unpatched; works with YoutubeIE: Detect New Vevo Style Videos:
http://www.youtube.com/watch?v=1ltcDfZMA3U
(Vevo) THIS video works without any patches, and I couldn't begin to understand why:
http://www.youtube.com/watch?v=OhhOU5FUPBE
(Vevo) This video didn't work unpatched, works with jaimeMF's patch:
http://www.youtube.com/watch?v=UxxajLWwzqY
jaimeMF: Thanks for the fix, mate.
@jaimeMF commented on GitHub (Jun 22, 2013):
@cinereous There's a branch on https://github.com/jaimeMF/youtube-dl called
vevo_fix, you can runto get the changes.
@jaimeMF commented on GitHub (Jun 22, 2013):
@cinereous Thanks for trying it, but does the first video you provide (http://www.youtube.com/watch?v=1ltcDfZMA3U) works with my patch?, I cannot download it, answer it in #900, please.
@mikeygao commented on GitHub (Jun 22, 2013):
Seems your patch only for 43 + . + 43 = 87 length sig. But I found with vevo is 81. Does vevo has different s length? Are you working on that now? thank very much for your excellent work.
type=video%2Fwebm%3B+codecs%3D%22vp8.0%2C+vorbis%22&url=http%3A%2F%2Fr5---sn-tt17rn7k.c.youtube.com%2Fvideoplayback%3Fgcr%3Dca%26ratebypass%3Dyes%26itag%3D45%26ip%3D69.172.116.161%26key%3Dyt1%26upn%3Dw0JQNyT_3cQ%26ipbits%3D8%26cp%3DU0hWRlhLT19HTkNONl9QRVNJOkNwWlNVV010QjQw%26ms%3Dau%26source%3Dyoutube%26sparams%3Dcp%252Cgcr%252Cid%252Cip%252Cipbits%252Citag%252Cratebypass%252Csource%252Cupn%252Cexpire%26mv%3Dm%26id%3Da51a5e11d326990d%26mt%3D1371778233%26expire%3D1371801824%26newshard%3Dyes%26fexp%3D900225%252C933202%252C900339%252C916625%252C921047%252C928201%252C901208%252C929123%252C929915%252C929906%252C929907%252C929125%252C925714%252C929919%252C931202%252C912512%252C912515%252C912521%252C906838%252C904488%252C906840%252C931910%252C931913%252C932227%252C904830%252C919373%252C933701%252C904122%252C909421%252C912711%252C935000%252C935102%26sver%3D3&itag=45&s=D19E615C9D3008E2D9310FCC44EECBEFAE323BD4.9DFD98C3092E2FC1C7549BCEC7A0FD73342C9D89&quality=hd720&fallback_host=tc.v5.cache3.c.youtube.com
@jaimeMF commented on GitHub (Jun 22, 2013):
Without a link to the original video there's little we can do, for the videos I have tried the signature in the video webpage is always of size 87, see this comment above for more info.
@rg3 commented on GitHub (Jun 23, 2013):
I edited the issue title to put the prominent error message in it.
@ldo commented on GitHub (Jun 23, 2013):
Here’s another one with the same issue, if it helps: http://www.youtube.com/watch?v=iW1W34A-n4I
@phihag commented on GitHub (Jun 23, 2013):
This is now implemented in youtube-dl. Type
to update.
@mikeygao commented on GitHub (Jun 26, 2013):
HI, there,
Is this function being committed to youtube-dl already?
On Wed, Jun 26, 2013 at 6:09 AM, mix1009 notifications@github.com wrote:
@FiloSottile commented on GitHub (Jun 26, 2013):
Yes, simply update youtube-dl to the latest version.
There's a remaining issue for which you might have to try to download a
video twice, but they should all work.
@MrMetric commented on GitHub (Jun 27, 2013):
I'm still getting an error with this video:
Trying multiple times does not help
@FiloSottile commented on GitHub (Jun 27, 2013):
They changed it. Again.
I've fixed it in HEAD, update from git or wait some minutes that I make a release.
@phihag commented on GitHub (Jun 27, 2013):
@iloveportalz0r Your URL works fien for me in youtube-dl v2013.06.34 (note that
-tis the default by now). Typeto update.
@MrMetric commented on GitHub (Jun 27, 2013):
Ah, it works now. Thanks!
@mikeygao commented on GitHub (Jun 27, 2013):
Hi, there,
If I use youtube-dl to download, it works fine. But if I use the same
function to decrypt in android, it doesn't work. If I get url and hardcode
to my code in android, it still doesn't work even I know it is not expired
yet. Below is compare two output for url:
Could you please take a look at to see what difference between them? Thanks
very much!
Youtube-dl:
http://r5---sn-tt17rn76.c.youtube.com/videoplayback?
upn=0qKLvLuNal4&
key=yt1&
cp=U0hWR1NTUF9MTENONl9LTVRHOkdZQmJpY0NaeHdD&
id=7d635a47eaf10227&
newshard=yes&
ip=69.172.92.164&
ratebypass=yes&
mt=1372356453&
sver=3&
itag=37&
ms=au&
fexp=909548%2C907720%2C927905%2C924366%2C916623%2C901440%2C906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C900816%2C926403%2C909421%2C912711%2C935000&
source=youtube&
sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&
expire=1372382672&
gcr=ca&
ipbits=8&
mv=m&
signature=BD13680E6C50683814077BA4665AA7392DC053E9.90B30F6865E7C72E99436BE89A32E57C3F73BCAB
Anroid:
http://r2---sn-huvuxaxjvh-t0ae.c.youtube.com/videoplayback?
itag=18&
gcr=ca&
mt=1372356453&
key=yt1&
ip=199.182.204.251&
upn=pH8PkxO-8ws&
cp=U0hWR1NTUF9MTENONl9LTVRHOkpDZ1pIQVJDbjVh&
newshard=yes&
source=youtube&
sver=3&
expire=1372382672&
fexp=931916%2C936200%2C935800%2C916624%2C906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C900816%2C909421%2C912711%2C935000&
mv=m&
id=7d635a47eaf10227&
ms=au&
sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&
ratebypass=yes&
ipbits=8&
signature=50DF0657C9AD6CAE67459067CCD9E921084354853B0.30F9DC8358500D95933E5241364DE66662065F074852
On Thu, Jun 27, 2013 at 2:51 PM, Pelvis Elsrey notifications@github.comwrote:
@mikeygao commented on GitHub (Jun 27, 2013):
Another url
http://r2---sn-huvuxaxjvh-t0ae.c.youtube.com/videoplayback?id=b781ff66887b1b90&newshard=yes&fexp=900148%2C906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C900816%2C909421%2C912711%2C935000&sparams=algorithm%2Cburst%2Ccp%2Cfactor%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Csource%2Cupn%2Cexpire&cp=U0hWR1NUTl9IS0NONl9LTlJCOnlrTUFPYkh5bC10&algorithm=throttle-factor&key=yt1&ip=199.182.204.251&sver=3&factor=1.25&mv=m&ipbits=8&mt=1372365645&source=youtube&upn=DblqhRhqceY&ms=au&burst=40&expire=1372390131&itag=17&gcr=ca&ratebypass=yes&signature=F0880F2B965BFD9199E1AF25A65B635F077FBCAA.C022EC2904CFC3DF604FAA2A105A520B2F40924D
On Thu, Jun 27, 2013 at 3:17 PM, Yan Gao ygao.dsp@gmail.com wrote:
@mikeygao commented on GitHub (Jun 27, 2013):
I am very sorry for this long message. But I really need your help. Below
is two url one is from youtube-dl output and it works even I hardcode into
my code. Another is generate from my code from android. Didn't see much
different except expr's length.
work:
./youtube-dl -v -f 18 -g -s https://www.youtube.com/watch?v=8UVNT4wvIGY
"http://r20---sn-tt17rn7r.c.youtube.com/videoplayback?expire=1372392235&
mv=m&
ipbits=8&
ratebypass=yes&
gcr=ca&
ms=au&
itag=18&
key=yt1&
source=youtube&
fexp=903802%2C912510%2C906434%2C929404%2C916613%2C906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C932211%2C919008%2C900816%2C926403%2C909421%2C912711%2C935000&
sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&
mt=1372367009&
cp=U0hWR1NUUF9IT0NONl9LTlRDOmk1T0tOUnd0QlB0&
upn=0dbWkkuy4jI&
newshard=yes&
sver=3&
ip=69.172.92.164&
id=f1454d4f8c2f2066&
signature=2F6B60747173EDCE619C9E1002ED3C400302D0C0.AA927EE054BC0A1EC8DF5C6A78798E6E8885E2D4"
doesn't work
http://r20---sn-tt17rn7r.c.youtube.com/videoplayback?expire=1372392235&
sver=3&
source=youtube&
mt=1372367860&
ms=au&
id=f1454d4f8c2f2066&
ratebypass=yes&
mv=m&
newshard=yes&
itag=18&
gcr=ca&
cp=U0hWR1NUUF9IT0NONl9LTlRDOmFZLWRtaHNxVkRs&
upn=GNtCXL08XU0&
fexp=906397%2C928201%2C929123%2C929915%2C929906%2C929907%2C929125%2C929127%2C925714%2C929917%2C929919%2C931202%2C912512%2C912515%2C912521%2C906838%2C906840%2C931913%2C904830%2C919373%2C933701%2C904122%2C900816%2C909421%2C912711&
sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource%2Cupn%2Cexpire&
ipbits=8&
ip=69.172.92.164&
key=yt1&
signature=8112B5484FDE0CB1DC5063DCAF0EA42B948100C.8DB3596F33F8DEB1DED3BC8B6829ED09576149BE1
On Thu, Jun 27, 2013 at 4:48 PM, Yan Gao ygao.dsp@gmail.com wrote:
@phihag commented on GitHub (Jun 27, 2013):
@mikeygao Do I understand your message correctly in youtube-dl is working fine, but you have trouble in another application which tries to download from the URLs generated by youtube-dl? If so, then that's probably the problem, as content provider often tie the URL to a specific IP address, session (identified by cookies. see
--cookies), user agent, or even other headers.You can try reproducing the whole URL generation code in your android app, or just run youtube-dl from your app.
@FiloSottile commented on GitHub (Jun 27, 2013):
I get that he is trying to emulate YouTube-dl behavior.
Filippo Valsorda
@mikeygao commented on GitHub (Jun 27, 2013):
Thanks for replay. Yes, I am doing a youtube like app on android
application to watch video instead of download it. I worked just fine
before vevo signature get encrypted. Now thanks for youtube-dl, it works!
So I write a similar function in java.
On Thu, Jun 27, 2013 at 6:35 PM, Filippo Valsorda
notifications@github.comwrote:
@mikeygao commented on GitHub (Jun 27, 2013):
I do exactly the same as you said to get s and decrypting it. It looks for
sig and s instead if not found the first. The decrypt function tested
compare to youtube-dl's with input and output is right.
On Thu, Jun 27, 2013 at 8:59 PM, Yan Gao ygao.dsp@gmail.com wrote:
@netllama commented on GitHub (Jun 27, 2013):
@mikeygao could you possibly submit a new issue to discuss this? You're hijiacking someone else's bug, which isn't nice. I doubt that the majority of the others monitoring this issue want to be spammed with monitoring emails discussing your development problems.
@mikeygao commented on GitHub (Jun 27, 2013):
I am sorry about that. That is true. I will do that.
On Thu, Jun 27, 2013 at 9:06 PM, Lonni J Friedman
notifications@github.comwrote:
@sumoanand commented on GitHub (Jul 29, 2013):
thanks, it works now.
@Thomas-RV commented on GitHub (Nov 5, 2014):
Read some Javascript functions in some Youtube Html pages for encoding the video signature from the "url_encoded_fmt_stream_map" value.
Guess, for a proper and stable solution you will have to parse that huge Javascript file, referenced after tag "js": in the player-config section of the Html and apply a Javascript engine to evaluate the signature.