DOCS.9FRONT.ORG UNOFFICIAL MIRROR OF DOCS.A-B.XYZ

Youtube

Commit treason.

NOTE one does not simply commit treason on anything other than AMD64 atm. You can still play audio only on other arches though.

Install youtubedr:

9fs ftrv.se
gunzip < /n/ftrv.se/bin/youtubedr.$objtype.gz > $home/bin/$objtype/youtubedr
chmod +x $home/bin/$objtype/youtubedr
hget https://curl.haxx.se/ca/cacert.pem > /sys/lib/tls/ca.pem

Playing just audio alone

mcfs -t 1 `"{youtubedr -i 140 -o /tmp/audio.mp4 ybGOT4d2Hs8} | audio/aacdec > /dev/audio

Playing video and/or audio

The easiest way to play ANY video on Youtube is to use H.264 baseline stream. It’s of pretty bad quality image-wise, but contains audio in the container itself and doesn’t require too much CPU resources.

treason `"{youtubedr -i 18 -o /tmp/_vid.mp4 ybGOT4d2Hs8}; rm -f /tmp/_vid.mp4

If you want to find the best possible format, use the following script:

#!/bin/rc
rfork ne
vitag=`{youtubedr -info $"1 | awk '
    /av01/ {
        tags[ntags++] = $2
        if($2 == "398"){ # prefer hd720
            tags[0] = $2
            exit
        }
    }
    END {
        if(ntags > 0)
            print tags[0]
    }
'}
if(~ $#vitag 0)
    treason `"{youtubedr -i 18 -o /tmp/_vid.mp4 $"1}
if not
    treason -a `"{youtubedr -i 140 -o /tmp/_aud.mp4 $"1} `"{youtubedr -i $vitag -o /tmp/_vid.mp4 $"1}
#rm -f /tmp/_^(aud vid)^.mp4

You can put that script to $home/bin/rc/youtube and add a plumb rule for Youtube URLs, right before include basic:

type    is  text
data    matches 'https://(www.)?youtube[^ ]+'
plumb   start   window youtube ''''$0''''

Caveats

Many. Patches welcome.