
Recherche avancée
Médias (17)
-
Matmos - Action at a Distance
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
DJ Dolores - Oslodum 2004 (includes (cc) sample of “Oslodum” by Gilberto Gil)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Danger Mouse & Jemini - What U Sittin’ On ? (starring Cee Lo and Tha Alkaholiks)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Cornelius - Wataridori 2
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
The Rapture - Sister Saviour (Blackstrobe Remix)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Chuck D with Fine Arts Militia - No Meaning No
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (30)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Supporting all media types
13 avril 2011, parUnlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)
Sur d’autres sites (8046)
-
How to watch or download periscope live streams from start ?
10 septembre 2019, par SanchitI am trying to figure how watch/download a periscope livestream from it’s starting point. The app doesn’t let go back more than 2 minutes so I tried downloading as someone told me it downloads from beginning but it didn’t. It started from the current time.
I tried running :
youtube-dl https://www.pscp.tv/w/b_7KWDFyYVFaeFhCTXhaanp8MXluS09Sd05QRFZ4Uuj5klcOLvuiNqQPC2PcorcMlZOwD3uZyIP7o-UXVYNi
I get
https://prod-fastly-ap-south-1.video.periscope.tv/Transcoding/v1/-/chunk_1563350917969725824_36817_a.ts?type=live
https://prod-fastly-ap-south-1.video.periscope.tv/Transcoding/v1/-/chunk_1563350926386273572_36818_a.ts?type=live -
Getting Error while trying to download youtube video by using python
23 octobre 2024, par Aditya KumarCode


I'm working on a script that allows users to manually select and download separate video and audio streams from YouTube using yt-dlp. The script lists the available video and audio formats, lets the user choose their desired formats, and then merges them using FFmpeg.


Here’s the complete code :


import yt_dlp
import os
import subprocess

# Function to list and allow manual selection of video and audio formats
def download_and_merge_video_audio_with_selection(url, download_path):
 try:
 # Ensure the download path exists
 if not os.path.exists(download_path):
 os.makedirs(download_path)

 # Get available formats from yt-dlp
 ydl_opts = {'listformats': True}

 with yt_dlp.YoutubeDL(ydl_opts) as ydl:
 info_dict = ydl.extract_info(url, download=False)
 formats = info_dict.get('formats', [])

 # List available video formats (video only)
 print("\nAvailable video formats:")
 video_formats = [f for f in formats if f.get('vcodec') != 'none' and f.get('acodec') == 'none']
 for idx, f in enumerate(video_formats):
 resolution = f.get('height', 'unknown')
 filesize = f.get('filesize', 'unknown')
 print(f"{idx}: Format code: {f['format_id']}, Resolution: {resolution}p, Size: {filesize} bytes")

 # Let user select the desired video format
 video_idx = int(input("\nEnter the number corresponding to the video format you want to download: "))
 video_format_code = video_formats[video_idx]['format_id']

 # List available audio formats (audio only)
 print("\nAvailable audio formats:")
 audio_formats = [f for f in formats if f.get('acodec') != 'none' and f.get('vcodec') == 'none']
 for idx, f in enumerate(audio_formats):
 abr = f.get('abr', 'unknown') # Audio bitrate
 filesize = f.get('filesize', 'unknown')
 print(f"{idx}: Format code: {f['format_id']}, Audio Bitrate: {abr} kbps, Size: {filesize} bytes")

 # Let user select the desired audio format
 audio_idx = int(input("\nEnter the number corresponding to the audio format you want to download: "))
 audio_format_code = audio_formats[audio_idx]['format_id']

 # Video download options (based on user choice)
 video_opts = {
 'format': video_format_code, # Download user-selected video format
 'outtmpl': os.path.join(download_path, 'video.%(ext)s'), # Save video as video.mp4
 }

 # Audio download options (based on user choice)
 audio_opts = {
 'format': audio_format_code, # Download user-selected audio format
 'outtmpl': os.path.join(download_path, 'audio.%(ext)s'), # Save audio as audio.m4a
 }

 # Download the selected video format
 print("\nDownloading selected video format...")
 with yt_dlp.YoutubeDL(video_opts) as ydl_video:
 ydl_video.download([url])

 # Download the selected audio format
 print("\nDownloading selected audio format...")
 with yt_dlp.YoutubeDL(audio_opts) as ydl_audio:
 ydl_audio.download([url])

 # Paths to the downloaded video and audio files
 video_file = os.path.join(download_path, 'video.webm') # Assuming best video will be .mp4
 audio_file = os.path.join(download_path, 'audio.m4a') # Assuming best audio will be .m4a
 output_file = os.path.join(download_path, 'final_output.mp4') # Final merged file

 # FFmpeg command to merge audio and video
 ffmpeg_cmd = [
 'ffmpeg', '-i', video_file, '-i', audio_file, '-c', 'copy', output_file
 ]

 # Run FFmpeg to merge audio and video
 print("\nMerging video and audio...")
 subprocess.run(ffmpeg_cmd, check=True)

 print(f"\nDownload and merging complete! Output file: {output_file}")

 except Exception as e:
 print(f"An error occurred: {e}")

# Example usage
video_url = "https://www.youtube.com/watch?v=SOwk8FhfEZY" # Replace with your desired video URL
download_path = 'C:/Users/vinod/Downloads/VideoDownload' # Replace with your desired download path
download_and_merge_video_audio_with_selection(video_url, download_path)




Explanation :


The script first lists all available video formats (video-only) and audio formats (audio-only) from a given YouTube URL.


It allows the user to manually select their preferred video and audio formats.


After downloading the selected formats, it merges the video and audio streams into a single file using FFmpeg.


Error


while trying to run above mentioned code , I am getting this error :


Merging video and audio...
An error occurred: [WinError 2] The system cannot find the file specified



Requirements :




yt-dlp :
pip install yt-dlp






FFmpeg : Make sure you have FFmpeg installed and added to your system's PATH.




-
Making youtube-dl download mp3's faster
12 novembre 2017, par sciencelordIt takes a long time to download mp3 songs using youtube-dl, and it takes even longer when downloading a bunch of mp3 songs. Is there a way to make it significantly faster ? I don’t mind reducing quality. I’ve been using the command below.
youtube-dl --extract-audio --audio-format "mp3" --output "%(title)s.%(ext)s" "https://www.youtube.com/watch?v={videoid}
I also took a look at this post :
ffmpeg command for faster encoding at a decent bitrate with smaller file sizeBut I wasn’t sure how to change the above command using the ffmpeg modifications.
Thanks !