Skip to content

How to download portion of video with youtube-dl

How to download portion of video with youtube-dl command?

الحالة:: ملاحظة_مؤرشفة
المعرفة:: Linux

Adding to Johnnie’s answer:

Use youtube-dl --youtube-skip-dash-manifest -g "URL" to get the video and audio streams.

Now use:

ffmpeg -ss 12:15 -i "1st-URL" -ss 12:15 -i "2nd-URL" -t 5:15 -map 0:v -map 1:a -c:v libx264 -c:a aac output.mkv  

You’ll need to use the -ss option for each stream. I also recommend doing it about 30 seconds earlier and then using another -ss 30 to avoid losing any key frames. Here’s a real example using one of my youtube videos.

youtube-dl --youtube-skip-dash-manifest -g  


I wanted to cut from 43:00 to 50:10 so I’m going to do -ss 42:30 (giving me a few seconds to catch a good keyframe) on both inputs and then do a -ss 30 after the inputs to start at 43:00.

I’ll then use map to map the video 0:v and audio 1:a (0 means first input, which is the video and 1 means the second input, which is the audio) and then choose my encoding options.

# The first URL  
# The second URL  
ffmpeg -ss 42:30 -i "$video_url" -ss 42:30 -i "$audio_url" -map 0:v -map 1:a -ss 30 -t 7:10 -c:v libx264 -c:a aac gog-vs-triv.mkv  

Credit to Jakub Vrána for the --youtube-skip-dash-manifest solution.

Last update : August 14, 2023
Created : August 23, 2022