Show HN: YTPics – Download pictures from YouTube videos
ytpics.com
ytpics.com
When you stop the frame, the video can download the highest res version without any problem, so you get crystal clear glimpse when paused, but blurry images when film is rolling.
If this were the case, when the player is paused and the "higher resolution frame" downloaded, there would be a discernable delay due to network and download latency, which I'm 100% certain is not the case. Pause any YT video and it is instantaneous with no perceivable delay or jank.
Edit: @teitoklien thank you for the correction about Adaptive Bitrate Streaming, I've removed this part of my reply so as to not spread misinformation. Sorry for any confusion!
Look into Adaptive Bitrate Streaming [0]. From what I’ve read HLS does work this way, when combined with Adaptive Bitrate streaming, the segment files are swapped midway depending on user device and connection quality (with each video segment being kept encoded at various qualities to change between as connection quality varies)
The screenshot thing is a fair question tho, why pausing leads to higher res. I think some players, do it custom, for User Experience, so that they can produce clean screenshots on pausing. I’ve seen YouTube do it for sure.
But for you’re main point, you’re objectively wrong, adaptive bit rates and swappable segment files are a thing.
Edit: (Don’t worry about it, being wrong is good hehe, i was wrong 7 times today while doing my work, helped me learn new things 3 out of those times, you helped me question myself and look back at my knowledge too, it’s been dusty for a while. Have a great day!)
[0] https://en.m.wikipedia.org/wiki/Adaptive_bitrate_streaming
ffmpeg -ss ${seconds} -i "${first_url_from_yt-dlp}" -t 1 -r 4/1 -q:v 2 -vf scale="0:-1" ${target}
-r 4/1: 4 frames per second
Again this app is for mobile devices which lack yt-dlp+ffmpeg
Keep in mind you need to make sure to use input seeking, though (-ss before -i).
Also I'm not sure why they need `-vf scale="0:-1"` part.
If yes, could you please share for me here, it'd be really helpful, thanks
But with a little bit extra work you could make that one liner into a script that will extract a range of frames surrounding the chosen timestamp.
looks like it just renders the current frame to a canvas element and saves it. https://github.com/gurumukhi/youtube-screenshot/blob/master/...
With a good DMCA takedown story and compliance, you could potentially claim the copyright is responsibility of your users. And maybe you'll be too small, and the content, in general you are making too inconsequential, or even helpful (marketing wise) for anyone to care. But this is definitely be a project I would get a proper legal analysis of and have clear procedures and plans in place for any issues that may show up.
You can also just install vlc in termux and use the command line interface:
~ $ apt search vlc
Sorting... Done
Full Text Search... Done
vlc/stable 3.0.18-7 aarch64
A popular libre and open source media player and multimedia engine
vlc-qt/x11 3.0.18-7 aarch64
A popular libre and open source media player and multimedia engine
vlc-qt-static/x11 3.0.18-7 aarch64
Static libraries for vlc-qt
vlc-static/stable 3.0.18-7 aarch64
Static libraries for vlc