Skip Navigation

User banner
Posts
14
Comments
90
Joined
2 yr. ago

  • Vital sign monitoring system

    Usb in something like my finger so i can connect to any pc and use it with my brain

    Robotic limbs, mainly because its kind of a dream of mine to create affordable, diy-capable working prosthetics for people who cant afford them, especially if theyre for children/teens who seemingly double in size every half year.

  • What worries me is in the last sentence. If they use GitHub which is owned by microsoft itself being a US company, couldn't the government of the US order microsoft to take down the repositories? Wouldn't an alternative git platform be better for this?

  • Not sure what the MacOS one is, but i use flameshot and im happy with it

  • Oh, Im sorry. If I'm honest I completely forgot. Here it is:

    You will need ffmpeg installed, and I did write it for Linux, so I'm not sure if there are differences for windows. Worst case you need to slightly modify it to work on windows.

     
        
    #!/usr/bin/env python3
    
    import requests
    import os
    import subprocess
    from urllib.parse import urljoin
    import sys
    
    def download_video_chunks(base_url, output_file):
        """
        Downloads video chunks from the given base URL and merges them into a single file.
    
        :param base_url: The URL to the playlist or base directory containing the video chunks.
        :param output_file: The name of the output video file (e.g., "output.mp4").
        """
        try:
            # Get the playlist file (e.g., .m3u8 or .ts index file)
            print(f"Fetching playlist or video chunk URLs from: {base_url}", flush=True)
            response = requests.get(base_url, timeout=10)
            response.raise_for_status()
            
            # Parse the playlist to get the chunk URLs
            lines = response.text.splitlines()
            chunk_urls = [urljoin(base_url, line) for line in lines if line and not line.startswith("#")]
    
            if not chunk_urls:
                print("No video chunks found in the provided URL.", flush=True)
                return
    
            # Create a directory for storing chunks
            os.makedirs("video_chunks", exist_ok=True)
    
            # Download each chunk
            chunk_files = []
            for idx, chunk_url in enumerate(chunk_urls):
                chunk_file = os.path.join("video_chunks", f"chunk_{idx:04d}.ts")
                print(f"Downloading {chunk_url}...", flush=True)
    
                with requests.get(chunk_url, stream=True) as chunk_response:
                    chunk_response.raise_for_status()
                    with open(chunk_file, "wb") as f:
                        for chunk in chunk_response.iter_content(chunk_size=1024):
                            f.write(chunk)
    
                chunk_files.append(chunk_file)
    
            # Merge the chunks into a single file using ffmpeg
            print("Merging chunks...", flush=True)
            with open("file_list.txt", "w") as f:
                for chunk_file in chunk_files:
                    f.write(f"file '{chunk_file}'\n")
    
            subprocess.run(["ffmpeg", "-f", "concat", "-safe", "0", "-i", "file_list.txt", "-c", "copy", output_file], check=True)
    
            print(f"Video saved as {output_file}", flush=True)
    
        except requests.exceptions.RequestException as e:
            print(f"An error occurred while downloading: {e}", flush=True)
        except subprocess.CalledProcessError as e:
            print(f"An error occurred while merging: {e}", flush=True)
        finally:
            # Clean up temporary files
            if os.path.exists("file_list.txt"):
                os.remove("file_list.txt")
            for chunk_file in chunk_files:
                os.remove(chunk_file)
            # if os.path.exists("video_chunks"):
                # os.rmdir("video_chunks")
    
    if __name__ == "__main__":
        base_url = input("Enter the URL of the video playlist or base directory: ")
        output_file = input("Enter the output video file name (e.g., output.mp4): ")
        print(f"Starting download process for playlist: {base_url}", flush=True)
        download_video_chunks(base_url, output_file)
    
      

    If you guys can recommend a fair and open pastebin alternative for me I will upload it there as well and edit this with the link

  • I ended up doing that yea. I Also put mine in the bspwm config just in case.

  • When a page is so bloated with crap, certain elements load much after certain others, leading me to believe the page has loaded, and to click on something jus as somthing else loads and pushes it down/to the side.

  • I think i wrote a short python script to do this on another site. Let me get home and see if i can help you out

  • Will test and edit. Ill leave my automatic upvote on, so first person to read this please downvote this comment

    Edit: no no guys, stop upvoting 🤣

    Edit 2: sorry OP, guess i cant test out my theory, which was that if you leave your upvote, but get downvoted once, it shows up as 0

  • Then people call me insane for not wanting to make it past 40

  • I think it might actually be just turning the display off now that you mention it. Here are the xfce4-power-manager settings I have for the display:

    https://i.imgur.com/ZRlnhKt.png

  • I most certainly do not know how this specific thing is xD

    I will say however, you took the saying "Improvise, Adapt, Overcome" to heart haha

  • Thanks for the info! It would be good to be aware of the term

  • Just a sidenote about ntfs & ext4.

    ntfs doesnt require defragmentation on SSDs, and it actually might lower the lifespan of your SSD because of the increase in unnecessary read/writes.

    ext4 IIRC works just fine as long as your drive is at most 90% full and you keep that last 10% free.

    Its been a while since i read up on that fact about ext4 so someone more experienced can correct me if im wrong

  • You've done what now?

  • After the situation with his former employee (i forget her name) coming out and exposing how toxic of a work environment that company is, i completely stopped watching (not that i was a regular viewer before) and do not give their vids the slightest bit of my time

  • Permanently Deleted

    Jump
  • I scripted something similar for my bspwm setup. They are useful

  • Because thats what you've been brainwashed to think the world wants, so thats what you hear

  • Thanks! I just joined and registered on the server. It will be good to have that available :)

  • Please could you guide me through that? How would I check that its set to e1000? I looked at the xml and and the model type is e1000, but again, I'm not sure im looking in the right place. Up to now I have been rawdogging qemu, so im not that familiar with virt-manager