Page 14 of 59 [878 Posts]   Goto page: Previous 1, 2, 3, ..., 12, 13, 14, 15, 16, ..., 57, 58, 59 Next
Author Message
goingnuts
PostPosted: Mon 03 Dec 2012, 16:49    Post subject:

Static build of tightvncserver/viewer 1.3.10...replaced the perl vncserver-script with rarsa´s shell-version...
technosaurus
PostPosted: Thu 11 Oct 2012, 18:03    Post subject:

Small tip on the static builds, if you still use -ffunction-sections -fdata-sections when you build the objects (.o files), you can get a list of unused functions and data by doing the final link with -Wl,--gc-sections,--print-gc-sections (output to a file for later use). Then you can use that data to remove all of the useless functions and data from the .c/.h files. When you build shared libs, they will be _almost_ as small as a single static build (added space for position independent code and elf data).
This is essentially what libopt and the perl script in either uclibc or uclibc++ do (i don't recall which) except they use the symbol tables more directly using objdump or similar.
goingnuts
PostPosted: Thu 11 Oct 2012, 14:41    Post subject:

Uploaded below my present source of tinyXlib. From Changelog:
Quote:

20120719: Changed ICElib to include transport to make ROX-Filer compile.
20120916: Added GetFPath.c to get Abiword 1.0.7 compile. Added X11/Xmu/Misc.h for XawM-1.5u.
20121002: Added ListExt.c and QuBest.c to X11 for xdpyinfo
20121011: Changed libXt source and include/X11/Intrinsic.h to test if Xaw can be compiled. Added GetDflt.c to tinyX11 and added -DXOS_USE_MTSAFE_PWDAPI to tinyXll make flags

Removed file Copying as well.
I have not tested the libXaw much but at least it compiled the attached xload - which is using approx 700k when running compared to the dynamic linked xload which uses approx 3400k...
Now we might have most of the tools to do a mcb of most of the X-utilities.

Anyone know where sources for absvolume has gone?
20130513: Removed attachment as forum does not support the size anymore
technosaurus
PostPosted: Mon 08 Oct 2012, 18:11    Post subject:

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.
goingnuts
PostPosted: Mon 08 Oct 2012, 15:42    Post subject:

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...
technosaurus
PostPosted: Mon 08 Oct 2012, 15:17    Post subject:

@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:
Code:
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


regardless I am attaching one of the tools I use to find dups in case anyone else needs it
goingnuts
PostPosted: Tue 17 Jul 2012, 16:17    Post subject:

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:
Code:

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
       

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...
goingnuts
PostPosted: Mon 16 Jul 2012, 15:12    Post subject:

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
jamesbond
PostPosted: Mon 09 Jul 2012, 07:38    Post subject:

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.
technosaurus
PostPosted: Sat 07 Jul 2012, 19:58    Post subject:

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)
goingnuts
PostPosted: Sat 07 Jul 2012, 17:25    Post subject:

jamesbond wrote:

ffmpeg 0.6.3 in Fatdog 521 works - it can fetch and display the tiny video from URLs produced by your script.

I can confirm this works in P412 too - haven't tested audio but video works. ffmpeg 0.6.3 builds fine with uclibc. Just parsing
Code:
 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
ends up in a 5880K static bin but that might me reduced by fine tuning to what is needed for this purpose.
Code:
 ffmpeg  -i "rtsp://v3.cache5.c.youtube.com/CjgLENy73wIaLwlbFbiQveu_nRMYDSANFEIJbXYtZ29vZ2xlSARSB3Jlc3VsdHNg4diBq4H-qPxPDA==/0/0/0/video.3gp" test.avi

created video that played fine with mplayer...although you have to wait for the stream to end and after that play the created video in mplayer...

Any chance to get access to a bigger version of the videos...they are hard to view... Smile
jamesbond
PostPosted: Sat 07 Jul 2012, 05:53    Post subject:

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?

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:
Code:
--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

I noticed that the videos are contained in 3gp and uses h263 for video and amr for audio.
technosaurus
PostPosted: Sat 07 Jul 2012, 02:25    Post subject:

today's puzzle:
I figured out this:
Code:
#!/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

...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?
goingnuts
PostPosted: Sun 01 Jul 2012, 10:51    Post subject:

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

Code:
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

Mplayer configured with:
Code:
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
Ibidem
PostPosted: Sat 30 Jun 2012, 01:05    Post subject:

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)

finally remembered a couple things.
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.
Display posts from previous:   Sort by:   
Page 14 of 59 [878 Posts]   Goto page: Previous 1, 2, 3, ..., 12, 13, 14, 15, 16, ..., 57, 58, 59 Next

Powered by phpBB © 2001, 2005 phpBB Group