<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Dhiraj Chaurasiya</title>
    <description>The latest articles on DEV Community by Dhiraj Chaurasiya (@cuccitine).</description>
    <link>https://dev.to/cuccitine</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2640702%2F67c70258-4fd5-4daf-b885-2f574b4cb04e.png</url>
      <title>DEV Community: Dhiraj Chaurasiya</title>
      <link>https://dev.to/cuccitine</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/cuccitine"/>
    <language>en</language>
    <item>
      <title>yt-dlp for youtube video downloads.</title>
      <dc:creator>Dhiraj Chaurasiya</dc:creator>
      <pubDate>Wed, 23 Jul 2025 18:35:49 +0000</pubDate>
      <link>https://dev.to/cuccitine/yt-dlp-for-youtube-video-downloads-45a4</link>
      <guid>https://dev.to/cuccitine/yt-dlp-for-youtube-video-downloads-45a4</guid>
      <description>&lt;h1&gt;
  
  
  How to Use yt-dlp: The Ultimate Guide to Downloading Videos from YouTube and More
&lt;/h1&gt;

&lt;p&gt;If you’ve ever wanted to download videos or playlists from YouTube or many other streaming platforms, &lt;strong&gt;yt-dlp&lt;/strong&gt; is one of the best tools you can use. It’s a powerful command-line program that lets you grab videos, audios, subtitles, and more — all with simple commands.&lt;/p&gt;

&lt;p&gt;In this article, I’ll walk you through:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What yt-dlp is&lt;/li&gt;
&lt;li&gt;How to install it&lt;/li&gt;
&lt;li&gt;Basic and advanced commands&lt;/li&gt;
&lt;li&gt;How to download videos at specific quality (like 720p)&lt;/li&gt;
&lt;li&gt;Downloading entire playlists&lt;/li&gt;
&lt;li&gt;Tips and tricks for better downloads&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What is yt-dlp?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;yt-dlp&lt;/strong&gt; is a fork of the popular tool &lt;strong&gt;youtube-dl&lt;/strong&gt;. It’s actively maintained, with new features, bug fixes, and supports many more sites. It’s perfect for anyone who wants control over downloading videos with great quality and options.&lt;/p&gt;




&lt;h2&gt;
  
  
  Installing yt-dlp
&lt;/h2&gt;

&lt;p&gt;You can install yt-dlp easily:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Windows:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Download the executable from the &lt;a href="https://github.com/yt-dlp/yt-dlp/releases" rel="noopener noreferrer"&gt;yt-dlp GitHub releases&lt;/a&gt; and put it in a folder in your PATH.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;macOS:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  brew &lt;span class="nb"&gt;install &lt;/span&gt;yt-dlp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Linux:&lt;/strong&gt;
Most distros have yt-dlp in their package managers, or you can use pip:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  python3 &lt;span class="nt"&gt;-m&lt;/span&gt; pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-U&lt;/span&gt; yt-dlp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Basic Command to Download a Video
&lt;/h2&gt;

&lt;p&gt;To download a video, simply run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;yt-dlp &amp;lt;video_url&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Replace the &lt;code&gt;&amp;lt;video_url&amp;gt;&lt;/code&gt; with actual url of video. &lt;br&gt; eg: &lt;code&gt;yt-dlp https://youtu.be/bZ2o8ideUYY?si=it5cVDmJljdBA8h4&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This downloads the best available quality by default.&lt;/p&gt;




&lt;h2&gt;
  
  
  Download a Video in 720p Quality
&lt;/h2&gt;

&lt;p&gt;To download a video in 720p, use the format selector:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;yt-dlp &lt;span class="nt"&gt;-f&lt;/span&gt; &lt;span class="s2"&gt;"bestvideo[height&amp;lt;=720]+bestaudio/best[height&amp;lt;=720]"&lt;/span&gt; &amp;lt;video_url&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  What does this mean?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;-f&lt;/code&gt; means format selection.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;bestvideo[height&amp;lt;=720]&lt;/code&gt; chooses the best video-only stream up to 720p.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;bestaudio&lt;/code&gt; grabs the best audio-only stream.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;+&lt;/code&gt; tells yt-dlp to merge video and audio.&lt;/li&gt;
&lt;li&gt;The fallback &lt;code&gt;best[height&amp;lt;=720]&lt;/code&gt; downloads the best combined stream up to 720p if separate streams are not available.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; You need &lt;strong&gt;ffmpeg&lt;/strong&gt; installed to merge video and audio streams. Without ffmpeg, yt-dlp will download video and audio separately but won’t merge them.&lt;/p&gt;
&lt;h5&gt;
  
  
  The guide to install ffmpeg is discussed in tips below.
&lt;/h5&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Extra
&lt;/h2&gt;

&lt;p&gt;To download a playlist in 720p sorted in same order.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;yt-dlp &lt;span class="nt"&gt;-f&lt;/span&gt; &lt;span class="s2"&gt;"bestvideo[height&amp;lt;=720]+bestaudio/best[height&amp;lt;=720]"&lt;/span&gt; &lt;span class="nt"&gt;-o&lt;/span&gt; &lt;span class="s2"&gt;"%(playlist_index)03d. %(title)s.%(ext)s"&lt;/span&gt; https://www.youtube.com/playlist?list&lt;span class="o"&gt;=&lt;/span&gt;YOUR_PLAYLIST_ID
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Additional Useful Commands
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Download audio only:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;yt-dlp &lt;span class="nt"&gt;-f&lt;/span&gt; bestaudio &amp;lt;video_url&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Download subtitles if available:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;yt-dlp &lt;span class="nt"&gt;--write-subs&lt;/span&gt; &lt;span class="nt"&gt;--sub-lang&lt;/span&gt; en &amp;lt;video_url&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  List available formats:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;yt-dlp &lt;span class="nt"&gt;-F&lt;/span&gt; &amp;lt;video_url&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Tips for Better Downloads
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Always keep yt-dlp updated for latest site support:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  yt-dlp &lt;span class="nt"&gt;-U&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Install ffmpeg to handle format merging and conversions.
&lt;a href="https://phoenixnap.com/kb/ffmpeg-windows" rel="noopener noreferrer"&gt;The best article guiding ffmpeg installation for me!&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Check formats with &lt;code&gt;-F&lt;/code&gt; to pick the exact quality or codec you want.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Customized commands 🚩
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;To download only audio in mp3 format
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;yt-dlp &lt;span class="nt"&gt;-x&lt;/span&gt; &lt;span class="nt"&gt;--audio-format&lt;/span&gt; mp3 &amp;lt;YouTube video URL&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;To download a playlist in mp4 format keeping track of downloads to resume later in case of obstruction.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;yt-dlp &lt;span class="nt"&gt;-f&lt;/span&gt; &lt;span class="s2"&gt;"bestvideo[ext=mp4][height&amp;lt;=720]+bestaudio[ext=m4a]/best[ext=mp4][height&amp;lt;=720]"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--merge-output-format&lt;/span&gt; mp4 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-o&lt;/span&gt; &lt;span class="s2"&gt;"%(playlist_index)03d. %(title)s.%(ext)s"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--download-archive&lt;/span&gt; downloaded.txt &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--ignore-errors&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--no-overwrites&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  url

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;yt-dlp&lt;/strong&gt; is a versatile tool that can make downloading videos easy and customizable. Whether you want a single video in 720p or a whole playlist, yt-dlp has you covered.&lt;/p&gt;

</description>
      <category>ytdlp</category>
      <category>youtube</category>
      <category>videodownloader</category>
      <category>mp3</category>
    </item>
    <item>
      <title>Setup Firebase using Firebase CLI for Flutter</title>
      <dc:creator>Dhiraj Chaurasiya</dc:creator>
      <pubDate>Sat, 11 Jan 2025 09:01:09 +0000</pubDate>
      <link>https://dev.to/cuccitine/setup-firebase-using-firebase-cli-for-flutter-4ak0</link>
      <guid>https://dev.to/cuccitine/setup-firebase-using-firebase-cli-for-flutter-4ak0</guid>
      <description>&lt;p&gt;Firebase setup using Flutterfire cli has made the integration much easier than earlier minimizing the chance of gradle error in the setup process.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The installation process might skip asking for application id if you've created flutter project by &lt;code&gt;flutter create projectname --org com.projectname&lt;/code&gt; &lt;br&gt;
Below are the steps to follow while setting up flutterfire &lt;/p&gt;

&lt;p&gt;Here we are going to install using npm.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  1. Under prepare your workspace section
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Install Node.js&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;use &lt;code&gt;npm --version&lt;/code&gt; to check installed version once installed or if it's already installed.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Install the Firebase CLI via npm by running the following command:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install -g firebase-tools
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;This will add firebase CLI to your system. To confirm the installation use  &lt;code&gt;firebase --version&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If there shows an error of &lt;code&gt;firebase command not found&lt;/code&gt;or anything related to that. It is recommended to &lt;em&gt;restart your terminal&lt;/em&gt; or &lt;em&gt;command prompt&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Login to firebase
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;firebase login
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;This will navigate to browser choosing the email you want to link your local project with remote project.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  2. Under Install and run the FlutterFire CLI
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Check for the firebase projects with the following command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;firebase projects:list
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;This will list all the firebase project made with your gmail account.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Now, activate the flutterfire cli
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dart pub global activate flutterfire_cli
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;In windows if you're installing the flutterfire cli for first time then you'll get a warning asking to &lt;strong&gt;add&lt;/strong&gt; the &lt;strong&gt;path to&lt;/strong&gt; your &lt;strong&gt;environment variables&lt;/strong&gt;. &lt;/li&gt;
&lt;li&gt;Just copy the path and add to environment variables for windows&lt;/li&gt;
&lt;li&gt;For macos copy the &lt;em&gt;export command&lt;/em&gt; and paste it to terminal.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Then, at the &lt;strong&gt;root of your Flutter project directory&lt;/strong&gt;, run this command:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flutterfire configure
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;This will show all the available projects and let you to choose the firebase project you want to integrate. &lt;code&gt;use arrow keys to navigate and spacebar to select the project&lt;/code&gt;&lt;br&gt;
choose the platform you want to build the project for.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;** After registering the platform for which you're building the project, it will ask for the &lt;em&gt;android application id&lt;/em&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GO TO &lt;code&gt;android/app/build.gradle&lt;/code&gt; and search for android-&amp;gt;namespace which might look like &lt;code&gt;com.example.projectname&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;copy and paste it to your terminal providing the android application id.&lt;/li&gt;
&lt;li&gt;This will add &lt;code&gt;firebase_options.dart&lt;/code&gt; file to &lt;code&gt;lib&lt;/code&gt; folder of your Flutter project.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  3. Install firebase_core dependency.
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flutter pub add firebase_core
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;This will solve the error showing the missing of package.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now you're good to go! You've linked your flutter project with firebase.&lt;/p&gt;

</description>
      <category>firebase</category>
      <category>flutter</category>
      <category>dart</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
