Sunday, April 24, 2011

linux gfx stack

1.Every app has a window associated with it
2.Every window can have multiple surfaces associated with it
3.Every surface has multiple objects drawn on it
4.Surface and window are abstractions provided by x system
5.Meaning the physical memory object for both are provided by x system
6.An application draws an object on its surface and tells the x
7.x does a local processing for that current window,then combines processing with all the other windows
8.x then makes it into a frame buffer
9.writes to the hardware(frame buffer may be a hw buffer, so writing will reach the hw directly)
10.above was software render
11.for hw render, each window and surface , object would have a corresponding handle, memory within the hardware memory
12.each application will have its own private memory in hw
13.every write from hw will get into hw directly, no combining operation done by x
14.the hw internally does the combining
15.mixed rendering, some app uses hw and sw surfaces
16.sw surfaces uses the first method and creates a frame buffer
17,hw surfaces writes into app private memory in hw
18.hw combines both and creates the final output

hw codecs

1.xine player, mplayer
2.xine has xvmc through which hardware mpeg decoders are accessed, also xine supports via gfx card
3.mplayer also supports xvmc but for nvidia gfx
4.vlc also supports somethings
5.ffmpeg contains a list of codecs
6.gstreamer is a framework

7.not only 1080p but its bit rate also matters in a playback
8.mplayer can use coreavc to decode using cpu h.264
9.apple quick time supports h264
10.linux h264
http://www.linuxjournal.com/article/9005
11.http://developer.nvidia.com/tegra/forum/support-h264-hardware-accelator-support-libavcodec
12.terminologies and interrelations
http://forum.videolan.org/viewtopic.php?t=9647
13.new flow
vlc,xine,mplayer--->ffmpeg-->libavcodec-->vaapi-->vpdau-->driver-->hw-->hwcodec
14.http://www.nvnews.net/vbulletin/showthread.php?t=131050
15.http://forums.gentoo.org/viewtopic-t-836517-start-0.html
16.http://www.linuxquestions.org/questions/slackware-14/how-to-enable-libvdpau-libva-vaapi-and-mplayer-with-nvidia-driver-855574/
17.on linux 10.10
http://www.webupd8.org/2010/10/use-mplayer-with-vaapi-support-hardware.html
18.http://www.linux.com/news/software/developer/31582-multicore-video-decoding-with-mplayer-part-2
19.http://superuser.com/questions/109388/how-do-i-get-vdpau-working-with-ubuntu-9-10
20.nvidia gt220 supports vdpau
http://phoronix.com/forums/showthread.php?20182-FFmpeg-Gains-VDPAU-MPEG-4-ASP-Acceleration
21,https://bbs.archlinux.org/viewtopic.php?id=115794

nvidia hardware codec

1.http://en.wikipedia.org/wiki/Nvidia_PureVideo
Different generations of nvidia each have added internally hw codecs for video and audio in addition to hw rendering optimizations and features
2.The container is made and parsed in software, the contents of the container are then hooked to video/audio hw accel inside
3.http://www.guru3d.com/article/geforce-gt-430-review/4
4.geforce 4 can decode mpeg 4 in hardware
mkv
x264
h264
aac
dts
5.http://en.wikipedia.org/wiki/VDPAU
6.If VDPAU is supported on card , card can do codec and graphics accel
7.vlc has support for it, vlc has support for sw codec too
8.http://penguindreams.org/blog/nvidias-hardware-h264-1080p-codec-in-linux/

Saturday, April 23, 2011

dv/hd cam movies documentaries

1.http://forums.creativecow.net/thread/162/869630

tv dimension , resolution

1.tv has the dimension x:y
2.witin x:y resol a:b can be laid out
3.as the resolution goes down, max resolution supported is redistributed to act as lower one OR a small portion of the screen will be used for it
3.the hardware might adjust the incoming resolution to fit to target resolutions
4.the graphics hw have different modes of operation
5.all must support the basic mode
6.1080p is by todays std the most precise defenition
http://www.geek.com/hdtv-buyers-guide/resolution/
7.
http://www.tomshardware.com/forum/264009-33-resolution-close-1080p
8.http://en.wikipedia.org/wiki/File:Vector_Video_Standards2.svg

ubuntu check if hw acceleration is enabled

1.http://ubuntuforums.org/showthread.php?t=205119

discussion on best hd 1080p file/stream

1.http://forum.xbmc.org/showthread.php?t=80600
2.http://www.avforums.com/forums/ps3-media-streaming/921436-best-format-stream-1080p.html
3.http://www.avforums.com/forums/tvs/480769-smallest-size-support-1080p-format.html
4.sample test videos
http://www.avsforum.com/avs-vb/showthread.php?t=1181902

vlc windows

1 logging --
vlc --extraintf=logger --verbose=2 --logfile=C:\vlc.log --logmode=text --file-logging --save-config

wifi interconnect

1.mob modules forming an interconnect
2.destinations are fixed like one or two
3.based on distance from destinations cells are organized as groups of lines
4.members of lines are dynamic
5.while migrating between lines its info needs to be exchanged between others
6.together with gps, it can exactly pin point the final node at the precise point accessible

proj - 1

1. device A worn as glass that captures what is seen by user and transmitted across with audio, rdp need not see what the user sees because it transmits a restricted area remotely

streaming and relay

1.http://soundscreen.com/streaming/relay.html
2.on a same system, vlc captures and encodes the stream
generates the sdp in a shared folder
dss takes the sdp as source of stream

-----------------src---------dst---------src---------dst-----dst
vlc----->sdp--------->dss<------------------->dss<--------------->vlc,realplayer,qtplayer
pc0------pc0---------pc0---------------------pc 1----------------pc2

3.http://www.wowzamedia.com/downloads/forums/qtss/www/README.html
4.http://helpdocs.westserver.net/v3/sitemanager/Darwin_Stream_Server.htm
5.http://forum.videolan.org/viewtopic.php?t=61587&f=2

nexus s and android kernel

1.buy nexus s through android market place
2.follow the link http://forum.androidcentral.com/samsung-nexus-s-rooting-roms-hacks/48675-how-compile-nexus-s-kernel-source.html

Friday, April 22, 2011

modified setup at home

1.fm radio,tvtuner,dv cam,vcr,tape recorder,mobile phone ---> given as input capture devices to vlc
2.hdmovie data base on NAS given to Darwin( via vlc)?? darwin can stream without vlc
3.The above two redirected to pc with Nvidia Graphics card and Creative SB card
4.The 3 is redirected to Onkyo A/V receiver. via Composite,Dvi,HDMI
5.Also some in above can be directly connected to LCD tv(More the RCA,HDMI inputs on
LCD the better)
6.why all this ? well we've converged HD on INTERNET,HD on cable --> into TV ALSO HD on INET/TV will be accessible from any where on internet as well

gstreamer and v4l , alsa

1.gstreamer defines a set of data structs, and entry point prototypes for
multimedia pipeline
2.Each component of the pipeline has its set(ds,fptrs)
3.v4l,alsa,oss etc were designed and developed independent of this pipeline
4.gstreamer wrapped the v4l/alsa calls in its interfaces and exposed to the user
5.so earlier what was like app-->v4l-->driver-->hw now became app-->gstreamer-->v4l-->gstreamer-->driver-->hw etc ...

mobile streaming - 1

1.given a network speed
adjust capture
adjust transcode
adjust output
parameters to get the best performance

would involve
1.adjusting sample rate and bit rate of a/v, even resolution
2.adjusting type of encoding used
3. step 1 & 2 will be dependent, some (rate,resol) goes good with some encoding
4.choose best out if remote has facility to play all OR choose best based on remotes
capability

mobile streaming

1.command line
capture:transcode:output
2.capture
audio
======
sample rate
audio bitrate
video
=====
frame numbers
aspect ratio
video bit rate
resolution
3.transcode
audio encoder
video encoder


resolution
4.output
mode(mms,rtp,sdp,udp,http)

Sunday, April 10, 2011

vlc tips

1.for http capture pc is server, ip is any ip , client will start later connect to server
2.for rtp cature pc specifies dst ip,if client connects to dst streaming happens
3.for rtsp, capture pc needs to specify sdp = rtsp://..../test.sdp

vlc overview



main modules and their uses in vlc
===================================
http://www.videolan.org/doc/vlc-user-guide/en/ch02.html

DirectShow(win)+ Directsound===v4l2(lin) + alsa

gstreamer defines interfaces and contexts for all components of A/V pipe
directshow does the same on windows
v4l and alsa becomes a sub component of gstreamer
vlc uses v4l2/alsa interface directly for A/V
gstreamer plugins are interfaces that wrap around v4l2/alsa apis and make them
consistant with gstreamer specifications
so if vlc was not written in adherence to gstreamer spec, vlc is not a gstreamer app

arch
====
A,B,C,D
v4l2 - C
v4l2 uses D
vlc - B
B uses C
A - gstreamer
B-->C-->D
A-->C-->D
A-->D

Wednesday, April 6, 2011

vlc and tv tuners

1.keep ready xawtv,mplayer,aplay,arecord
2.identify your video capture device like /dev/video0
3.identify your audio capture device like plughw:1,0
4.video device will be exported by v4l2
5.audio device will be exported by alsa
6.vlc needs to set width and height for proper video ... w/h should be multiple of 16
like 384x320
5.vlc needs ffmpeg for common video and audio codecs.video codecs are easily obtained.audio codecs needs to be downloaded later especially for aac.needs to do
that from 3rd party repository.follow ffmpeg link
6.in vlc->tools menu there are options to see if video/audio codecs and stats
7.xawtv can fetch channels from a list, and set it as the current for v4l2.scantv
can search for frequecies with signals
8.vlc step 1 is to set the capture device and its parameters
9.it can be tested by doing a local play
10.once local play is successful, select stream ..choose mode of streaming, type of
transcoding is selected
11.For frequency selection install ivtv-utils
12.v4l2-ctl -F
13.v4l2-ctl -f
11.vlc captures raw stream from hw,vlc transcodes it on the fly before sending over
network