pUPnGO - 6Mb ISO - Basic Building Block Puplet
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
here is a patch for mplayer - they seem to have broken the gtk1 gui a while back
- Attachments
-
- mplayer-gtk1-gui.patch.gz
- (1.04 KiB) Downloaded 644 times
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].
Thanks for the patch. I am still not able to build a static mplayer - that is: I can build it but it only shows a 2 cm broad band with psychedelic colors in the top of my screen when playing...
There is gxine-0.2.1 as alternative - but I never managed to do a static xinelib that works.
Found a third way - a pre xine lib - but cant find my notes or remember the name. I think it was in one of the first puppys or maybe in a pre-puppy thing...
Would be nice to have a decent videoplayer....
Update: the name was xanim: http://xanim.polter.net/
Although it compiles I haven't been able to play anything with it...
There is gxine-0.2.1 as alternative - but I never managed to do a static xinelib that works.
Found a third way - a pre xine lib - but cant find my notes or remember the name. I think it was in one of the first puppys or maybe in a pre-puppy thing...
Would be nice to have a decent videoplayer....
Update: the name was xanim: http://xanim.polter.net/
Although it compiles I haven't been able to play anything with it...
Found a small net traffic sniffer: dietsniff-0.4
Amazing to view what traffic goes behind the scene...
Amazing to view what traffic goes behind the scene...
- Attachments
-
- snap0006.png
- (15.87 KiB) Downloaded 1614 times
-
- dietsniff-0.4-i486.pet
- (14.21 KiB) Downloaded 602 times
Oops...it doesn't have nroff.cIbidem wrote:I've dug up the nroff patch. Not bothering to attach the original, since it's hopelessly ancient...
And yes, it does have bad formatting.
It took a couple small changes to get it going with bb current (_BB_* ->BB_*, and usage is now in a comment within the applet).
If you need an older BB, the nroff.c here should still work.
Other than build fixes it's the same code.
- Attachments
-
- nroff.diff2.bz2
- Properly prepared with diff -urN; updated for BB HEAD.
- (14.91 KiB) Downloaded 577 times
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
sorry about that, the build takes a long time on my box and my cutdown static libraries were missing some encoding type symbols (it saves quite a bit to disable things like image output & compression and only read/decompress... but that was really leftovers from an experimentation to find out if it would be feasible to use a small shared lib for read/decode and static for write/encoding). I also found that there is not a large difference between tinyx11 and current if you simply remove the larger locales (just put a full version in a separate NLS pack.)goingnuts wrote:Thanks for the patch. I am still not able to build a static mplayer - that is: I can build it but it only shows a 2 cm broad band with psychedelic colors in the top of my screen when playing...
There is gxine-0.2.1 as alternative - but I never managed to do a static xinelib that works.
Found a third way - a pre xine lib - but cant find my notes or remember the name. I think it was in one of the first puppys or maybe in a pre-puppy thing...
Would be nice to have a decent videoplayer....
Update: the name was xanim: http://xanim.polter.net/
Although it compiles I haven't been able to play anything with it...
I'll take a look at gxine to see how hard it would be to patch a recent build, but iirc xanim supported few formats.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].
Ibidem:Thanks!
technosaurus:A new mplayer (MPlayer 1.1) out - I will try to work a little with that one - although the configure options are more than 200 lines of possibilities - might get lost just trying to configure that beast!
Would be nice if there was a simple standalone avi-player and another simple mpg-player ala minimp3-player but I havent been able to track one...
Not sure if xine-lib can be build static at all?
technosaurus:A new mplayer (MPlayer 1.1) out - I will try to work a little with that one - although the configure options are more than 200 lines of possibilities - might get lost just trying to configure that beast!
Would be nice if there was a simple standalone avi-player and another simple mpg-player ala minimp3-player but I havent been able to track one...
Not sure if xine-lib can be build static at all?
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
The patch was against v1.1 ... I found it on ftp before the official release announcement and iirc the only options I passed were for enabling the GUI (i pass all of my CFLAGS in my gcc wrapper) the configure script worked fine, except my non-standard jpeg lib was missing encoding capability and I ran out of time to rebuild.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].
Finally got xine-lib build and also gxine...but seems that xine-lib wont load plugins statically - so for now it seems as a no-go...
Mplayer-1.1 builds fine with normal glibc and dynamic linking. Video fails when linked static though. Did not manage to build it with uclibc/tinyX11.
But managed to "reproduce" a diet libc build of MPlayer 1.0pre7 with gcc 4.2.2. Ended up in 5847K (1927K upx) for mplayer and 4712K (1387K upx) for mencoder.
It plays mp3, avi, mpeg and dvd-isoimage/dvd in drive (dvd without sound ) with the standard Xvesa in P412 but unfortunatly the static build (uclibc/tinyX11) Xvesa has some problems so I have to dig into that (plays ok fullscreen Xvesa but not in windowed mode).
I expect to be able to decrease size or add/remove filters/drivers/features if I manage to transfer the build to uclibc/tinyX11 as the diet-X11-libs are quite large.
Update 010612: Removed the attached bin view later post
Mplayer-1.1 builds fine with normal glibc and dynamic linking. Video fails when linked static though. Did not manage to build it with uclibc/tinyX11.
But managed to "reproduce" a diet libc build of MPlayer 1.0pre7 with gcc 4.2.2. Ended up in 5847K (1927K upx) for mplayer and 4712K (1387K upx) for mencoder.
It plays mp3, avi, mpeg and dvd-isoimage/dvd in drive (dvd without sound ) with the standard Xvesa in P412 but unfortunatly the static build (uclibc/tinyX11) Xvesa has some problems so I have to dig into that (plays ok fullscreen Xvesa but not in windowed mode).
I expect to be able to decrease size or add/remove filters/drivers/features if I manage to transfer the build to uclibc/tinyX11 as the diet-X11-libs are quite large.
Update 010612: Removed the attached bin view later post
- Attachments
-
- snap0009.png
- video at console via mplayer & fbdev-driver
- (106.23 KiB) Downloaded 1311 times
Last edited by goingnuts on Sun 01 Jul 2012, 14:55, edited 1 time in total.
finally remembered a couple things.technosaurus wrote: The issues aren't necessarily with musl, but I am having to add a few includes here and there or add -D_GNU_SOURCE or similar, but I am just going to add those to my wrapper script and maybe every once in a while add a symlink for a missing include like io.h (but most are kernel headers that just got missed or were overwritten by glibc)
After I have done a run through all of the useful C libraries on this toolchain without threads and locales, I will do a try with a native toolchain and try them out. (I just wanted to minimize my patching on the first run - its less overwhelming that way)
*question???
What is the best way to get a disk image onto a really low resource computer using minimal ram/cpu, but also not really long or complicated. I was thinking of piping an xz compressed tarball of a filesystem image through dd. However I am hesitant to do it that way due to the possibility of broken pipes (the plumbing is not always in good in these old beasts)
1- native binutils + gcc usually works better, as long as you kill gcc's "fixed" (automatically broken) includes. Be sure to prevent fixinc.sh from doing anything when you build gcc, or you will be wondering "what on earth broke that?"
also, configure binutils & gcc with --host=i?86-*-linux --target=i?86-*-linux - autodetect is broken and figures __ELF__ means glibc1 unless __GLIBC__ is 2.
glibc2 toolchains will work, but glibc1 only builds static binaries and they're slightly broken.
if you want C++, the libstdc++ config for linux-gnu or whatever they name it there must be replaced with generic (iirc, cd libstdc*/config; mv linux-gnu linux-glibc-only; ln -s linux-gnu generic -- I may be misremembering names, though)
2- why use an fs image, if you can boot linux? it's lighter to tar the root tree, untar, then chroot & configure. In fact, that's exactly how many installers work.
in many places, a disk image will have the wrong boot information.
you can split it up by tarring /bin /etc /usr/bin /usr/share and so on separately.
Removed mplayer build from previous post.
New build MPlayer-1.0pre7_static_010712.tar.gz:
* Size reduced to 4798K (2081K upx)
* Included video via fbdev
* OSD-menu works (ex. mplayer -menu -subfont-text-scale 3 movie_file2play)
* Subtitles (ex. mplayer -sub subtitle_file movie_file2play)
* Sound works with dvd-play (ex. mplayer -alang en -slang da dvd://1)
* Shipped with some of the needed auxilary config-files
Mplayer configured with:
New build MPlayer-1.0pre7_static_010712.tar.gz:
* Size reduced to 4798K (2081K upx)
* Included video via fbdev
* OSD-menu works (ex. mplayer -menu -subfont-text-scale 3 movie_file2play)
* Subtitles (ex. mplayer -sub subtitle_file movie_file2play)
* Sound works with dvd-play (ex. mplayer -alang en -slang da dvd://1)
* Shipped with some of the needed auxilary config-files
Code: Select all
Available video output drivers:
xv X11/Xv
x11 X11 ( XImage/Shm )
xover General X11 driver for overlay capable video output drivers
sdl SDL YUV/RGB/BGR renderer (SDL v1.1.7+ only!)
fbdev Framebuffer Device
fbdev2 Framebuffer Device
vesa VESA VBE 2.0 video output
null Null video output
mpegpes Mpeg-PES file
yuv4mpeg yuv4mpeg output for mjpegtools
tga Targa output
pnm PPM/PGM/PGMYUV file
md5sum md5sum of each frame
Available audio output drivers:
mpegpes Mpeg-PES audio output
oss OSS/ioctl audio output
sdl SDLlib audio output
null Null audio output
pcm RAW PCM/WAVE file writer audio output
Code: Select all
CC="diet gcc -nostdinc -nostdlib" CFLAGS="-Os -march=i386 -mtune=i386 -nostdinc -nostdlib -DTRANS_CLIENT -trigraphs" LDFLAGS=" -Wl,--gc-sections,--sort-common,-s " ./configure --disable-gcc-checking --prefix=/opt/diet --confdir=/etc/mplayer --with-x11incdir=/opt/diet/include --with-x11libdir=/opt/diet/lib --with-extraincdir=/opt/diet/include --with-extralibdir=/opt/diet/lib --with-sdl-config=/opt/diet/bin/sdl-config --with-freetype-config=/opt/diet/bin/freetype-config --disable-dshow --disable-real --disable-mmx2 --disable-mmx --disable-3dnow --disable-3dnowex --enable-static --disable-vidix --disable-live --enable-menu --disable-win32 --disable-dynamic-plugins
- Attachments
-
- MPlayer_diet_all.patch.gz
- patch used - fake gz-file
- (28.44 KiB) Downloaded 565 times
-
- snap0010.png
- (146.74 KiB) Downloaded 1260 times
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
today's puzzle:
I figured out this:
...gives me the rtsp streaming url, screenshot and description of youtube videos matching $@ (args are passed to search and results parsed)
I could make a lightweight youtube browser, but can't find a working mplayer/vlc/ffplay/gxine... anyone know what version of any (if any) works on Google rtsp 1.0 streams?
I figured out this:
Code: Select all
#!/bin/ash
busybox wget -O - -U firefox "http://m.youtube.com/results?gl=US&client=mv-google&hl=en&q=$@&submit=Search" | awk '
/^<a href=\"rtsp/{printf "%s\t%s\t", $2, $5}
/^<a access/{$1="";$2="";$3="";print "Title=\"" $0 "\"" }'
#incomplete until I find a compatible rtsp streamer
I could make a lightweight youtube browser, but can't find a working mplayer/vlc/ffplay/gxine... anyone know what version of any (if any) works on Google rtsp 1.0 streams?
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].
ffmpeg 0.6.3 in Fatdog 521 works - it can fetch and display the tiny video from URLs produced by your script. It is configured like this:technosaurus wrote:I could make a lightweight youtube browser, but can't find a working mplayer/vlc/ffplay/gxine... anyone know what version of any (if any) works on Google rtsp 1.0 streams?
Code: Select all
--prefix=/usr --libdir=/usr/lib64 --enable-postproc --enable-gpl --enable-nonfree --enable-version3 --enable-shared --enable-libfaac --enable-libx264 --enable-x11grab --enable-libxvid --enable-libopencore-amrwb --enable-libopencore-amrnb --enable-libvorbis --enable-libtheora --enable-libmp3lame --enable-runtime-cpudetect --enable-pthreads --enable-swscale --extra-ldflags='--as-needed -L/usr/X11R7/lib' --enable-libopenjpeg --enable-libvpx --disable-debug
Fatdog64 forum links: [url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Latest version[/url] | [url=https://cutt.ly/ke8sn5H]Contributed packages[/url] | [url=https://cutt.ly/se8scrb]ISO builder[/url]
I can confirm this works in P412 too - haven't tested audio but video works. ffmpeg 0.6.3 builds fine with uclibc. Just parsingjamesbond wrote: ffmpeg 0.6.3 in Fatdog 521 works - it can fetch and display the tiny video from URLs produced by your script.
Code: Select all
LD="/usr/i386-linux-uclibc/bin/i386-uclibc-ld" CC="/usr/i386-linux-uclibc/bin/i386-uclibc-gcc" CFLAGS="-pipe -Os -mtune=i386 -D_BSD_SOURCE -D_GNU_SOURCE" LDFLAGS="-static -Wl,--gc-sections,--sort-common,-s" ./configure
Code: Select all
ffmpeg -i "rtsp://v3.cache5.c.youtube.com/CjgLENy73wIaLwlbFbiQveu_nRMYDSANFEIJbXYtZ29vZ2xlSARSB3Jlc3VsdHNg4diBq4H-qPxPDA==/0/0/0/video.3gp" test.avi
Any chance to get access to a bigger version of the videos...they are hard to view...
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
Thank-you guys, I'll keep looking though. I am pretty set on direct streaming. Iirc my vlc build handled YouTube at the time. I may try a new build based on my old vlc build settings (although I think they may be using xcb vs. X11 now)
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].
I forgot to say that when I said "it works with ffmpeg" I actually mean that "it works with ffplay and ffmpeg".
From what little I know about vlc, vlc has rtsp input plugin too but you need to have openRTSP libraries installed - otherwise the plugin won't be compiled in.
From what little I know about vlc, vlc has rtsp input plugin too but you need to have openRTSP libraries installed - otherwise the plugin won't be compiled in.
Fatdog64 forum links: [url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Latest version[/url] | [url=https://cutt.ly/ke8sn5H]Contributed packages[/url] | [url=https://cutt.ly/se8scrb]ISO builder[/url]
Now I got the GUI-part of mplayer working too but build grows to 6800K - whereof the 1000K comes via iconv - which can be disabled but that tends to exclude some sub-titles...Is there anyway to minimize the influence of iconv? Otherwise most stuff is working (dynamic load of dll´s, osd, dvd-play etc.)
I have been working on cleaning/modifying my tinyX11-source - attached the present status.
I have also looked at the Xvesa/Xfbdev source in order to get some of the extensions running (DPMS, MIT-SHM, RENDER, SHAPE, SYNC, TOG-CUP, XTEST and PANORAMIX). Present source attached as well as build of Xvesa/Xfbdev with the mentioned extensions build-in.
20130513: Removed attachments as forum does not support the size anymore
I have been working on cleaning/modifying my tinyX11-source - attached the present status.
I have also looked at the Xvesa/Xfbdev source in order to get some of the extensions running (DPMS, MIT-SHM, RENDER, SHAPE, SYNC, TOG-CUP, XTEST and PANORAMIX). Present source attached as well as build of Xvesa/Xfbdev with the mentioned extensions build-in.
20130513: Removed attachments as forum does not support the size anymore
Last edited by goingnuts on Mon 13 May 2013, 17:41, edited 1 time in total.
Finally got a decent build of MPlayer-1.0pre8 with uclibc and the above tinyX. Changed version of iconv to libiconv-1.6.1 and reduced size inpact with 400K. Also merged mplayer and mencoder (via mcb) so the final size (ex. fonts and skin) is approx. 6500K which decrease to just above 3000K with upx. Still big but one get a gui mediaplayer and an advanced video-converter for that price.
The audio and video outputs are:
and you get osd, scalable subtitles, a bunch of video filters to play with, DVD-player etc.
If you download the win32 dlls from here you also can play quicktime, vmw and a lot of other formates. I have added osd fonts and subtitle fonts in the pet package that can be fetched here
You will probably want to use xorg for best performance but also the Xvesa shipped above gives a nice view. The shipped skin is really minimalistic but you can hunt others that might fit better in you taste.
I did not include the videx drivers - they link dynamic against uclibc - are rarely needed (AFAIK) - and disabling videx only saved 15K...
The audio and video outputs are:
Code: Select all
Available audio output drivers:
mpegpes DVB audio output
oss OSS/ioctl audio output
sdl SDLlib audio output
null Null audio output
pcm RAW PCM/WAVE file writer audio output
Available video output drivers:
xv X11/Xv
x11 X11 ( XImage/Shm )
xover General X11 driver for overlay capable video output drivers
sdl SDL YUV/RGB/BGR renderer (SDL v1.1.7+ only!)
fbdev Framebuffer Device
fbdev2 Framebuffer Device
xvidix X11 (VIDIX)
cvidix console VIDIX
null Null video output
mpegpes Mpeg-PES to DVB card
yuv4mpeg yuv4mpeg output for mjpegtools
png PNG file
jpeg JPEG file
tga Targa output
pnm PPM/PGM/PGMYUV file
md5sum md5sum of each frame
If you download the win32 dlls from here you also can play quicktime, vmw and a lot of other formates. I have added osd fonts and subtitle fonts in the pet package that can be fetched here
You will probably want to use xorg for best performance but also the Xvesa shipped above gives a nice view. The shipped skin is really minimalistic but you can hunt others that might fit better in you taste.
I did not include the videx drivers - they link dynamic against uclibc - are rarely needed (AFAIK) - and disabling videx only saved 15K...
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
@goingnuts: I was planning to look through and condense the tinyx11 sources, but I noticed you put a GPL2 license in the trunk which I presume overrides the X11 licenses beneath? If this was intentional, I'll start over with the original sources (you are welcome to use any changes in the GPL'd version).
I want to make it optimized for static builds so I had planned to replace typedef's and enums with defines and replacing some small functions (small enough that they are smaller to inline) with macros. This will also make for a much smaller shared library too without adding to binary size (at the cost of losing some type checking - there will only be char, short, long/int, long long, float, double and structs of those types) though I do have one big concern with this approach:
regardless I am attaching one of the tools I use to find dups in case anyone else needs it
I want to make it optimized for static builds so I had planned to replace typedef's and enums with defines and replacing some small functions (small enough that they are smaller to inline) with macros. This will also make for a much smaller shared library too without adding to binary size (at the cost of losing some type checking - there will only be char, short, long/int, long long, float, double and structs of those types) though I do have one big concern with this approach:
Code: Select all
typedef int* int_p1;
int_p1 a, b, c; // a, b, and c are all int pointers.
#define int_p2 int* int_p2 a, b, c; // only the first is a pointer
- Attachments
-
- duplo.tar.gz
- a tool to find dupilcate code (recommend at least setting the -ip option though)
- (28.48 KiB) Downloaded 774 times
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].
technosaurus: The GPL2 was what was used with my GtkDialog1 backport exercise - so just copied it from there. I am not trying to restrict or violate anything - just more or less in the dark with witch license to put there in order not to restrict any usage without violating any original license. Any hint there are welcome.
I have made some additions/changes since I posted the source (to be able to compile more programs/get Xvesa and other programs run in xwoaf as well). If you would like to work with my sources I can post an updated version. But you might get more what you want and maybe less work starting with the full original source anyway...
I have made some additions/changes since I posted the source (to be able to compile more programs/get Xvesa and other programs run in xwoaf as well). If you would like to work with my sources I can post an updated version. But you might get more what you want and maybe less work starting with the full original source anyway...
- technosaurus
- Posts: 4853
- Joined: Mon 19 May 2008, 01:24
- Location: Blue Springs, MO
- Contact:
As long as you didn't use any gpl code in it, it can keep the x11 license.
I was really just wanting to kill all the compiler warnings in recent compilers (gcc and clang at least) by giving the proper return type (mostly void or int), but any time I look @ code its hard to resist performance/size tweaks. Most everything else is already done in tinyx, but duplo did identify several duplicate code blocks.
I was really just wanting to kill all the compiler warnings in recent compilers (gcc and clang at least) by giving the proper return type (mostly void or int), but any time I look @ code its hard to resist performance/size tweaks. Most everything else is already done in tinyx, but duplo did identify several duplicate code blocks.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].