matthiasbock / gstreamer-phone

gstreamer based SIP console videophone, designed especially for the Raspberry Pi
54 stars 9 forks source link

uvch264_src shows viewfinder but no video #4

Closed matthiasbock closed 11 years ago

matthiasbock commented 11 years ago

I succeeded in compiling gst-plugins-bad with uvch264_src, however the vidsrc does not work as described by Kakaroto in his tutorial. I figure, I might have to use a more recent version of gstreamer-0.10 for uvch264_src to work, than is availble from the Debian package repository. I will try to build a minimal gstreamer + plugins-base + plugins-good + plugins-bad + plugins-ffmpeg.

matthiasbock commented 11 years ago
apt-get remove gstreamer0.10*
mkdir /usr/lib/gstreamer-0.10/ -p
ln /usr/lib/gstreamer-0.10 /usr/local/lib/gstreamer-0.10 -s
mkdir /usr/src/gstreamer/head/ -p
cd /usr/src/gstreamer/head/
git clone git://anongit.freedesktop.org/gstreamer/gstreamer -b 0.10 --depth 1
git clone git://anongit.freedesktop.org/gstreamer/gst-plugins-base -b 0.10 --depth 1
git clone git://anongit.freedesktop.org/gstreamer/gst-plugins-good -b 0.10 --depth 1
git clone git://anongit.freedesktop.org/gstreamer/gst-plugins-bad -b 0.10 --depth 1
git clone git://anongit.freedesktop.org/gstreamer/gst-ffmpeg -b 0.10 --depth 1
apt-get install libxml2 libxml2-dev libdirectfb-1.2-9 libdirectfb-bin libdirectfb-dev libdirectfb-extra libv4l-dev libxv-dev yasm bison flex gtk-doc-tools

patch gstreamer/autogen.sh:

CONFIGURE_DEF_OPT='--enable-maintainer-mode --enable-failing-tests --enable-poisoning --disable-loadsave --disable-tests --disable-examples'

patch gst-plugins-base/autogen.sh:

CONFIGURE_DEF_OPT='--enable-maintainer-mode --disable-orc'

patch gst-plugins-good/autogen.sh:

CONFIGURE_DEF_OPT='--enable-maintainer-mode --disable-apetag --disable-audiofx --disable-auparse --disable-cutter --disable-effectv --disable-interleave --disable-flx --disable-goom --disable-goom2k1 --disable-imagefreeze --disable-law --disable-level --disable-matroska --disable-monoscope --disable-multifile --disable-multipart --disable-replaygain --disable-shapewipe --disable-smpte --disable-spectrum --disable-y4m --disable-waveform --disable-oss --disable-oss4 --disable-sunaudio --disable-osx_audio --disable-osx_video --disable-x --disable-xshm --disable-aalib --disable-aalibtest --disable-annodex --disable-cairo --disable-cairo_gobject --disable-esd --disable-esdtest --disable-flac --disable-gconf --disable-gdk_pixbuf --disable-jack --disable-jpeg --disable-libcaca --disable-libdv --disable-libpng --disable-dv1394 --disable-shout2 --disable-soup --disable-taglib --disable-wavpack'

patch gst-plugins-bad/autogen.sh:

CONFIGURE_DEF_OPT='--enable-maintainer-mode --disable-fatal-warnings --enable-experimental --disable-audiovisualizers --disable-bayer --disable-cdxaparse --disable-dccp --disable-dtmf --disable-dvbsuboverlay --disable-dvdspu --disable-faceoverlay --disable-festival --disable-fieldanalysis --disable-freeze --disable-freeverb --disable-frei0r --disable-gaudieffects --disable-geometrictransform --disable-hls --disable-inter --disable-ivfparse --disable-jp2kdecimator --disable-liveadder --disable-mve --disable-mxf --disable-nsf --disable-nuvdemux --disable-patchdetect --disable-pcapparse --disable-pnm --disable-scaletempo --disable-sdi --disable-segmentclip --disable-siren --disable-smooth --disable-speed --disable-subenc --disable-tta --disable-vmnc --disable-y4m --disable-directsound --disable-wasapi --disable-direct3d --disable-directdraw --disable-direct3d9 --disable-directshow --disable-android_media --disable-apple_media --disable-osx_video --disable-shm --disable-vcd --disable-opensles --disable-assrender --disable-voamrwbenc --disable-voaacenc --disable-apexsink --disable-cdaudio --disable-celt --disable-chromaprint --disable-cog --disable-dc1394 --disable-decklink --disable-wayland --disable-dirac --disable-dts --disable-resindvd --disable-faac --disable-faad --disable-flite --disable-gsm --disable-jp2k --disable-liveadder --disable-ladspa --disable-lv2 --disable-libmms --disable-linsys --disable-modplug --disable-mimic --disable-mplex --disable-musepack --disable-musicbrainz --disable-mythtv --disable-nas --disable-neon --disable-ofa --disable-openal --disable-opencv --disable-opus --disable-pvr --disable-rsvg --disable-eglgles --disable-timidity --disable-teletextdec --disable-wildmidi --disable-sdl --disable-sdltest --disable-sndfile --disable-soundtouch --disable-spc --disable-gme --disable-vp8 --disable-swfdec --disable-dvb --disable-wininet --disable-acm --disable-vdpau --disable-schro --disable-zbar --disable-spandsp --disable-gsettings --disable-schemas-compile --disable-sndio'

compile:

cd gstreamer && \
./autogen.sh && make && make install && ldconfig && \
cd ../gst-plugins-base && \
./autogen.sh && make && make install && ldconfig && \
cd ../gst-plugins-good && \
./autogen.sh && make && make install && ldconfig && \
cd ../gst-plugins-bad && \
./autogen.sh && make && make install && ldconfig && \
cd ../gst-ffmpeg && \
./autogen.sh && make && make install && ldconfig
matthiasbock commented 11 years ago

Done compiling on a PC. Two windows pop up, one viewfinder, one video, both rolling :-D

Now trying on the Raspberry Pi ...

matthiasbock commented 11 years ago

gstreamer-0.10 compiled on the Raspberry Pi and works perfectly with the uvch264 plugin: bitrates can be adjusted, a high-quality video stream is successfully transferred via RTP