ytextract 0.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,145 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Temp files
10
+ *~
11
+ ~*
12
+ .*~
13
+ \#*
14
+ .#*
15
+ *#
16
+
17
+ # Distribution / packaging
18
+ .Python
19
+ build/
20
+ develop-eggs/
21
+ dist/
22
+ downloads/
23
+ eggs/
24
+ .eggs/
25
+ lib/
26
+ lib64/
27
+ parts/
28
+ sdist/
29
+ var/
30
+ wheels/
31
+ *.egg-info/
32
+ .installed.cfg
33
+ *.egg
34
+ MANIFEST
35
+
36
+ # PyInstaller
37
+ # Usually these files are written by a python script from a template
38
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
39
+ *.manifest
40
+ *.spec
41
+
42
+ # Installer logs
43
+ pip-log.txt
44
+ pip-delete-this-directory.txt
45
+
46
+ # Unit test / coverage reports
47
+ htmlcov/
48
+ .tox/
49
+ .coverage
50
+ .coverage.*
51
+ .cache
52
+ nosetests.xml
53
+ coverage.xml
54
+ *.cover
55
+ .hypothesis/
56
+ .pytest_cache/
57
+ *.mp4
58
+
59
+ # Performance profiling
60
+ prof/
61
+ *.cprof
62
+
63
+ # Debian Files
64
+ debian/files
65
+ debian/python-beaver*
66
+
67
+ # Sphinx build
68
+ doc/_build
69
+
70
+ # Generated man page
71
+ doc/aws_hostname.1
72
+
73
+ _run.py
74
+ _devfiles/*
75
+
76
+ _build
77
+ _static
78
+ _templates
79
+ _autosummary
80
+ .pytest_cache*
81
+
82
+ .vscode/
83
+
84
+ # mkdocs documentation
85
+ /site
86
+
87
+ # mypy
88
+ .mypy_cache/
89
+
90
+ # Mac
91
+ .DS_Store
92
+ .AppleDouble
93
+ .LSOverride
94
+
95
+ # Icon must end with two \r
96
+ Icon?
97
+ Icon
98
+
99
+
100
+ # Thumbnails
101
+ ._*
102
+
103
+ # Files that might appear in the root of a volume
104
+ .DocumentRevisions-V100
105
+ .fseventsd
106
+ .Spotlight-V100
107
+ .TemporaryItems
108
+ .Trashes
109
+ .VolumeIcon.icns
110
+ .com.apple.timemachine.donotpresent
111
+
112
+ # Directories potentially created on remote AFP share
113
+ .AppleDB
114
+ .AppleDesktop
115
+ Network Trash Folder
116
+ Temporary Items
117
+ .apdisk
118
+
119
+ .dropbox
120
+
121
+ # Generated
122
+ test/**/*.xml
123
+ /*.gv
124
+ /*.dot
125
+ /*.xml
126
+
127
+ # PyCharm
128
+ .idea/
129
+ .idea/workspace.xml
130
+ .idea/usage.statistics.xml
131
+ .idea/tasks.xml
132
+ .idea/modules.xml
133
+ .idea/*.iml
134
+
135
+ # Additional IDE files
136
+ *.sublime-project
137
+
138
+ # Common virtual environments
139
+ venv/
140
+ env/
141
+
142
+ # Token cache location
143
+ __cache__/
144
+ captions/*
145
+ videos/*
@@ -0,0 +1,24 @@
1
+ This is free and unencumbered software released into the public domain.
2
+
3
+ Anyone is free to copy, modify, publish, use, compile, sell, or
4
+ distribute this software, either in source code form or as a compiled
5
+ binary, for any purpose, commercial or non-commercial, and by any
6
+ means.
7
+
8
+ In jurisdictions that recognize copyright laws, the author or authors
9
+ of this software dedicate any and all copyright interest in the
10
+ software to the public domain. We make this dedication for the benefit
11
+ of the public at large and to the detriment of our heirs and
12
+ successors. We intend this dedication to be an overt act of
13
+ relinquishment in perpetuity of all present and future rights to this
14
+ software under copyright law.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
+ IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
20
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
+ OTHER DEALINGS IN THE SOFTWARE.
23
+
24
+ For more information, please refer to <http://unlicense.org/>
@@ -0,0 +1 @@
1
+ include *
@@ -0,0 +1,175 @@
1
+ Metadata-Version: 2.4
2
+ Name: ytextract
3
+ Version: 0.0.1
4
+ Summary: Python 3 library for downloading YouTube Videos.
5
+ Home-page: https://github.com/Josh-XT/ytextract
6
+ Author: Josh-XT
7
+ License: The Unlicense (Unlicense)
8
+ Project-URL: Bug Reports, https://github.com/Josh-XT/ytextract/issues
9
+ Keywords: youtube,download,video,stream
10
+ Classifier: Development Status :: 5 - Production/Stable
11
+ Classifier: Environment :: Console
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: The Unlicense (Unlicense)
14
+ Classifier: Natural Language :: English
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Programming Language :: Python :: 3.7
17
+ Classifier: Programming Language :: Python :: 3.8
18
+ Classifier: Programming Language :: Python :: 3.9
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python
22
+ Classifier: Topic :: Internet
23
+ Classifier: Topic :: Multimedia :: Video
24
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
25
+ Classifier: Topic :: Terminals
26
+ Classifier: Topic :: Utilities
27
+ Requires-Python: >=3.7
28
+ Description-Content-Type: text/markdown
29
+ License-File: LICENSE
30
+ Requires-Dist: selenium
31
+ Requires-Dist: webdriver-manager
32
+ Dynamic: author
33
+ Dynamic: classifier
34
+ Dynamic: description
35
+ Dynamic: description-content-type
36
+ Dynamic: home-page
37
+ Dynamic: keywords
38
+ Dynamic: license
39
+ Dynamic: license-file
40
+ Dynamic: project-url
41
+ Dynamic: requires-dist
42
+ Dynamic: requires-python
43
+ Dynamic: summary
44
+
45
+
46
+ # ytextract
47
+
48
+ *ytextract* is a genuine, lightweight Python library (and command-line utility) for downloading YouTube videos.
49
+
50
+ ## Description
51
+
52
+ YouTube is the most popular video-sharing platform in the world and as a hacker, you may encounter a situation where you want to script something to download videos. For this, I present to you: *ytextract*.
53
+
54
+ *ytextract* is a lightweight library written in Python. It has minimal dependencies and aims to be highly reliable.
55
+
56
+ *ytextract* also makes pipelining easy, allowing you to specify callback functions for different download events, such as ``on progress`` or ``on complete``.
57
+
58
+ Furthermore, *ytextract* includes a command-line utility, allowing you to download videos right from the terminal.
59
+
60
+ ## Features
61
+
62
+ - Support for both progressive & DASH streams
63
+ - Easily register ``on_download_progress`` & ``on_download_complete`` callbacks
64
+ - Command-line interface included
65
+ - Caption track support
66
+ - Outputs caption tracks to .srt format (SubRip Subtitle)
67
+ - Ability to capture thumbnail URL
68
+ - Extensively documented source code
69
+
70
+ ## Quickstart
71
+
72
+ ### Installation
73
+
74
+ ytextract requires an installation of Python 3.7 or greater, as well as pip. (Pip is typically bundled with Python [installations](https://python.org/downloads).)
75
+
76
+ To install from PyPI with pip:
77
+
78
+ ```bash
79
+ pip install ytextract
80
+ ```
81
+
82
+ Or install from source:
83
+
84
+ ```bash
85
+ pip install -e .
86
+ ```
87
+
88
+ ### Using the command-line interface
89
+
90
+ Use the `ytextract` command in a terminal to download videos, captions, or multiple videos from a list or channel.
91
+
92
+ #### Download a single video
93
+
94
+ To download a video at the highest progressive quality, you can use the following command:
95
+
96
+ ```bash
97
+ ytextract https://youtube.com/watch?v=2lAe1cqCOXo
98
+ ```
99
+
100
+ #### Download captions for a video
101
+
102
+ To download only captions for a video, use the `--captions` flag:
103
+
104
+ ```bash
105
+ ytextract --captions https://youtube.com/watch?v=2lAe1cqCOXo
106
+ ```
107
+
108
+ #### Download Videos from a list in a text file
109
+
110
+ To download multiple videos from a text file containing YouTube video URLs (one URL per line), use the `--file` flag:
111
+
112
+ ```bash
113
+ ytextract --file videos.txt
114
+ ```
115
+
116
+ #### Download Videos from a Channel, or multiple Channels
117
+
118
+ To download all videos from one or more YouTube channels, use the `--channels` flag followed by the channel usernames:
119
+
120
+ ```bash
121
+ ytextract --channels officialalphablocks Numberblocks
122
+ ```
123
+
124
+
125
+ ### Using ytextract in a Python script
126
+
127
+ To download a video using the library in a script, simply import ytextract and call the helper functions directly.
128
+
129
+ #### Download a single video
130
+
131
+ Set the `url` parameter to the YouTube video URL you wish to download.
132
+
133
+ ```python
134
+ import ytextract
135
+
136
+ ytextract.download(url="https://www.youtube.com/watch?v=VIDEO_ID")
137
+ ```
138
+
139
+ #### Download captions for a video
140
+
141
+ Set the `url` parameter to the YouTube video URL you wish to download captions for.
142
+
143
+ ```python
144
+ import ytextract
145
+
146
+ ytextract.download_captions(url="https://www.youtube.com/watch?v=VIDEO_ID")
147
+ ```
148
+
149
+ #### Download Videos from a list from videos.txt
150
+
151
+ You can change the filename argument to any text file containing YouTube video URLs (one URL per line).
152
+
153
+ ```python
154
+ import ytextract
155
+
156
+ ytextract.download_videos_from_list(filename="videos.txt")
157
+ ```
158
+
159
+ #### Download Videos from a Channel, or multiple Channels
160
+
161
+ You can specify one or more channel usernames in the `channels` parameter to download all videos from those channels.
162
+
163
+ ```python
164
+ import ytextract
165
+
166
+ ytextract.download_videos_from_channels(channels=["officialalphablocks", "Numberblocks"])
167
+ ```
168
+
169
+ ## License
170
+
171
+ This project is licensed under The Unlicense - see the [LICENSE](LICENSE) file for details.
172
+
173
+ ## Contributing
174
+
175
+ Feel free to open an issue or a pull request at https://github.com/Josh-XT/ytextract
@@ -0,0 +1,130 @@
1
+ # ytextract
2
+
3
+ *ytextract* is a genuine, lightweight Python library (and command-line utility) for downloading YouTube videos.
4
+
5
+ ## Description
6
+
7
+ YouTube is the most popular video-sharing platform in the world and as a hacker, you may encounter a situation where you want to script something to download videos. For this, I present to you: *ytextract*.
8
+
9
+ *ytextract* is a lightweight library written in Python. It has minimal dependencies and aims to be highly reliable.
10
+
11
+ *ytextract* also makes pipelining easy, allowing you to specify callback functions for different download events, such as ``on progress`` or ``on complete``.
12
+
13
+ Furthermore, *ytextract* includes a command-line utility, allowing you to download videos right from the terminal.
14
+
15
+ ## Features
16
+
17
+ - Support for both progressive & DASH streams
18
+ - Easily register ``on_download_progress`` & ``on_download_complete`` callbacks
19
+ - Command-line interface included
20
+ - Caption track support
21
+ - Outputs caption tracks to .srt format (SubRip Subtitle)
22
+ - Ability to capture thumbnail URL
23
+ - Extensively documented source code
24
+
25
+ ## Quickstart
26
+
27
+ ### Installation
28
+
29
+ ytextract requires an installation of Python 3.7 or greater, as well as pip. (Pip is typically bundled with Python [installations](https://python.org/downloads).)
30
+
31
+ To install from PyPI with pip:
32
+
33
+ ```bash
34
+ pip install ytextract
35
+ ```
36
+
37
+ Or install from source:
38
+
39
+ ```bash
40
+ pip install -e .
41
+ ```
42
+
43
+ ### Using the command-line interface
44
+
45
+ Use the `ytextract` command in a terminal to download videos, captions, or multiple videos from a list or channel.
46
+
47
+ #### Download a single video
48
+
49
+ To download a video at the highest progressive quality, you can use the following command:
50
+
51
+ ```bash
52
+ ytextract https://youtube.com/watch?v=2lAe1cqCOXo
53
+ ```
54
+
55
+ #### Download captions for a video
56
+
57
+ To download only captions for a video, use the `--captions` flag:
58
+
59
+ ```bash
60
+ ytextract --captions https://youtube.com/watch?v=2lAe1cqCOXo
61
+ ```
62
+
63
+ #### Download Videos from a list in a text file
64
+
65
+ To download multiple videos from a text file containing YouTube video URLs (one URL per line), use the `--file` flag:
66
+
67
+ ```bash
68
+ ytextract --file videos.txt
69
+ ```
70
+
71
+ #### Download Videos from a Channel, or multiple Channels
72
+
73
+ To download all videos from one or more YouTube channels, use the `--channels` flag followed by the channel usernames:
74
+
75
+ ```bash
76
+ ytextract --channels officialalphablocks Numberblocks
77
+ ```
78
+
79
+
80
+ ### Using ytextract in a Python script
81
+
82
+ To download a video using the library in a script, simply import ytextract and call the helper functions directly.
83
+
84
+ #### Download a single video
85
+
86
+ Set the `url` parameter to the YouTube video URL you wish to download.
87
+
88
+ ```python
89
+ import ytextract
90
+
91
+ ytextract.download(url="https://www.youtube.com/watch?v=VIDEO_ID")
92
+ ```
93
+
94
+ #### Download captions for a video
95
+
96
+ Set the `url` parameter to the YouTube video URL you wish to download captions for.
97
+
98
+ ```python
99
+ import ytextract
100
+
101
+ ytextract.download_captions(url="https://www.youtube.com/watch?v=VIDEO_ID")
102
+ ```
103
+
104
+ #### Download Videos from a list from videos.txt
105
+
106
+ You can change the filename argument to any text file containing YouTube video URLs (one URL per line).
107
+
108
+ ```python
109
+ import ytextract
110
+
111
+ ytextract.download_videos_from_list(filename="videos.txt")
112
+ ```
113
+
114
+ #### Download Videos from a Channel, or multiple Channels
115
+
116
+ You can specify one or more channel usernames in the `channels` parameter to download all videos from those channels.
117
+
118
+ ```python
119
+ import ytextract
120
+
121
+ ytextract.download_videos_from_channels(channels=["officialalphablocks", "Numberblocks"])
122
+ ```
123
+
124
+ ## License
125
+
126
+ This project is licensed under The Unlicense - see the [LICENSE](LICENSE) file for details.
127
+
128
+ ## Contributing
129
+
130
+ Feel free to open an issue or a pull request at https://github.com/Josh-XT/ytextract
@@ -0,0 +1,137 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "metadata": {},
6
+ "source": [
7
+ "# ytextract Examples"
8
+ ]
9
+ },
10
+ {
11
+ "cell_type": "code",
12
+ "execution_count": null,
13
+ "metadata": {},
14
+ "outputs": [],
15
+ "source": [
16
+ "import ytextract"
17
+ ]
18
+ },
19
+ {
20
+ "cell_type": "markdown",
21
+ "metadata": {},
22
+ "source": [
23
+ "## Download a Video"
24
+ ]
25
+ },
26
+ {
27
+ "cell_type": "code",
28
+ "execution_count": null,
29
+ "metadata": {},
30
+ "outputs": [
31
+ {
32
+ "data": {
33
+ "text/plain": [
34
+ "'Downloaded video from https://www.youtube.com/watch?v=1HAcza0nE34'"
35
+ ]
36
+ },
37
+ "execution_count": 9,
38
+ "metadata": {},
39
+ "output_type": "execute_result"
40
+ }
41
+ ],
42
+ "source": [
43
+ "ytextract.download_video(url=\"https://www.youtube.com/watch?v=1HAcza0nE34\")"
44
+ ]
45
+ },
46
+ {
47
+ "cell_type": "markdown",
48
+ "metadata": {},
49
+ "source": [
50
+ "## Download Captions for Video"
51
+ ]
52
+ },
53
+ {
54
+ "cell_type": "code",
55
+ "execution_count": null,
56
+ "metadata": {},
57
+ "outputs": [
58
+ {
59
+ "name": "stdout",
60
+ "output_type": "stream",
61
+ "text": [
62
+ "Captions of video titled `SpaceX's Frantic Push to Launch the Next Starship Mission is Nuts!` at https://www.youtube.com/watch?v=1HAcza0nE34:\n",
63
+ "It has been over a week since Starship’s Flight Test 3 and since then we’ve had loads of opportunity to analyze more of that groundbreaking flight. What about flight test 4 coming up though? Yes, I’ve already got updates on that as we watch SpaceX rip back into action to prepare for all of that madness. Along with all this though, it’s been super busy outside Starship Development in Texas, so hold on tight because we have yet another gigantic week. Hey, Hey Marcus House with you here and today, this is a fun one because we’ve got so much to talk about to dive into the deeper detail around the incredible Starship Flight Test 3. First, let’s just catch up on the work that has been going on in the aftermath of that. Here we were back at the Gateway to Mars to check out how well the launch pad and infrastructure survived. Starship Gazer was out in the dunes not long after the road opened back up to catch these images. The orbital launch mount definitely looks a little toastier compared to the day before, but we think overall this still in great shape there! The same story for the tower base too. Yes, those new stainless steel cladding sections they installed used to be a light gray and have now been given a nice coating from that intense 33 Raptor plume. Again though, they look to be in great shape. No warping or damage that we can see, so that was a great addition to prevent the concrete of the tower base from being damaged or just eaten away. Given that these photos were taken only around 3 hours after launch, the pad really does look to be in good condition! Well apart from what looks like some minor warping from the booster quick disconnect hood, but that perhaps be the perspective there tricking us from this angle.\n",
64
+ "Compared to the chaos we saw after Flight 1, I wouldn’t have believed you that the world’s most powerful rocket launched from here only a few hours earlier. The question on everyone’s minds though was if the flame deflector system survived the launch as nicely as it seemed to in flight 2, and RGV Aerial Photography was up in the air in no time to find out. Not just take a look at this. There doesn’t seem to be any cracks or anomalies in the concrete that I can see there at all. Although there is a cover over the steel plate in some areas so that debris doesn’t make its way down into all the holes there, you can see it still looks perfectly intact.\n",
65
+ "So much so that SpaceX were immediately back into the grind with this ship transport stand moving down to the launch site only 6 hours after liftoff! Trailing behind that was the launch mount work platform which allows SpaceX to get up into the mount for inspections safety and without the need of any lifts. Scaffolding was already going up on the top of the mount to allow a safe environment for inspection. This is the one water tank that remains, and we can’t see any significant new dents or anything like that in the tank shell. From this we can conclude that the new bracing seems to have served its purpose well. But it doesn’t mean that we were completely free from damage that will need some pretty big repairs though. Some of the walkways on the Ship quick disconnect arm along with wiring on the tower arms took a beating. I imagine SpaceX will add some shielding to these parts to protect them from the booster exhaust in the future. But right at the back of the booster quick disconnect though, as they removed part of the protective hood we could see that one of the main hoses looked like it was cleanly sheared off its solid attachment to the pipes on the Launch Mount. There will be improvements needed here and they immediately started setting up to remove them. Even with all of this though the damage seemed superficial, so overall the launch site is still in fairly good condition.\n",
66
+ "Moving over to the old suborbital side of the site which hopefully soon will be Orbital pad B, the LR11000 crane woke back up, poking up into the low hanging clouds there. Sitting so close to the orbital pad at launch, this is another great sign that Flight 3 didn’t cause any infrastructure damage that we can immediately see, so it was good to see that moving again so quickly. To aid in the repair work, the raptor installation platform was moved over as well, and the name for this one is slightly deceiving because they’ve used it in the past to gain easy access to the booster Quick Disconnect hood. It is used for more than just replacing Raptor engines. Trailing behind that was one of the two point lifters for a Ship, and that was an excellent piece of evidence to suggest that Ship 29 would be back here soon to continue with its engine testing campaign. Sure enough, it peaked outside of the Highbay on Thursday afternoon, and was soon rolling down to the launch complex overnight! By early Friday morning it was hoisted up onto the suborbital pad to get ready for a static fire campaign. Hopefully this coming week. Speaking of moving vehicles, we are finally be saying goodbye to the old Booster 4. That was the very first one to be stacked, with ship 20 in these iconic images from 2021. This was rolled into Megabay one with 2 remaining grid fins still attached as shown in this great shot by Sean with NASASpaceFlight. They must have had issues taking those off, but yea, since then it has been unceremoniously sliced in two with the bottom half rolling out to be sliced up further. I guess it couldn’t stay around forever.\n",
67
+ "Ok, so we’ve got some really interesting stuff to talk about here with Flight Test 3 and you had so many amazing questions, so thank you for sending them in, and keep them coming. Many of you actually asked how SpaceX would be able to launch a ship with a payload given that the Ship was appearing to be almost completely out of propellant at engine cutoff. Well, if we actually compare the frostline of Ship 28 with Ship 25, there’s actually a fairly clear difference! This is speculation but to me it seems that SpaceX had simply loaded less propellants into Ship 28 so they wouldn’t need to dump a huge load of it like they tried to do in flight 2, which ultimately led to fires and destruction of the vehicle. The other big question on all of our minds was the missing attitude control that seemed to have the Starship slowly rotating in its near orbit. In fact, Ship 28 had started to roll faster the further we got into the coast phase. It does seem desirable to have a slow roll so no specific part of the Ship would be heated dramatically by the sun, so an initial spin up was fine, but it was obvious that they really lost control as it was heading into the upper atmosphere as we began seeing the awesome reentry plasma starting. Pockn here assuming that is how you pronounce it, did an awesome job lining up the visuals of the Ship to the actual orientation from this third person perspective! It was a little deceiving watching the camera view because it was mounted on the forward flap that moves back and forth. So yea, you can see that the roll was actually quite stable and consistent until the atmosphere began adding its influence to it. Now during the final few minutes of the coast phase we got to see quite significant chunks of something floating away from the Ship and given that it had been coasting in Space for quite a while at this point, it seemed kind of weird didn’t it? Looking closely at each piece, there certainly looks like chunks of ice and what not mixed up in this, but it does indeed look like pieces of heat shield tile were in there as well. Now We just don’t know where they were coming from. For the most part the heat shield appeared to hold up pretty well with a few missing tiles here and there in view. Not bad. I suspect what we actually saw there was that something unexpected happening around the nose area. Perhaps vents blasted a few away up there. Whatever it was, I’m sure SpaceX is already fixing that issue for future ships. Now with the help of the amazing Chameleon Circuit this week though, I thought it would be useful to show you some of the locations of the vents designed for attitude control. The three propellant settling vents right inside the aft skirt are here, and they do the job to provide a small thrust to let all the propellants settle in the tanks! Now obviously during the flight there was a lot more venting going on, mainly from the engine chill process. Those are now also guided right to the end of the aft section, so just be careful to not mix up those two things. Now we have some other major vents that get overlooked and that's because these are a fairly recent addition. Yes, SpaceX have these two rather small roll vents in the Liquid Oxygen tank. One for each direction to allow for roll corrections. Now I never saw this one that is in view, fire during the coast phase at all, and given that we got to see loads of venting from the aft section of the vehicle but nothing from here, yea, that seems weird. If this one had been firing, it would have been helping to counteract the roll that we were actually seeing. But I think SpaceX simply had a blocking or issue of some sort with the control of that thruster, or or perhaps the valve that leads to it. With all that amazing data and video from both NASA’s TDRS and the Starlink constellation. I’m sure they have a very good idea what happened here. I saw a lot of comments suggesting that the venting from the aft section of the Ship was perhaps an issue. I don’t think so at this stage at least. This was I think mainly coming from the propellant settling vents inside the skirt, and this isn’t a brand new idea just for Starship. You see this sort of thing all the time with ULA’s Centaur upper stage as well. That's because with a very small amount of thrust forward, that ensures that all of the propellants nicely gather at the bottom of the tanks. Remember, as part of this demonstration mission, SpaceX were completing a propellant transfer demo, and also they had planned to relight an engine before that was aborted. Ok, so, the big question I’m sure you’re all asking is when will Flight 4 happen so we can witness SpaceX solve these problems? Well, exciting news there too. More on that in just a moment…\n",
68
+ "\n",
69
+ "So when will Flight 4 happen? Well Gwynne Shotwell at the Satellite conference shared with us some nice detail around exactly that. She expects it to be ready in about 6 weeks time adding that Flight 4 also won't be carrying any Starlink satellites. That makes sense because SpaceX hasn’t been able to perform that in-space Raptor reignition yet, so I think it's fair to assume we’ll most likely be getting another flight with a trajectory and re-entry plan very close to that of Flight 3. But fear not, it seems that SpaceX is still very much hoping to perform another SIX launches this year. The plan is to feature satellites being deployed during at least some of those missions as well as attempting the recovery of both stages! Now immediately many assumed this would mean catching them out of the air which is indeed a future goal, but there was no mention there of the word “catching”, so perhaps that might simply mean both stages landing softly in the ocean for some sort of retrieval. After all, if they damaged the tower arms during a landing attempt without a second tower operating, they can’t launch any more without a new set of arms. So yea, what do you think? Now if you want to hear a bunch more of this sort of talk, check out Frasers chat with Scott and myself released just the other day. That was super fun so thanks a bunch Fraser for organizing that one. That is the third time we’ve done that now so if you aren’t following Fraser Cain there, you know what to do. It is an amazing channel so you won’t regret subscribing there, and likewise for Scott Manley. A link to those are in the description. Also thanks for those that reached out telling me you’ve needed to resubscribe here again. We tend to get little bursts of comments like that every once in a while. It is weird, but you know what to do. Now the other big event this week was of course SpaceX’s Commercial Resupply Mission 30, but this one has a twist to it. A few weeks back you may have heard some hints about a new emergency egress system being installed and tested on the new Crew Tower that has been constructed at Space Launch Complex 40. Months back we saw the addition of the crew access arm, but we are of course awaiting the first crewed mission to be launched from here. The thing is, all of the necessary systems need to be fully tested out for crew safety and they shared this footage of their brand new emergency chutes that will allow astronauts to get off the tower fast if there is an issue. Now that there would be quite a ride taking it seems only about 13 or 14 seconds to get from the top, down the bottom. This is all quite different from what we’ve seen in the past from Pad 39A. This is what they call a slide-wire style system using these baskets. This by the way is largely the same system that was used all the way back with the Space shuttle missions. Each basket there could hold up to three people, and then a braking system catch net and drag chain would halt them at the bottom. I’ve got to say, the new red slide system here certainly seems to be a simpler solution. Anyway, back to the mission that was launching from this same pad, SpaceX shared images of the Dragon there after going vertical at pad 40 for the very first time. It was a great opportunity to test out the crew access arm with this vehicle before an actual Crew Dragon mission. This mission here is completely autonomous, so no crew on board. And they were sending yet another load of cargo to the International Space Station as we finished off the countdown there. It was a terrific time of day to launch here in the afternoon and there it rose rapidly up through max Q toward stage separation. On board this mission you have the usual consumable supplies and what have you, but I always think the scientific payloads are the most interesting. On this mission there is loads of new technologies from plant growth, to the monitoringing of sea ice, instruments to automate 3D mapping, and to create nanoparticle solar cells. I’ve got a link to all the information here in the description, but some of the high resolution 3D scanning work is super interesting I think. Microgravity is the perfect way to test out great innovation work there. The work being done with plants is critical for future long term missions where we want to be able to grow food and use the plants to help convert CO2 to oxygen at the same time. Always a perfect partnership. Next, measuring the oceans and sea ice with more accurate technology can give deeper insight into the climate models that we have, and I think everyone can agree that work in new solar cell technology will be critical to the next generation of solar arrays. In particular the new research around Quantum dots, essentially tiny semiconductor spheres may hold potential to convert sunlight into energy much more efficiently. So the mission itself went off like clockwork of course. The booster was on another glorious trip back to landing zone 1 and with that time of day, it is always a sweet action show watching it touch town. Greg Scott captured some ripper shots of that too. Check that out. Nice work mate! Right after there we were watching the Dragon separate and drift away on toward its mission. This time from the perspective of Dragon itself looking back at the booster which isn’t the view usually shown so that was a nice surprise. It’s going to be up here at the space station for about a month before it is sent back to Earth with cargo and science experiments. We had another big week of Starlinks flights too of course. My video last week was put live a day early due to Starship's third flight test, but the next day the Starlink Group 6-44 Mission was launching.\n",
70
+ "Yet another 23 V2 Mini’s on board. Down range the drone ship A Shortfall of Gravitas was standing by for touchdown. You're not bored of Droneship landings yet are you? I mean, yea, they happen a lot now, but every one is still spectacular to me. SpaceX are now up to their 295th recovery or something like that, so in a few weeks, they will have broken 300 of these. This booster number 1062 is now tied as an active flight leader with 19 flights. The other flight leader booster 1061 also has 19, and the NASA Worm branded logo 1058 had flown 19 times too, but then broke in half on the way home, so just the two active flight leaders now.\n",
71
+ "Just the start of the Starlink action for the week though because we had the Group 7-16 mission launching with booster 1075 from Vandenberg early this week as well. Now I’ve got to say the atmospheric shots that we predicted for this flight were absolutely amazing with the sun setting. Always beautiful scenes at this time of day from California. The rocket quickly passed through Max-Q there and after main engine cut off, just as predicted, check out this wonderful ground perspective from Max here showing the second stage there rocketing away, and booster 1075 turning around for its return. Now what was interesting about this mission is that normally we would see a shot of the Starlink stack at fairing deploy, but not for this flight. We are wondering if there was more than just the standard Starlink version 2 minis on board. Interestingly, SpaceX said they were launching 22, however the eagle eyed out there such as Johnathan McDowell could only see 20 via the records with Celestrak. Normally they would launch 22 from Vandenberg, so we were actually wondering if there may have been another 2 on board hidden as Starshield. That by the was, as far as we know is essentially Starlink with modifications, owned by the US government and controlled by the department of defense. Obviously all this is purely speculative, but I will say though, it was odd that afterward SpaceX removed the number of satellites shown in their website article as pointed out by Alex from NSF. Curious huh! Anyway, the booser followed its ballistic trajectory continuing down to the droneship Of Course I Still Love You, just as the last rays of sunlight were disappearing over the horizon. Interestingly SpaceX has finally received a conditional FCC approval to use the E-band frequencies they had applied for a long time back in order to enhance the capability of the network. That is going to apply to 7,500 of the generation 2 satellites which I suspect includes the existing V2 minis in orbit right now which I think is around 1,900 or so. This approval allows for higher frequency communication between the satellites and the ground stations. With the higher frequency, you can pump higher bandwidth and specifically they are allowed to use frequencies between 71 and 76 gigahertz from space to the ground, and 81-86 GHz in the opposite direction. Now I did say “conditional” FCC approval and that is because SpaceX plans for a total of 30,000 Gen 2 satellites. Not just the 7,500. For now the decision to allow those frequencies for the full future set has been deferred. Now I feel like we are almost getting weekly awesomeness from Sierra Space. Last week I mentioned the vibration testing that the Dream Chaser Tenacity vehicle had been going through. But the next stop for Tenacity was the thermal vacuum chamber where it is tested against the extremes of outer space. From pressure drops and increases, to thermal tests with those varying extremes. With these being completed Sierra Space and NASA will conclude its test campaign and it is then to be finally shipped to Kennedy Space Center to get ready for its launch! I can not wait! I do love that photo too. At first glace it almost looks like the wing design had changed compared to what we are used to seeing, but in fact, that is just less common angle that the cameras perspective was viewing it from.\n",
72
+ "Now we were also back again for more Rocket Lab action. That is two launches in just two weeks and this was the fourth mission of the year 'Live & Let Fly'. In the early hours of Thursday morning off it launched. Not from New Zealand though, no, we were back here at Launch Complex 2 at NASA’s Wallops Flight Facility. This mission, NROL-123 is actually the first mission where Rocket Lab’s U.S. launch pad was used by the National Reconnaissance Office. With the specifics of the mission all locked up and classified we didn’t get to see views of the payload itself. It was a mission surrounded in darkness. Yes, Rocket Lab went stealth in this one. A payload having a secret rendezvous perhaps, shrouded in the cloak of night.\n",
73
+ "Anyway, alongside that they are making notable progress on their next generation Neutron rocket. CEO Peter Beck said that they are planning to complete their Stennis test stand by the end of March. And following that kicking off test fires of their new Archimedes engine soon after. If indeed Rocket Lab can tick off all their plans between now and the first test flight, Neutron could potentially be launching by the end of the year. That is a big if I suspect but, optimism for the win. You don’t know if you don’t try. So, that is yet another week done and dusted my friends! I hope you enjoyed this video! If you did, don’t forget to hit that subscribe so we can keep making them. If you want to continue with more space goodness, check out this video right here, or maybe these videos. Thanks for watching all this way through. That makes a huge difference! I’ll catch you in the next video!\n"
74
+ ]
75
+ }
76
+ ],
77
+ "source": [
78
+ "print(ytextract.download_captions(url=\"https://www.youtube.com/watch?v=1HAcza0nE34\"))"
79
+ ]
80
+ },
81
+ {
82
+ "cell_type": "markdown",
83
+ "metadata": {},
84
+ "source": [
85
+ "## Download Videos from videos.txt"
86
+ ]
87
+ },
88
+ {
89
+ "cell_type": "code",
90
+ "execution_count": null,
91
+ "metadata": {},
92
+ "outputs": [],
93
+ "source": [
94
+ "ytextract.download_videos_from_list(filename=\"videos.txt\")"
95
+ ]
96
+ },
97
+ {
98
+ "cell_type": "markdown",
99
+ "metadata": {},
100
+ "source": [
101
+ "## Download Videos from a Channel or Multiple Channels"
102
+ ]
103
+ },
104
+ {
105
+ "cell_type": "code",
106
+ "execution_count": null,
107
+ "metadata": {},
108
+ "outputs": [],
109
+ "source": [
110
+ "ytextract.download_videos_from_channels(\n",
111
+ " channels=[\"officialalphablocks\", \"Numberblocks\"]\n",
112
+ ")"
113
+ ]
114
+ }
115
+ ],
116
+ "metadata": {
117
+ "kernelspec": {
118
+ "display_name": "Python 3",
119
+ "language": "python",
120
+ "name": "python3"
121
+ },
122
+ "language_info": {
123
+ "codemirror_mode": {
124
+ "name": "ipython",
125
+ "version": 3
126
+ },
127
+ "file_extension": ".py",
128
+ "mimetype": "text/x-python",
129
+ "name": "python",
130
+ "nbconvert_exporter": "python",
131
+ "pygments_lexer": "ipython3",
132
+ "version": "3.10.11"
133
+ }
134
+ },
135
+ "nbformat": 4,
136
+ "nbformat_minor": 2
137
+ }
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+