[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