thumbframes-dl


Namethumbframes-dl JSON
Version 0.13.0 PyPI version JSON
download
home_pagehttps://github.com/MarcAbonce/thumbframes_dl
SummaryDownload thumbnail frames from a video's progress bar
upload_time2024-11-04 04:11:08
maintainerNone
docs_urlNone
authorMarc Abonce Seguin
requires_pythonNone
licenseUnlicense
keywords videos youtube download frames thumbnails storyboards
VCS
bugtrack_url
requirements youtube_dl
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # thumbframes_dl
Download thumbnail frames from a video's progress bar.

When you watch a video on the web, you've probably noticed these thumbnail sized preview frames that are shown when you hover the cursor over the video player's progress bar.  
![Screenshot of a YouTube video with the mouse's cursor hovering over the progress bar at the bottom of the video player.
  The video is playing at minute 2:15, but the cursor is hovering over the minute 5:13.
  Over the cursor there's a thumbnail image showing the frame that will be played at minute 5:13.](https://raw.githubusercontent.com/MarcAbonce/thumbframes_dl/master/docs/img/screenshot.webp)  
© Blender Foundation | [cloud.blender.org/spring](https://cloud.blender.org/films/spring)

When you download the actual images, you'll see that they're actually concatenated in grids containing n*m frames like this:  
![Grid of tiny 10x10 images showing the video's frames at a regular interval.](https://raw.githubusercontent.com/MarcAbonce/thumbframes_dl/master/docs/img/storyboard.webp)  
© Blender Foundation | [cloud.blender.org/spring](https://cloud.blender.org/films/spring)

I refer to this individual frames as thumbframes because I couldn't find a better, less confusing name.  

## How to use
Install the library:  
```
pip install thumbframes-dl
```  

A simple example:  
```python
# Download a video's thumbframes images and save them in the filesystem
# Spring | Blender Animation Studio | CC BY 4.0
from thumbframes_dl import YouTubeFrames


# create YouTubeFrames object containing the methods to get the thumbframes
video = YouTubeFrames('https://www.youtube.com/watch?v=WhWc3b3KhnY')

# iterate all images with thumbframes (there may be more than one)
for i, frames_image in enumerate(video.get_thumbframes()):
    file_content = frames_image.get_image()
    with open(f"{video.video_id}_{i}.{frames_image.mime_type}", "wb") as f:
        f.write(file_content)  # save each image
```

For a couple more examples showing the potential usefulness of thumbframes see the [demos](https://github.com/MarcAbonce/thumbframes_dl/tree/master/demos).  
For a more detailed description of the API see the [API documentation](https://github.com/MarcAbonce/thumbframes_dl/tree/master/docs/main.md).  

## Copyright  
All the code in thumbframes_dl is released into the public domain by its authors. See [LICENSE](https://github.com/MarcAbonce/thumbframes_dl/blob/master/LICENSE).  
All the text in thumbframes_dl's documentation is likewise released into the public domain under the same license.  
The images used in the documentation are attributed to their copyright owners and shared under their respective Creative Commons licenses.  

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/MarcAbonce/thumbframes_dl",
    "name": "thumbframes-dl",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "videos, youtube, download, frames, thumbnails, storyboards",
    "author": "Marc Abonce Seguin",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/fa/65/1045dcff8b779d2d5fa76b0ac6146b44770901e4b0b858f7343eb9479002/thumbframes_dl-0.13.0.tar.gz",
    "platform": null,
    "description": "# thumbframes_dl\nDownload thumbnail frames from a video's progress bar.\n\nWhen you watch a video on the web, you've probably noticed these thumbnail sized preview frames that are shown when you hover the cursor over the video player's progress bar.  \n![Screenshot of a YouTube video with the mouse's cursor hovering over the progress bar at the bottom of the video player.\n  The video is playing at minute 2:15, but the cursor is hovering over the minute 5:13.\n  Over the cursor there's a thumbnail image showing the frame that will be played at minute 5:13.](https://raw.githubusercontent.com/MarcAbonce/thumbframes_dl/master/docs/img/screenshot.webp)  \n\u00a9 Blender Foundation | [cloud.blender.org/spring](https://cloud.blender.org/films/spring)\n\nWhen you download the actual images, you'll see that they're actually concatenated in grids containing n*m frames like this:  \n![Grid of tiny 10x10 images showing the video's frames at a regular interval.](https://raw.githubusercontent.com/MarcAbonce/thumbframes_dl/master/docs/img/storyboard.webp)  \n\u00a9 Blender Foundation | [cloud.blender.org/spring](https://cloud.blender.org/films/spring)\n\nI refer to this individual frames as thumbframes because I couldn't find a better, less confusing name.  \n\n## How to use\nInstall the library:  \n```\npip install thumbframes-dl\n```  \n\nA simple example:  \n```python\n# Download a video's thumbframes images and save them in the filesystem\n# Spring | Blender Animation Studio | CC BY 4.0\nfrom thumbframes_dl import YouTubeFrames\n\n\n# create YouTubeFrames object containing the methods to get the thumbframes\nvideo = YouTubeFrames('https://www.youtube.com/watch?v=WhWc3b3KhnY')\n\n# iterate all images with thumbframes (there may be more than one)\nfor i, frames_image in enumerate(video.get_thumbframes()):\n    file_content = frames_image.get_image()\n    with open(f\"{video.video_id}_{i}.{frames_image.mime_type}\", \"wb\") as f:\n        f.write(file_content)  # save each image\n```\n\nFor a couple more examples showing the potential usefulness of thumbframes see the [demos](https://github.com/MarcAbonce/thumbframes_dl/tree/master/demos).  \nFor a more detailed description of the API see the [API documentation](https://github.com/MarcAbonce/thumbframes_dl/tree/master/docs/main.md).  \n\n## Copyright  \nAll the code in thumbframes_dl is released into the public domain by its authors. See [LICENSE](https://github.com/MarcAbonce/thumbframes_dl/blob/master/LICENSE).  \nAll the text in thumbframes_dl's documentation is likewise released into the public domain under the same license.  \nThe images used in the documentation are attributed to their copyright owners and shared under their respective Creative Commons licenses.  \n",
    "bugtrack_url": null,
    "license": "Unlicense",
    "summary": "Download thumbnail frames from a video's progress bar",
    "version": "0.13.0",
    "project_urls": {
        "Homepage": "https://github.com/MarcAbonce/thumbframes_dl"
    },
    "split_keywords": [
        "videos",
        " youtube",
        " download",
        " frames",
        " thumbnails",
        " storyboards"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9a5f47fcd6b7724d3738c0f0d5348691440ebce6499e145388439c9bcd3c0ce2",
                "md5": "1c0cf19724b654bf9884021d7c1fe6b3",
                "sha256": "c7b411824c0f2e9fa5ee70cae9678feab46f0af80a8d9e67a88de7cc72ec6831"
            },
            "downloads": -1,
            "filename": "thumbframes_dl-0.13.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1c0cf19724b654bf9884021d7c1fe6b3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 10597,
            "upload_time": "2024-11-04T04:11:07",
            "upload_time_iso_8601": "2024-11-04T04:11:07.541699Z",
            "url": "https://files.pythonhosted.org/packages/9a/5f/47fcd6b7724d3738c0f0d5348691440ebce6499e145388439c9bcd3c0ce2/thumbframes_dl-0.13.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fa651045dcff8b779d2d5fa76b0ac6146b44770901e4b0b858f7343eb9479002",
                "md5": "7e655404c2ec40da0813989fa5affaf4",
                "sha256": "76687a5a06e149f6f58059f062ff4837e828f761e816eb333d42e1d7014b0095"
            },
            "downloads": -1,
            "filename": "thumbframes_dl-0.13.0.tar.gz",
            "has_sig": false,
            "md5_digest": "7e655404c2ec40da0813989fa5affaf4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 10201,
            "upload_time": "2024-11-04T04:11:08",
            "upload_time_iso_8601": "2024-11-04T04:11:08.879894Z",
            "url": "https://files.pythonhosted.org/packages/fa/65/1045dcff8b779d2d5fa76b0ac6146b44770901e4b0b858f7343eb9479002/thumbframes_dl-0.13.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-04 04:11:08",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "MarcAbonce",
    "github_project": "thumbframes_dl",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "youtube_dl",
            "specs": []
        }
    ],
    "lcname": "thumbframes-dl"
}
        
Elapsed time: 0.53578s