youtube

Download Youtube Video in Golang

MIT License

Downloads
64
Stars
3.3K
Committers
55

Bot releases are visible (Hide)

youtube - v2.10.1 Latest Release

Published by corny 7 months ago

Changelog

  • 8c60517 Update dependencies
  • 4e2e0fc Fix linter errors
  • 3277442 fix precondition check failed error
  • c38aa71 support another language to transcript
youtube - v2.10.0

Published by corny 10 months ago

Changelog

  • 2e06f1f Rewrite format filters and allow filtering by langauge
  • 56da946 Fix specs
  • bcf9cdb Added audio track default sorting support
  • ad4281f Added format audio track
  • 3bb8266 Update dependencies
  • cf125f7 Close stream in ExampleClient
  • 87fd485 Update README
youtube - v2.9.0

Published by corny about 1 year ago

Changelog

  • 8eabf5f Use log/slog package
  • 31bf9e2 Update dependencies
  • 287d7aa Add ChannelHandle to Video struct (#299)
youtube - v2.8.4

Published by corny about 1 year ago

Changelog

  • d2576ac Fix downloadChunked for larger files
  • 14b47a0 Fix nil pointer dereference
  • 978570b Make data channel buffered
youtube - v2.8.3

Published by corny about 1 year ago

Changelog

  • 2218486 Update Github actions
  • ae551f8 Optimize downloading of chunks
  • c4f6e57 Optimize getChunks
  • 97b8b36 Add constant playerParams
youtube - v2.8.2

Published by corny about 1 year ago

Changelog

youtube - v2.8.1

Published by corny over 1 year ago

Changelog

  • a96ec24 Add missing call to assureClient
youtube - v2.8.0

Published by corny over 1 year ago

Changelog

  • ce3bbfa Merge branch 'fixes'
  • 3d2aef9 feat: integrate transcripts
  • cd26881 fix: default download size 1Mb > 10Mb
  • 3509e5f fix: cli
  • 02e0fbd fix: download speed
  • fbf9cf6 Create folder for artifacts
  • 847fcbd Make linter happy
  • 64b462b Update dependencies
  • 5223d83 Ignore .DS_Store files
  • 1ec7261 Update dependencies
  • 4bb101b Bump Go version
  • 3926c3b Update dependencies
  • d97bc8d fix: invalid toc
  • 2c5fdb9 Expose channelid from videodetails
  • 60666b3 Expose views count from video
  • 859194e Update dependencies
  • 1b7eb42 Update dependencies, Go and Ubuntu version
youtube - v2.7.18

Published by corny almost 2 years ago

Changelog

  • a2a6c0d Update dependencies
  • 60666b3 Expose views count from video
  • 859194e Update dependencies
  • 1b7eb42 Update dependencies, Go and Ubuntu version
youtube - v2.7.16

Published by corny about 2 years ago

Changelog

  • 7c18864 Remove snapcrafts from Goreleaser
  • 7a96dfe Split getNFunction into two functions
  • 73e51fb Add a string check for getting n func
  • 563a941 Fix gofmt
  • 5a2a720 Fix tests
  • a27c8e6 Fix #256
  • d2ecc4e Update dependencies
youtube - v2.7.10

Published by corny over 2 years ago

Changelog

  • 92b4acb Always add additional parameters to access sensitive content
  • 030be1a Add sensitive content confirmation bypass
youtube - v2.7.9

Published by corny over 2 years ago

Changelog

  • 704d6e2 Use innertube to get Playlist data
youtube - v2.7.8

Published by corny over 2 years ago

Changelog

  • 1c11c2d Add some missing fields in Playlist object (#231)
  • fae5ee9 Fix decipher (n-function name extraction)
youtube - v2.7.7

Published by corny over 2 years ago

Changelog

  • 202cc52 Fix decipher
  • 523784c Add example for GetStream
youtube - v2.7.6

Published by corny almost 3 years ago

Changelog

  • f504e7c Fix playability status handling
  • a271cf1 Remove debug output from playerCache
  • 7190a30 Update dependencies
youtube - v2.7.5

Published by corny almost 3 years ago

Changelog

  • b655d9a Allow shorter playlist IDs
  • 70f760b Move getSignatureTimestamp
  • 0134ef1 Adjust player cache
  • 50c287d Decode additional signature to unthrottle youtube
  • 085b030 Update dependencies
  • 49368a4 Cache playerId instead of videoId
  • 2165f8a Relax linter
  • b26a898 Upgrade Go version and dependencies
  • 33e1c14 fix download with content length == 0
  • 522c4f6 Merge pull request #205 from Camelva/agebypass
  • 01b9703 Type alias for better readability
  • 74fe760 small schedule fix, delete extra
  • 8881ed6 Added scheduled integration tests to run
  • 636d486 update itag info test case
  • d6450ce Update example_test
  • 1e12ff4 remove audio channel filter when using itag
  • 45a7414 Fix test failure
  • 8212e51 add tests
  • e888f66 Fix bug 206: No audio when downloading programatically
  • a26c384 Merge pull request #218 from robotomize/schedule-integration-tests
  • b58e546 small schedule fix, delete extra
  • a728bb7 Merge pull request #216 from robotomize/schedule-integration-tests
  • 9543f4e Added scheduled integration tests to run
  • 35a6342 Merge pull request #215 from Julian-Chu/fix/update_test_case
  • b6ef6fc update itag info test case
  • 7326273 Update example_test
  • f3e135e Now we can easily differ simply age-restricted videos and private, with limited access (which we can't get in any way)
  • f082d21 Simple age restriction bypass using embed client. Also some additional changes so it will be easy to add new clients in future
youtube - v2.7.4

Published by Julian-Chu about 3 years ago

Changelog

78e53b1 Merge pull request #211 from Julian-Chu/bugfix/remove-audio-filter-when-itag
232c15d remove audio channel filter when using itag

youtube - v2.7.3

Published by Julian-Chu about 3 years ago

Changelog

997e9e9 Merge pull request #207 from nksapphire/nksapphire/bug
6407076 Fix test failure
22aa267 add tests
87e92ad Fix bug 206: No audio when downloading programatically

youtube - v2.7.2

Published by corny over 3 years ago

Changelog

3650856 Update dependencies
a3286f2 Merge pull request #199 from Camelva/innertube
d542ea7 using real sts instead of hard-coded. Also changing function signature because we need context now
ab72fd5 moving part about fetching player config to separate function because we need to re-use it. Also declaring additional error for cases when we couldn't find sts
ef58cc0 Turns out, request without playbackContext and, in particular,signatureTimestamp always lead to 403 "Access Denied" after decrypting signature. This value seems like doesn't change too often, so temporarily hard-coding it just to fix problem as soon as possible. But later need to fetch it from youtube. Also browser metadata isn't mandatory for request, instead its better to specify language so server responses always be same

youtube - v2.7.1

Published by corny over 3 years ago

Changelog

d84e58f Merge branch 'innertube'
3eef184 Fix linter warnings
9a94ad3 cleaning unused code
22cd0a7 check for error type instead of hard-coded error message
98b61c3 server no more returns transitional response, hence ErrResponseStatus is redundant
c01d9f2 smooth transition to new youtube api
cbd2b2f Replace golint by revive
98332b0 Youtube Shorts fix
5ceff54 Update README
e6e81bf Upgrade Go version and dependencies

Package Rankings
Top 1.03% on Proxy.golang.org
Top 23.75% on Formulae.brew.sh
Badges
Extracted from project README
GitHub license Go Reference Build Status Coverage