[FFmpeg-devel] [PATCH 2/2] lavf: youtube support

Michael Niedermayer michaelni at gmx.at
Sat Aug 24 12:40:24 CEST 2013


On Sat, Aug 24, 2013 at 01:22:20AM +0200, Clément Bœsch wrote:
> On Fri, Aug 23, 2013 at 11:45:57PM +0200, Lukasz Marek wrote:
> > Signed-off-by: Lukasz Marek <lukasz.m.luki at gmail.com>
> > ---
> >  Changelog                |    1 +
> >  MAINTAINERS              |    1 +
> >  configure                |    1 +
> >  doc/protocols.texi       |   45 +++++
> >  libavformat/Makefile     |    1 +
> >  libavformat/allformats.c |    1 +
> >  libavformat/youtube.c    |  463 ++++++++++++++++++++++++++++++++++++++++++++++
> >  7 files changed, 513 insertions(+), 0 deletions(-)
> >  create mode 100644 libavformat/youtube.c
> > 
> > diff --git a/Changelog b/Changelog
> > index 4a6c60c..22de825 100644
> > --- a/Changelog
> > +++ b/Changelog
> > @@ -15,6 +15,7 @@ version <next>
> >    data read from an input file
> >  - incomplete Voxware MetaSound decoder
> >  - read EXIF metadata from JPEG
> > +- YouTube support
> >  
> 
> You should discuss such changes before making them... We already have libquvi
> support (and we can add more dedicated project wrappers for this if needed),
> which looks more appropriate.
> 
> Also, parsing HTML with manual C-string code should be avoided when possible:
> this is definitely not a critical feature, so we can rely on external
> libraries, using scripting and solid HTML parsing libraries. (And yes, I know
> we are doing that for subtitles, because I consider this to be a critical
> feature, at least something that should be part of the core).
> 
> More importantly, it will require regular changes to keep up with the changing
> website. So basically, it will be regularly broken; and so every "old" FFmpeg
> release will be unusable unless we cherry pick every single change to deal with
> Youtube, until you get bored of fixing that code...
> 
> Now what I fear the most is that introducing such format means opening the door
> to a lot of "scripting-to-C" translation of a lot of other websites:
> 
>     ☭ ls libquvi-scripts/share/lua/website
>     1tvru.lua         francetelevisions.lua  pluzz.lua          tube8.lua
>     bbc.lua           globo.lua              pornhub.lua        tvrain.lua
>     beeg.lua          golem.lua              README             videobash.lua
>     blip.lua          imdb.lua               redtube.lua        wdrmaus.lua
>     bloomberg.lua     jizzhut.lua            spankwire.lua      wimp.lua
>     canalplus.lua     justintv.lua           tagtele.lua        xhamster.lua
>     collegehumor.lua  keezmovies.lua         tapuz.lua          xnxx.lua
>     deviantclip.lua   lego.lua               tcmag.lua          xvideos.lua
>     empflix.lua       metacafe.lua           tmunderground.lua  yfrog.lua
>     fastjizz.lua      mgnetwork.lua          tnaflix.lua        youjizz.lua
>     foxnews.lua       myspass.lua            totallynsfw.lua

ubuntu:
 ls -alF /usr/share/libquvi-scripts/lua/website/
total 260
drwxr-xr-x 3 root root 4096 May  2  2012 ./
drwxr-xr-x 4 root root 4096 May  2  2012 ../
-rw-r--r-- 1 root root 2210 Jan  9  2012 academicearth.lua
-rw-r--r-- 1 root root 4872 Jan  9  2012 arte.lua
-rw-r--r-- 1 root root 2041 Jan  9  2012 audioboo.lua
-rw-r--r-- 1 root root 2089 Jan  9  2012 bikeradar.lua
-rw-r--r-- 1 root root 4867 Jan  9  2012 blip.lua
-rw-r--r-- 1 root root 2051 Jan  9  2012 bloomberg.lua
-rw-r--r-- 1 root root 2060 Jan  9  2012 break.lua
-rw-r--r-- 1 root root 1873 Jan  9  2012 buzzhumor.lua
-rw-r--r-- 1 root root 4293 Jan  9  2012 cbsnews.lua
-rw-r--r-- 1 root root 1903 Jan  9  2012 charlierose.lua
-rw-r--r-- 1 root root 2168 Jan  9  2012 clipfish.lua
-rw-r--r-- 1 root root 5204 Jan  9  2012 collegehumor.lua
-rw-r--r-- 1 root root 5060 Jan  9  2012 dailymotion.lua
-rw-r--r-- 1 root root 6423 Jan  9  2012 foxnews.lua
-rw-r--r-- 1 root root 2085 Jan  9  2012 francetelevisions.lua
-rw-r--r-- 1 root root 1878 Jan  9  2012 funnyhub.lua
-rw-r--r-- 1 root root 3287 Jan  9  2012 funnyordie.lua
-rw-r--r-- 1 root root 1886 Jan  9  2012 gaskrank.lua
-rw-r--r-- 1 root root 2551 Jan  9  2012 globo.lua
-rw-r--r-- 1 root root 3939 Jan  9  2012 golem.lua
-rw-r--r-- 1 root root 1992 Jan  9  2012 google.lua
-rw-r--r-- 1 root root 2123 Jan  9  2012 guardian.lua
-rw-r--r-- 1 root root 1974 Jan  9  2012 keezmovies.lua
-rw-r--r-- 1 root root 2200 Jan  9  2012 liveleak.lua
-rw-r--r-- 1 root root 5506 Jan  9  2012 megavideo.lua
-rw-r--r-- 1 root root 3027 Jan  9  2012 metacafe.lua
-rw-r--r-- 1 root root 4739 Jan  9  2012 mgnetwork.lua
-rw-r--r-- 1 root root 1924 Jan  9  2012 pluzz.lua
-rw-r--r-- 1 root root 2088 Jan  9  2012 publicsenat.lua
drwxr-xr-x 2 root root 4096 May  2  2012 quvi/
-rw-r--r-- 1 root root 4488 Jan  9  2012 README
-rw-r--r-- 1 root root 2246 Jan  9  2012 sapo.lua
-rw-r--r-- 1 root root 2212 Jan  9  2012 sevenload.lua
-rw-r--r-- 1 root root 3012 Jan  9  2012 soundcloud.lua
-rw-r--r-- 1 root root 2045 Jan  9  2012 spankwire.lua
-rw-r--r-- 1 root root 4807 Jan  9  2012 spiegel.lua
-rw-r--r-- 1 root root 2074 Jan  9  2012 tagtele.lua
-rw-r--r-- 1 root root 4544 Jan  9  2012 ted.lua
-rw-r--r-- 1 root root 2020 Jan  9  2012 theonion.lua
-rw-r--r-- 1 root root 2071 Jan  9  2012 tmunderground.lua
-rw-r--r-- 1 root root 2094 Jan  9  2012 totallynsfw.lua
-rw-r--r-- 1 root root 1942 Jan  9  2012 tube8.lua
-rw-r--r-- 1 root root 1900 Jan  9  2012 tvlux.lua
-rw-r--r-- 1 root root 1933 Jan  9  2012 videobash.lua
-rw-r--r-- 1 root root 4553 Jan  9  2012 vimeo.lua
-rw-r--r-- 1 root root 2034 Jan  9  2012 xhamster.lua
-rw-r--r-- 1 root root 2538 Jan  9  2012 xvideos.lua
-rw-r--r-- 1 root root 1976 Jan  9  2012 yfrog.lua
-rw-r--r-- 1 root root 1882 Jan  9  2012 youjizz.lua
-rw-r--r-- 1 root root 8171 Jan  9  2012 youtube.lua

that is the latest libquvi scripts available to the user with ubuntu
LTS are one and a half years old

this makes the libquvi option IMHO problematic as well. Someone
using that distro would have not only need a recent ffmpeg that
contains all security fixes he also would need a recent libquvi
and not the one from ubuntu.
so a native solution (if someone is willing to maintain it) does not
seem unambigously worse to me 

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Asymptotically faster algorithms should always be preferred if you have
asymptotical amounts of data
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20130824/64b91e67/attachment.asc>


More information about the ffmpeg-devel mailing list