(port ) > Thunderbird + YouTube + RSS
I thought YouTube didn't do RSS any more, but Brad left a comment with details. They are untested.
RSS was tested with YouTube subscriptions. While it can do it, it's atrocious. It doesn't get everything, and doesn't get new items even a week later, and it keeps showing duplicates. It's horrifically slow.
See also:
Exporting YouTube subscriptions as Thunderbird RSS feeds
coming later: Exporting YouTube subscriptions as Google Reader RSS feeds
coming later: Exporting YouTube subscriptions as an RSS OPML file
Preparations and local notes ∞
prep a local account
prep a youtube account
--
SETTINGS ="-y -ac 1 -ar 44100 -r 30 -sameq"
Making image movies ∞
\kolourpaint ~/ 01a-kolourpaint1.png
--
# (from above)
SETTINGS ="-y -ac 1 -ar 44100 -r 30 -sameq"
\ffmpeg $SETTINGS \
-loop_input \
-vframes 200 \
-i ~/ 01a-kolourpaint1.png \
-f s16le \
-i < ( dd if =/ dev/ zero bs =19200 count =1 ) \
~/ 01a-kolourpaint2.avi \
` # `
2017-07-30 - Note that the use of dd might have had a formatting issue and may actually be:
-i < $( \dd if =/ dev/ zero bs =19200 count = 1 ) \
01 - Intro ∞
This video will show you how to import your YouTube subscriptions as Thunderbird RSS feeds.
These instructions are made for Linux, but the ideas are fairly universal, and can be adapted to your situation.
(Cheese )
\cheese
# Click 'video'. Press space to begin and space to end. Then exit.
\mv ~/ .gnome2/ cheese/ media/ 0001.ogg ~/ 01b-cheese1.ogg
# (from above)
SETTINGS ="-y -ac 1 -ar 44100 -r 30 -sameq"
SIZE =480x360
TOP =0
BOTTOM =0
LEFT =80
RIGHT =80
\ffmpeg \
-i ~/ 01b-cheese1.ogg \
$SETTINGS \
-s $SIZE \
-padtop $TOP \
-padbottom $BOTTOM \
-padleft $LEFT \
-padright $RIGHT \
~/ 01b-cheese2.avi \
` # `
--
\avidemux2_gtk ~/ 01b-cheese2.avi
02 - Export your YouTube subscriptions list ∞
Next I'll show you how to create a text list of your subscriptions. There are several ways to do it, but this is the most straightforward way I've found.
\mousepad ~/ subs.txt
\gtk-recordMyDesktop
\mv ~/ out.ogv ~/ 02b-recordmydesktop1.ogv
\ffmpeg -i ~/ 02b-recordmydesktop1.ogv
Notice the highlighted line:
FFmpeg version SVN-r12143, Copyright (c) 2000-2008 Fabrice Bellard, et al.
configuration: --prefix=/usr --enable-shared --libdir=/usr/lib --enable-pp --enable-liba52 --enable-gpl --enable-pthreads --enable-x11grab --enable-libfaad --enable-libfaac --enable-libxvid --enable-libamr-nb --enable-libamr-wb --enable-libmp3lame --enable-libx264 --enable-nonfree
libavutil version: 49.6.0
libavcodec version: 51.50.1
libavformat version: 52.7.0
libavdevice version: 52.0.0
built on Feb 19 2008 15:20:20, gcc: 4.1.1 20060724 (prerelease) (4.1.1-4pclos2007)
[theora @ 0xb7dcacf0]560 bits left in packet 81
[theora @ 0xb7dcacf0]7 bits left in packet 82
[ogg @ 0xb7f46ab0]Could not find codec parameters (Invalid Codec type -1)
Input #0, ogg, from '/home/user/02b-recordmydesktop1.ogv':
Duration: 00:00:00.4, start: 0.000000, bitrate: 4543 kb/s
Stream #0.0: Invalid Codec type -1
Stream #0.1: Video: theora, yuv420p, 1008x672 [PAR 1:1 DAR 3:2], 15.00 tb(r)
Stream #0.2: Audio: vorbis, 48000 Hz, stereo, 499 kb/s
Must supply at least one output file
Notice the highlighted line:
FFmpeg version SVN-r12143, Copyright (c) 2000-2008 Fabrice Bellard, et al.
configuration: --prefix=/usr --enable-shared --libdir=/usr/lib --enable-pp --enable-liba52 --enable-gpl --enable-pthreads --enable-x11grab --enable-libfaad --enable-libfaac --enable-libxvid --enable-libamr-nb --enable-libamr-wb --enable-libmp3lame --enable-libx264 --enable-nonfree
libavutil version: 49.6.0
libavcodec version: 51.50.1
libavformat version: 52.7.0
libavdevice version: 52.0.0
built on Feb 19 2008 15:20:20, gcc: 4.1.1 20060724 (prerelease) (4.1.1-4pclos2007)
[theora @ 0xb7dcacf0]560 bits left in packet 81
[theora @ 0xb7dcacf0]7 bits left in packet 82
[ogg @ 0xb7f46ab0]Could not find codec parameters (Invalid Codec type -1)
Input #0, ogg, from '/home/user/02b-recordmydesktop1.ogv':
Duration: 00:00:00.4, start: 0.000000, bitrate: 4543 kb/s
Stream #0.0: Invalid Codec type -1
Stream #0.1: Video: theora, yuv420p, 1008x672 [PAR 1:1 DAR 3:2], 15.00 tb(r)
Stream #0.2: Audio: vorbis, 48000 Hz, stereo, 499 kb/s
Must supply at least one output file
NOTE: If you have issues with FFmpeg , try MPlayer :
mplayer ~/ 02b-recordmydesktop1.ogv
Notice the highlighted line:
MPlayer 1.0rc2-4.1.1 (C) 2000-2007 MPlayer Team
CPU: AMD Sempron(tm) Processor 3300+ (Family: 15, Model: 44, Stepping: 2)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing /home/user/02b-recordmydesktop1.ogv.
Ogg stream 0 is of an unknown type
[Ogg] stream 1: video (Theora v3.2.1), -vid 0
[Ogg] stream 2: audio (Vorbis), -aid 0
Ogg file format detected.
VIDEO: [theo] 1008x672 24bpp 15.000 fps 0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
[theora @ 0x88cb450]Missing extradata!
Could not open codec.
VDecoder init failed :(
Opening video decoder: [theora] Theora/VP3
VDec: vo config request - 1008 x 672 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.50:1 - prescaling to correct movie aspect.
VO: [xv] 1008x672 => 1008x672 Planar YV12 [zoom]
Selected video codec: [theora] vfm: theora (Theora (free, reworked VP3))
==========================================================================
==========================================================================
Trying to force audio codec driver family libmad...
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 2 ch, s16le, 499.8 kbit/32.54% (ratio: 62477->192000)
Selected audio codec: [ffvorbis] afm: ffmpeg (FFmpeg Vorbis decoder)
==========================================================================
AO: [oss] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...
A: 1.5 V: 1.5 A-V: -0.001 ct: -0.041 22/ 22 9% 7% 0.7% 0 0
Exiting... (Quit)
Notice the highlighted line:
MPlayer 1.0rc2-4.1.1 (C) 2000-2007 MPlayer Team
CPU: AMD Sempron(tm) Processor 3300+ (Family: 15, Model: 44, Stepping: 2)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing /home/user/02b-recordmydesktop1.ogv.
Ogg stream 0 is of an unknown type
[Ogg] stream 1: video (Theora v3.2.1), -vid 0
[Ogg] stream 2: audio (Vorbis), -aid 0
Ogg file format detected.
VIDEO: [theo] 1008x672 24bpp 15.000 fps 0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
[theora @ 0x88cb450]Missing extradata!
Could not open codec.
VDecoder init failed :(
Opening video decoder: [theora] Theora/VP3
VDec: vo config request - 1008 x 672 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.50:1 - prescaling to correct movie aspect.
VO: [xv] 1008x672 => 1008x672 Planar YV12 [zoom]
Selected video codec: [theora] vfm: theora (Theora (free, reworked VP3))
==========================================================================
==========================================================================
Trying to force audio codec driver family libmad...
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 2 ch, s16le, 499.8 kbit/32.54% (ratio: 62477->192000)
Selected audio codec: [ffvorbis] afm: ffmpeg (FFmpeg Vorbis decoder)
==========================================================================
AO: [oss] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...
A: 1.5 V: 1.5 A-V: -0.001 ct: -0.041 22/ 22 9% 7% 0.7% 0 0
Exiting... (Quit)
# (from above)
SETTINGS ="-y -ac 1 -ar 44100 -r 30 -sameq"
SIZE =540x360
TOP =0
BOTTOM =0
LEFT =50
RIGHT =50
\ffmpeg \
-i ~/ 02b-recordmydesktop1.ogv \
$SETTINGS \
-s $SIZE \
-padtop $TOP \
-padbottom $BOTTOM \
-padleft $LEFT \
-padright $RIGHT \
~/ 02b-recordmydesktop2.avi \
` # `
03 - Process your YouTube subscriptions list ∞
Create a 640x360 window.
If your window manager doesn't show the dimensions as you resize, you can use wmctrl . I can use it on an xterm window and it'll define the proper area even though I have Openbox set to resize to the nearest character in fixed-font windows:
\wmctrl \
-F \
-r "user@localhost: /home/user" \
-e 1 ,0 ,0 ,640 ,360 \
` # `
# -------------------------------
# Process your subscriptions list
# -------------------------------
# Remove all tabs
\sed '/[\t]/ s/[\t]//g' \
~/ subs.txt \
> ~/ subs2.txt \
` # `
# Separate all favourites into another file.
# NOTE: These aren't always subscribable because of a YouTube limitation / security issue.
# So I'm not doing anything more with these..
\cat ~/ subs2.txt | \
\grep \' s\ Favorites \
> ~/ subs-faves.txt \
` # `
# Separate all non-favourites into another file.
\cat ~/ subs2.txt | \
\grep -v \' s\ Favorites \
> ~/ subs-nofaves.txt \
` # `
# Remove all spaces
\sed '/ / s/ //g' \
~/ subs-nofaves.txt \
> ~/ subs-nofaves2.txt \
` # `
\mv --force ~/ subs-nofaves2.txt ~/ subs-nofaves.txt
# Remove the working file, but keep the original subs.txt
\rm --force ~/ subs2.txt
# -------------------
# Create an OPML file
# -------------------
# Begin with the header
# Note that this file mimics the Thunderbird exported OPML file.
# This was tested 2009-04-18 and works fine in Google Reader.
(
\cat << HERE_DOCUMENT
< opml version ="1.0" >
< head >
< title> Thunderbird OPML Export</ title>
< dateCreated> Fri, 23 Jan 2009 21 :39 :53 GMT</ dateCreated>
</ head >
< body>
HERE_DOCUMENT
) > ~/ subs-nofaves.opml
# Process the body
# Delete all blank lines
# I think this can be improved for speed, but I don't know how.
\sed '/^$/d' \
~/ subs-nofaves.txt \
> ~/ subs-nofaves2.txt \
` # `
# Do the regex search-and-replace
# I think this can be improved for speed, but I don't know how.
# Note, that I changed the title and text from "Videos uploaded by x"
\sed 's*.\** <outline\
title="\0"\
text="\0"\
type="rss"\
version="RSS"\
xmlUrl="http://www.youtube.com/rss/user/\0/videos.rss"\
htmlUrl="http://www.youtube.com/profile_videos?user=\0"\
/>*' ~/ subs-nofaves2.txt >> ~/ subs-nofaves.opml
# Append the footer
(
\cat << HERE_DOCUMENT
</ body>
</ opml>
HERE_DOCUMENT
) >> ~/ subs-nofaves.opml
# Cleanup. Keeping subs-nofaves.txt for reference.
\rm --force ~/ subs-nofaves2.txt
# TRIPLE-check that everything is okay!
\less ~/ subs-nofaves.opml
# -------------------------------
# Process your subscriptions list
# -------------------------------
# Remove all tabs
\sed '/[\t]/ s/[\t]//g' \
~/ subs.txt \
> ~/ subs2.txt \
` # `
# Separate all favourites into another file.
# NOTE: These aren't always subscribable because of a YouTube limitation / security issue.
# So I'm not doing anything more with these..
\cat ~/ subs2.txt | \
\grep \' s\ Favorites \
> ~/ subs-faves.txt \
` # `
# Separate all non-favourites into another file.
\cat ~/ subs2.txt | \
\grep -v \' s\ Favorites \
> ~/ subs-nofaves.txt \
` # `
# Remove all spaces
\sed '/ / s/ //g' \
~/ subs-nofaves.txt \
> ~/ subs-nofaves2.txt \
` # `
\mv --force ~/ subs-nofaves2.txt ~/ subs-nofaves.txt
# Remove the working file, but keep the original subs.txt
\rm --force ~/ subs2.txt
# -------------------
# Create an OPML file
# -------------------
# Begin with the header
# Note that this file mimics the Thunderbird exported OPML file.
# This was tested 2009-04-18 and works fine in Google Reader.
(
\cat << HERE_DOCUMENT
< opml version ="1.0" >
< head >
< title> Thunderbird OPML Export</ title>
< dateCreated> Fri, 23 Jan 2009 21 :39 :53 GMT</ dateCreated>
</ head >
< body>
HERE_DOCUMENT
) > ~/ subs-nofaves.opml
# Process the body
# Delete all blank lines
# I think this can be improved for speed, but I don't know how.
\sed '/^$/d' \
~/ subs-nofaves.txt \
> ~/ subs-nofaves2.txt \
` # `
# Do the regex search-and-replace
# I think this can be improved for speed, but I don't know how.
# Note, that I changed the title and text from "Videos uploaded by x"
\sed 's*.\** <outline\
title="\0"\
text="\0"\
type="rss"\
version="RSS"\
xmlUrl="http://www.youtube.com/rss/user/\0/videos.rss"\
htmlUrl="http://www.youtube.com/profile_videos?user=\0"\
/>*' ~/ subs-nofaves2.txt >> ~/ subs-nofaves.opml
# Append the footer
(
\cat << HERE_DOCUMENT
</ body>
</ opml>
HERE_DOCUMENT
) >> ~/ subs-nofaves.opml
# Cleanup. Keeping subs-nofaves.txt for reference.
\rm --force ~/ subs-nofaves2.txt
# TRIPLE-check that everything is okay!
\less ~/ subs-nofaves.opml
\mv ~/ out.ogv ~/ 03b-recordmydesktop1.ogv
# (from above)
SETTINGS ="-y -ac 1 -ar 44100 -r 30 -sameq"
SIZE =614x360
TOP =0
BOTTOM =0
LEFT =12
RIGHT =14
\ffmpeg \
-i ~/ 03b-recordmydesktop1.ogv \
$SETTINGS \
-s $SIZE \
-padtop $TOP \
-padbottom $BOTTOM \
-padleft $LEFT \
-padright $RIGHT \
~/ 03b-recordmydesktop2.avi \
` # `
\avidemux2_gtk 03b-recordmydesktop2.avi
04 - Preparing and using Thunderbird ∞
(Thunderbird )
\mv ~/ out.ogv ~/ 05b-recordmydesktop1.ogv
# (from above)
SETTINGS ="-y -ac 1 -ar 44100 -r 30 -sameq"
SIZE =406x360
TOP =0
BOTTOM =0
LEFT =116
RIGHT =118
\ffmpeg \
-i ~/ 05b-recordmydesktop1.ogv \
$SETTINGS \
-s $SIZE \
-padtop $TOP \
-padbottom $BOTTOM \
-padleft $LEFT \
-padright $RIGHT \
~/ 05b-recordmydesktop2.avi \
` # `
avidemux2_gtk 05b-recordmydesktop2.avi
--
tutorial creation - Combine files ∞
Using Avidemux , open the first video and then append each subsequent video to it.
settings:
Things to improve ∞
Include a "New this week" search folder, and sort by date.
How can I subscribe to someone's favourites with RSS?
Replace the use of the search-and-replace in kwrite with some commandline voodoo.
How do I easily all the items in mark multiple folders as read?
Include JavaScript
How do I enable Flash ?
How do I block ads ?
Last updated 2021-04-05 at 04:28:01