Giter VIP home page Giter VIP logo

avavlccontrol's Introduction

AvaVLCControl

Avalonia VLC Player in UserControl

References

Refer to LibVLCSharp.Avalonia.Unofficial folder for the version lib handling the VideoView content property only, used by this POC sample.

Refer to LibVLCSharp.Avalonia.Unofficial.UCanvas folder for a version lib that allows to display multiple draggable controls over the scene of a video played with LibVLCSharp in an Avalonia app.

All samples

For VideoView content property only: LibVLCSharp.Avalonia.Unofficial.Samples

For multiple draggable controls: LibVLCSharp.Avalonia.Unofficial.UCanvas.Samples

avavlccontrol's People

Contributors

radiolondra avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

micsupreeme

avavlccontrol's Issues

Black screen with audio on Mint 20

Thanks a lot for this project. Works on Windows. Found that overlay shows up even when another windows is on foreground and cursor moves to the player control area.

On Mint, I get black screen with audio fine.

Logs:

user@user-linux:~/AvaVLCControl/AvaVLCControl/AvaVLCControl$ dotnet run 2>log.txt 
user@user-linux:~/AvaVLCControl/AvaVLCControl/AvaVLCControl$ head -n200 log.txt 
[0000556aba3bd1c0] main libvlc debug: VLC media player - 3.0.9.2 Vetinari
[0000556aba3bd1c0] main libvlc debug: Copyright © 1996-2020 the VideoLAN team
[0000556aba3bd1c0] main libvlc debug: revision 3.0.9.2-0-gd4c1aefe4d
[0000556aba3bd1c0] main libvlc debug: configured with ./configure  '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--disable-silent-rules' '--libdir=${prefix}/lib/x86_64-linux-gnu' '--runstatedir=/run' '--disable-maintainer-mode' '--disable-dependency-tracking' '--disable-debug' '--config-cache' '--disable-update-check' '--enable-fast-install' '--docdir=/usr/share/doc/vlc' '--with-binary-version=3.0.9.2-1' '--enable-a52' '--enable-aa' '--enable-aom' '--enable-aribsub' '--enable-avahi' '--enable-bluray' '--enable-caca' '--enable-chromaprint' '--enable-chromecast' '--enable-dbus' '--enable-dca' '--enable-dvbpsi' '--enable-dvdnav' '--enable-faad' '--enable-flac' '--enable-fluidsynth' '--enable-freetype' '--enable-fribidi' '--enable-gles2' '--enable-gnutls' '--enable-harfbuzz' '--enable-jack' '--enable-kate' '--enable-libass' '--enable-libmpeg2' '--enable-libxml2' '--enable-lirc' '--enable-live555' '--enable-mad' '--enable-matroska' '--enable-mod' '--enable-mpc' '--enable-mpg123' '--enable-mtp' '--enable-ncurses' '--enable-notify' '--enable-ogg' '--enable-opus' '--enable-pulse' '--enable-qt' '--enable-realrtsp' '--enable-samplerate' '--enable-sdl-image' '--enable-sftp' '--enable-shine' '--enable-shout' '--enable-skins2' '--enable-sndio' '--enable-soxr' '--enable-spatialaudio' '--enable-speex' '--enable-srt' '--enable-svg' '--enable-svgdec' '--enable-taglib' '--enable-theora' '--enable-twolame' '--enable-upnp' '--enable-vdpau' '--enable-vnc' '--enable-vorbis' '--enable-x264' '--enable-x265' '--enable-zvbi' '--with-kde-solid=/usr/share/solid/actions/' '--disable-crystalhd' '--disable-d3d11va' '--disable-decklink' '--disable-directx' '--disable-dsm' '--disable-dxva2' '--disable-fdkaac' '--disable-fluidlite' '--disable-freerdp' '--disable-goom' '--disable-gst-decode' '--disable-libtar' '--disable-macosx' '--disable-macosx-avfoundation' '--disable-macosx-qtkit' '--disable-microdns' '--disable-mfx' '--disable-opencv' '--disable-projectm' '--disable-schroedinger' '--disable-sparkle' '--disable-telx' '--disable-vpx' '--disable-vsxu' '--disable-wasapi' '--enable-alsa' '--enable-dc1394' '--enable-dv1394' '--enable-libplacebo' '--enable-linsys' '--enable-nfs' '--enable-omxil' '--enable-udev' '--enable-v4l2' '--enable-wayland' '--enable-libva' '--enable-vcd' '--enable-smbclient' '--disable-oss' '--enable-mmx' '--enable-sse' '--disable-neon' '--disable-altivec' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fdebug-prefix-map=/build/vlc-sUx6OI/vlc-3.0.9.2=. -fstack-protector-strong -Wformat -Werror=format-security ' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fdebug-prefix-map=/build/vlc-sUx6OI/vlc-3.0.9.2=. -fstack-protector-strong -Wformat -Werror=format-security ' 'OBJCFLAGS=-g -O2 -fdebug-prefix-map=/build/vlc-sUx6OI/vlc-3.0.9.2=. -fstack-protector-strong -Wformat -Werror=format-security'
[0000556aba3bd1c0] main libvlc debug: searching plug-in modules
[0000556aba3bd1c0] main libvlc debug: loading plugins cache file /usr/lib/x86_64-linux-gnu/vlc/plugins/plugins.dat
[0000556aba3bd1c0] main libvlc debug: recursively browsing `/usr/lib/x86_64-linux-gnu/vlc/plugins'
[0000556aba3bd1c0] main libvlc debug: plug-ins loaded: 521 modules
[0000556aba273830] main logger debug: looking for logger module matching "any": 4 candidates
[0000556aba273830] main logger debug: using logger module "console"
[0000556aba3bd1c0] main libvlc debug: translation test: code is "C"
[0000556abb1709f0] main keystore debug: looking for keystore module matching "memory": 4 candidates
[0000556abb1709f0] main keystore debug: using keystore module "memory"
[0000556aba3bd1c0] main libvlc debug: CPU has capabilities MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 AVX AVX2 FPU 
[h264 @ 0x7fc34c11c1c0] Reinit context to 1280x720, pix_fmt: yuv420p
[h264 @ 0x7fc34c11c1c0] get_buffer() failed
[h264 @ 0x7fc34c11c1c0] thread_get_buffer() failed
[h264 @ 0x7fc34c11c1c0] decode_slice_header error
[h264 @ 0x7fc34c11c1c0] no frame!
[h264 @ 0x7fc34c12bfc0] get_buffer() failed
[h264 @ 0x7fc34c12bfc0] thread_get_buffer() failed
[h264 @ 0x7fc34c12bfc0] decode_slice_header error
[h264 @ 0x7fc34c12bfc0] no frame!
[h264 @ 0x7fc34c1746c0] get_buffer() failed
[h264 @ 0x7fc34c1746c0] thread_get_buffer() failed
[h264 @ 0x7fc34c1746c0] decode_slice_header error
[h264 @ 0x7fc34c1746c0] no frame!
... (loops) ...

A few things: I bumped up to use .NET6.0 as I do not have 5.0. It does not seems to be related.

just in case I forced the code to select X server:

        public static void SetHandle(this MediaPlayer player, IPlatformHandle handle)
        {
            player.XWindow = (uint)handle.Handle;
            // if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
            //     player.Hwnd = handle.Handle;
            // else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
            //     player.XWindow = (uint)handle.Handle;
            // else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) player.NsObject = handle.Handle;
        }
ls ~/.nuget/packages/
avalonia                                           skiasharp.nativeassets.win32
avalonia.angle.windows.natives                     splat
avalonia.controls.datagrid                         system.buffers
avalonia.desktop                                   system.collections
avalonia.diagnostics                               system.collections.immutable
avalonia.freedesktop                               system.componentmodel.annotations
avalonia.native                                    system.diagnostics.debug
avalonia.reactiveui                                system.drawing.common
avalonia.remote.protocol                           system.dynamic.runtime
avalonia.skia                                      system.globalization
avalonia.win32                                     system.io
avalonia.x11                                       system.linq
csharpfunctionalextensions                         system.linq.expressions
dynamicdata                                        system.memory
harfbuzzsharp                                      system.numerics.vectors
harfbuzzsharp.nativeassets.linux                   system.objectmodel
harfbuzzsharp.nativeassets.macos                   system.reactive
harfbuzzsharp.nativeassets.webassembly             system.reflection
harfbuzzsharp.nativeassets.win32                   system.reflection.emit
jetbrains.annotations                              system.reflection.emit.ilgeneration
libvlcsharp                                        system.reflection.emit.lightweight
libvlcsharp.avalonia                               system.reflection.extensions
microsoft.aspnetcore.app.ref                       system.reflection.metadata
microsoft.codeanalysis.analyzers                   system.reflection.primitives
microsoft.codeanalysis.common                      system.reflection.typeextensions
microsoft.codeanalysis.csharp                      system.resources.resourcemanager
microsoft.codeanalysis.csharp.scripting            system.runtime
microsoft.codeanalysis.scripting.common            system.runtime.compilerservices.unsafe
microsoft.csharp                                   system.runtime.extensions
microsoft.netcore.app.host.linux-x64               system.runtime.handles
microsoft.netcore.app.ref                          system.runtime.interopservices
microsoft.netcore.platforms                        system.runtime.interopservices.runtimeinformation
microsoft.netcore.targets                          system.runtime.interopservices.windowsruntime
microsoft.netframework.referenceassemblies         system.runtime.serialization.primitives
microsoft.netframework.referenceassemblies.net45   system.security.principal.windows
microsoft.netframework.referenceassemblies.net471  system.text.encoding
microsoft.win32.systemevents                       system.text.encoding.codepages
msbuild.sdk.extras                                 system.threading
netstandard.library                                system.threading.tasks
reactiveui                                         system.threading.tasks.extensions
runtime.native.system                              system.valuetuple
skiasharp                                          tmds.dbus
skiasharp.nativeassets.linux                       videolan.libvlc.windows
skiasharp.nativeassets.macos                       xamlnamereferencegenerator
skiasharp.nativeassets.webassembly

About installed libvlc:

~/AvaVLCControl/AvaVLCControl/AvaVLCControl$ apt show libvlc-bin
Package: libvlc-bin
Version: 3.0.9.2-1
Priority: optional
Section: universe/video
Source: vlc
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Debian Multimedia Maintainers <[email protected]>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 204 kB
Depends: libc6 (>= 2.4), libvlc5 (>= 3.0.9.2)
Homepage: https://www.videolan.org/vlc/
Task: kubuntu-desktop, kubuntu-full, lubuntu-desktop, ubuntustudio-video
Download-Size: 17.1 kB
APT-Manual-Installed: no
APT-Sources: http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages
Description: tools for VLC's base library
 VLC is the VideoLAN project's media player. It plays MPEG, MPEG-2, MPEG-4,
 DivX, MOV, WMV, QuickTime, WebM, FLAC, MP3, Ogg/Vorbis files, DVDs, VCDs,
 podcasts, and multimedia streams from various network sources.
 .
 This package contains the vlc-cache-gen binary.

Any suggestion?
Thanks in advance,
Marcelo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.