Recherche avancée

Médias (1)

Mot : - Tags -/pirate bay

Autres articles (98)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

Sur d’autres sites (13491)

  • ffmpeg - Error [tcp @ 0x5a25700] Port missing in uri

    9 mai 2021, par ger

    For further development I tried to download a livestream under Ubuntu 20.04

    


    uname -a
Linux 5.9.16-050916-generic #202012211331 SMP Mon Dec 21 14:11:13 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux`

ffmpeg -v debug -i 'https://edge2.1internet.tv/dash-live11/streams/1tv/1tvdash.mpd' testErsterKanal.mp4
ffmpeg version 4.2.4-1ubuntu0.1 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
  configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  WARNING: library configuration mismatch
  avcodec     configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared --enable-version3 --disable-doc --disable-programs --enable-libaribb24 --enable-liblensfun --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libtesseract --enable-libvo_amrwbenc
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
Reading option '-timeout' ... matched as AVOption 'timeout' with argument '5000'.
Reading option '-i' ... matched as input url with argument 'https://edge2.1internet.tv/dash-live11/streams/1tv/1tvdash.mpd'.
Reading option 'testErsterKanal.mp4' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url https://edge2.1internet.tv/dash-live11/streams/1tv/1tvdash.mpd.
Successfully parsed a group of options.
Opening an input file: https://edge2.1internet.tv/dash-live11/streams/1tv/1tvdash.mpd.
[NULL @ 0x55f8e8ee6740] Opening 'https://edge2.1internet.tv/dash-live11/streams/1tv/1tvdash.mpd' for reading
[https @ 0x55f8e8ee7100] Setting default whitelist 'http,https,tls,rtp,tcp,udp,crypto,httpproxy'
[tcp @ 0x55f8e8ee9580] Original list of addresses:
[tcp @ 0x55f8e8ee9580] Address 81.211.33.67 port 443
[tcp @ 0x55f8e8ee9580] Interleaved list of addresses:
[tcp @ 0x55f8e8ee9580] Address 81.211.33.67 port 443
[tcp @ 0x55f8e8ee9580] Starting connection attempt to 81.211.33.67 port 443
[tcp @ 0x55f8e8ee9580] Successfully connected to 81.211.33.67 port 443
[https @ 0x55f8e8ee7100] request: GET /dash-live11/streams/1tv/1tvdash.mpd HTTP/1.1


    


    worked well

    


    Under Debian 10

    


    Linux 4.19.0-16-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 GNU/Linux


    


    it is not working

    


        ffmpeg -v debug -i 'https://81.211.33.67/dash-live11/streams/1tv/1tvdash.mpd' testErsterKanal.mp4
ffmpeg version 4.1.6 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 8 (Debian 8.3.0-6)
  configuration: --disable-decoder=amrnb --disable-decoder=libopenjpeg --disable-libopencv --disable-outdev=sdl2 --disable-podpages --disable-sndio --disable-stripping --enable-libaom --enable-avfilter --enable-avresample --enable-gcrypt --disable-gnutls --enable-openssl --enable-gpl --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libkvazaar --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx265 --enable-libzimg --enable-libxvid --enable-libzvbi --enable-nonfree --enable-opencl --enable-opengl --enable-postproc --enable-pthreads --enable-shared --enable-version3 --enable-libwebp --incdir=/usr/include/x86_64-linux-gnu --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --toolchain=hardened --enable-frei0r --enable-chromaprint --enable-libx264 --enable-libiec61883 --enable-libdc1394 --enable-vaapi --enable-libmfx --enable-libvmaf --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
Reading option '-i' ... matched as input url with argument 'https://81.211.33.67/dash-live11/streams/1tv/1tvdash.mpd'.
Reading option 'testErsterKanal.mp4' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url https://81.211.33.67/dash-live11/streams/1tv/1tvdash.mpd.
Successfully parsed a group of options.
Opening an input file: https://81.211.33.67/dash-live11/streams/1tv/1tvdash.mpd.
[NULL @ 0x55ce69421280] Opening 'https://81.211.33.67/dash-live11/streams/1tv/1tvdash.mpd' for reading
[https @ 0x55ce69421e40] Setting default whitelist 'http,https,tls,rtp,tcp,udp,crypto,httpproxy'
[tcp @ 0x55ce69425e00] Port missing in uri
https://81.211.33.67/dash-live11/streams/1tv/1tvdash.mpd: Invalid argument


    


    I tried with ports 80 and 443, IP and an actual ffmpeg-Version in all combinations

    


        nmap edge2.1internet.tv
Starting Nmap 7.70 ( https://nmap.org ) at 2021-05-06 21:46 CEST
Nmap scan report for edge2.1internet.tv (81.211.33.67)
Host is up (0.078s latency).
Not shown: 998 filtered ports
PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  https

ffmpeg -v debug -i 'https://81.211.33.67:443/dash-live11/streams/1tv/1tvdash.mpd' testErsterKanal.mp4
    ffmpeg -v debug -i 'https://81.211.33.67:80/dash-live11/streams/1tv/1tvdash.mpd' testErsterKanal.mp4
    ./ffmpeg-git-20210501-amd64-static/ffmpeg -v debug -i 'https://81.211.33.67:443/dash-live11/streams/1tv/1tvdash.mpd' testErsterKanal.mp4


    


    What is the error : [tcp @ 0x55ce69425e00] Port missing in uri and where it comes from ?
May be an global configuration error and not ffmpeg ?
Thanks

    


    EDIT

    


    I found out, that it is working only with sudo and the actual ffmpeg version (static build) from the home directory of the user, which is owend by the user.
All privileges of the directory's are at the user.

    


    sudo ./ffmpeg-git-20210501-amd64-static/ffmpeg -re -i https://edge2.1internet.tv/dash-live11/streams/1tv/1tvdash.mpd testErsterKanal.mp4
ffmpeg version N-57204-gc7c138e411-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 8 (Debian 8.3.0-6)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
  libavutil      57.  0.100 / 57.  0.100
  libavcodec     59.  0.100 / 59.  0.100
  libavformat    59.  0.100 / 59.  0.100
  libavdevice    59.  0.100 / 59.  0.100
  libavfilter     8.  0.101 /  8.  0.101
  libswscale      6.  0.100 /  6.  0.100
  libswresample   4.  0.100 /  4.  0.100
  libpostproc    56.  0.100 / 56.  0.100


    


    With the standard Debian distribution version from /usr/bin/ffmpeg is still not working, too with su-privileges.

    


    I want to use it for tvheadend/TVH and can not work with su-privileges.

    


    I tried to at Ubuntu

    


    nc -z -v -u 81.211.33.67 443
Connection to 81.211.33.67 443 port [udp/*] succeeded!


    


    at Debian

    


    nc -z -v -u 81.211.33.67 443
81.211.33.67: inverse host lookup failed: Unknown host
(UNKNOWN) [81.211.33.67] 443 (?) open


    


    and with sudo the same.

    


  • Screen capture (video screencast) with FFMPEG with very low FPS

    20 septembre 2023, par jesusda

    I recently changed PCs, I went from having an Intel Core i5 4460 with integrated graphics card to a Xeon E5 2678 v3 with AMD RADEON RX 550 graphics.

    


    On paper, the new PC is on the order of 3 to 7 times more powerful than the old one and I can attest that this is the case in daily use, video and image editing etc. The advantage of having so many cores and threads available is palpable. In terms of games I haven't tried it because I'm not really a gamer and the few games I use are the typical free ones that come with Debian and some emulators that, honestly, already worked fine with the old PC.

    


    However there is one task that brings me head over heels for its terrible performance : video screen capture.

    


    With my old PC I was able to capture at over 60 fps at full screen while doing any task I needed to record.

    


    Even with my lenovo thinkpad x230 I am able to capture screen at over 80fps with total fluency.

    


    The command I have always used is :

    


    ffmpeg  -f x11grab -draw_mouse 1 -framerate 60 -video_size 1920x1200 -i :0.0+1680,0  -qscale 0 -pix_fmt yuv420p -c:v libx264 -preset medium -qp 0 -q:v 1 -s 1920x1200 -f matroska -threads 4 video.mkv


    


    notes :

    


    -video_size 1920x1200 -i :0.0+1680,0 y -s 1920x1200 are the dimensions and position of the region to capture (my right monitor).

    


    Notice that I even used -preset medium and software encoding, so I got very good quality even with that parameter setting and without ever going below 60 fps.

    


    What happens to me now ?

    


    The equipment is unable to capture more than 20 fps which makes any video invalid, with frame drops and not even reach 30fps, which would be the minimum required.

    


    In addition, it is quite noticeable the decrease in responsiveness of the PC as soon as I launch the command. That is, all that fluidity and smoothness that is appreciated when working normally, disappears and even moving a window from one side to another is rough and stumbling.

    


    I have tried with different parameters of ffmpeg, to capture raw, without encoding.

    


    I have tried saving the resulting video directly to RAM disk in order to avoid the possible bottleneck of writing to disk. It doesn't affect it at all.

    


    So, does anyone have any suggestions as to at least where I can dig further to find a solution to the problem ?

    


    Additional data, in case it helps :

    


    $ → inxi
CPU: 12-Core Intel Xeon E5-2678 v3 (-MT MCP-)
speed/min/max: 1201/1200/3300 MHz Kernel: 5.10.0-0.bpo.4-amd64 x86_64
Up: 1d 6h 55m Mem: 6427.6/32012.4 MiB (20.1%)
Storage: 13.76 TiB (55.9% used) Procs: 433 Shell: bash 5.0.18 inxi: 3.0.32


$ → ffmpeg -v
ffmpeg version 4.1.6 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 8 (Debian 8.3.0-6)
  configuration: --disable-decoder=amrnb --disable-decoder=libopenjpeg --disable-libopencv --disable-outdev=sdl2 --disable-podpages --disable-sndio --disable-stripping --enable-libaom --enable-avfilter --enable-avresample --enable-gcrypt --disable-gnutls --enable-openssl --enable-gpl --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libkvazaar --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx265 --enable-libzimg --enable-libxvid --enable-libzvbi --enable-nonfree --enable-opencl --enable-opengl --enable-postproc --enable-pthreads --enable-shared --enable-version3 --enable-libwebp --incdir=/usr/include/x86_64-linux-gnu --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --toolchain=hardened --enable-frei0r --enable-chromaprint --enable-libx264 --enable-libiec61883 --enable-libdc1394 --enable-vaapi --enable-libmfx --enable-libvmaf --disable-altivec --shlibdir=/usr/lib/x86_64-linux-gnu
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100


    


    I have the free amdgpu drivers (not amdgpu-pro), but I activated OpenCL just in case.

    


    I followed this tutorial.

    


    $ → glxinfo | grep OpenGL
OpenGL vendor string: AMD
OpenGL renderer string: Radeon RX550/550 Series (POLARIS12, DRM 3.40.0, 5.10.0-0.bpo.4-amd64, LLVM 11.0.1)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.3.4
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.3.4
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 20.3.4
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:





$ → clinfo
Number of platforms                               1
  Platform Name                                   Clover
  Platform Vendor                                 Mesa
  Platform Version                                OpenCL 1.1 Mesa 20.3.4
  Platform Profile                                FULL_PROFILE
  Platform Extensions                             cl_khr_icd
  Platform Extensions function suffix             MESA

  Platform Name                                   Clover
Number of devices                                 1
  Device Name                                     Radeon RX550/550 Series (POLARIS12, DRM 3.40.0, 5.10.0-0.bpo.4-amd64, LLVM 11.0.1)
  Device Vendor                                   AMD
  Device Vendor ID                                0x1002
  Device Version                                  OpenCL 1.1 Mesa 20.3.4
  Driver Version                                  20.3.4
  Device OpenCL C Version                         OpenCL C 1.1
  Device Type                                     GPU
  Device Profile                                  FULL_PROFILE
  Device Available                                Yes
  Compiler Available                              Yes
  Max compute units                               8
  Max clock frequency                             1183MHz
  Max work item dimensions                        3
  Max work item sizes                             256x256x256
  Max work group size                             256
  Preferred work group size multiple              64
  Preferred / native vector sizes
    char                                                16 / 16
    short                                                8 / 8
    int                                                  4 / 4
    long                                                 2 / 2
    half                                                 0 / 0        (n/a)
    float                                                4 / 4
    double                                               2 / 2        (cl_khr_fp64)
  Half-precision Floating-point support           (n/a)
  Single-precision Floating-point support         (core)
    Denormals                                     No
    Infinity and NANs                             Yes
    Round to nearest                              Yes
    Round to zero                                 No
    Round to infinity                             No
    IEEE754-2008 fused multiply-add               No
    Support is emulated in software               No
    Correctly-rounded divide and sqrt operations  No
  Double-precision Floating-point support         (cl_khr_fp64)
    Denormals                                     Yes
    Infinity and NANs                             Yes
    Round to nearest                              Yes
    Round to zero                                 Yes
    Round to infinity                             Yes
    IEEE754-2008 fused multiply-add               Yes
    Support is emulated in software               No
  Address bits                                    64, Little-Endian
  Global memory size                              3221225472 (3GiB)
  Error Correction support                        No
  Max memory allocation                           1717986918 (1.6GiB)
  Unified memory for Host and Device              No
  Minimum alignment for any data type             128 bytes
  Alignment of base address                       32768 bits (4096 bytes)
  Global Memory cache type                        None
  Image support                                   No
  Local memory type                               Local
  Local memory size                               32768 (32KiB)
  Max number of constant args                     16
  Max constant buffer size                        67108864 (64MiB)
  Max size of kernel argument                     1024
  Queue properties
    Out-of-order execution                        No
    Profiling                                     Yes
  Profiling timer resolution                      0ns
  Execution capabilities
    Run OpenCL kernels                            Yes
    Run native kernels                            No
  Device Extensions cl_khr_byte_addressable_store cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_fp64

NULL platform behavior
  clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)  Clover
  clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)   Success [MESA]
  clCreateContext(NULL, ...) [default]            Success [MESA]
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)  Success (1)
    Platform Name                                 Clover
    Device Name                                   Radeon RX550/550 Series (POLARIS12, DRM 3.40.0, 5.10.0-0.bpo.4-amd64, LLVM 11.0.1)
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  Success (1)
    Platform Name                                 Clover
    Device Name                                   Radeon RX550/550 Series (POLARIS12, DRM 3.40.0, 5.10.0-0.bpo.4-amd64, LLVM 11.0.1)
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL)  Success (1)
    Platform Name                                 Clover
    Device Name                                   Radeon RX550/550 Series (POLARIS12, DRM 3.40.0, 5.10.0-0.bpo.4-amd64, LLVM 11.0.1)

ICD loader properties
  ICD loader Name                                 OpenCL ICD Loader
  ICD loader Vendor                               OCL Icd free software
  ICD loader Version                              2.2.12
  ICD loader Profile                              OpenCL 2.2


    


    This would not be a tearing problem, as no tearing is visible when playing videos and the TearFree driver policy is enabled.

    


    $ → xrandr --verbose | grep TearFree
    TearFree: on
    TearFree: on
    TearFree: on


    


  • WriteToUDP only works on same machine

    26 mai 2017, par Anderson Scouto da Silva

    This script is intended to capture the output of ffmpeg and write to a UDP address.

    It works correctly as I open the VLC 233.10.10.13:1234 and runs normally, but out of this computer the stream is not played, it’s as if the stream does not exit from the machine to the multicast network, but on the same PC it works normally, I run the script go and open the VLC to run, it works perfectly.

    To take the doubts that might be some problem in the interfaces, I made a VLC stream by capturing 233.1.1.13:1234 and exiting to 233.10.10.13:1234 and I can run anywhere outside the machine where VLC is, for example, in another VLC on another machine. It just does not work in the script I wrote on go.

    Can anyone help ?

    package main

    import (
       "os/exec"
       "io"
       "strings"
       "net"
       "net/url"
       "os"
       "github.com/juju/loggo"
    )

    const (
       BUFFER = 40 * 1024
       DEBUG = true
    )

    func verificaErro(e error) {
       if e != nil {
           logger.Errorf(e.Error())
       }
    }

    var logger loggo.Logger


    func main() {
       initLogger()

       dir, _ := os.Getwd()

       // conexão UDP
       conn, err := net.ListenUDP("udp", &net.UDPAddr{IP: net.IPv4zero, Port: 0})
       verificaErro(err)
       err = conn.SetWriteBuffer(BUFFER)
       verificaErro(err)

       inputSource := dir + "/in/teste-4k.mp4"
       inputSource = normalizeInputSource(inputSource)

       inputCodec := probeInputCodec(inputSource)
       outputCodec := probeOutputCodec(inputCodec)

       cmdName := "ffmpeg"
       argsPipe1 := []string{
           "-hide_banner",
           "-loglevel", "panic",
           "-re",
           "-i",
           inputSource,
           "-preset",
           "superfast",
           "-c:v",
           inputCodec,
           "-crf",
           "0",
           "-c",
           "copy",
           "-f", outputCodec, "pipe:1",
       }

       cmdPipe1 := exec.Command(cmdName, argsPipe1...)

       logger.Debugf(strings.Join(argsPipe1, " "))

       stdoutPipe1, err := cmdPipe1.StdoutPipe()
       verificaErro(err)
       err2 := cmdPipe1.Start()
       verificaErro(err2)

       chunk := make([]byte, BUFFER)
       for {
           nr, err5 := stdoutPipe1.Read(chunk)
           logger.Debugf("Lido %d bytes\n", nr)

           if nr > 0 {
               validData := chunk[:nr]

               nw, err6 := conn.WriteToUDP(validData, &net.UDPAddr{IP: net.IP{233, 10, 10, 13}, Port: 1234})
               logger.Debugf("Escrito %d bytes\n", nw)
               verificaErro(err6)
           }

           if err5 != nil {
               // fim do arquivo
               if err5 == io.EOF {
                   break
               }
               logger.Errorf("Erro = %v\n", err5)
               continue
           }
       }
    }

    func probeInputCodec(input string) string {
       cmdName := "ffprobe"
       args := []string{
           "-v", "error",
           "-select_streams", "v:0", "-show_entries",
           "stream=codec_name", "-of", "default=noprint_wrappers=1:nokey=1",
           input,
       }

       out, err := exec.Command(cmdName, args...).Output()
       verificaErro(err)

       return strings.TrimSpace(string(out))

    }

    func probeOutputCodec(inputCode string) string {
       switch inputCode {
       case "h264":
           return "mpegts"
       case "mpeg4":
           return "mpeg4"
       }

       return "mpegts"
    }

    func normalizeInputSource(inputSource string) (string) {
       isFile := false
       if _, err := os.Stat(inputSource); err == nil {
           isFile = true
       }
       if isFile {
           return inputSource
       }

       u, err := url.Parse(inputSource)
       verificaErro(err)

       if u.Scheme != "udp" && u.Scheme != "tcp" {
           errorMessage := "A entrada deve ser uma URL UDP/TCP ou um arquivo existente"
           logger.Errorf(errorMessage)
           os.Exit(1)
       }

       q := u.Query()

       if u.Scheme == "udp" {
           q.Set("overrun_nonfatal", "1")
           q.Set("fifo_size", "1000000")
           q.Set("buffer_size", "26214400")
       }

       u.RawQuery = q.Encode()

       return u.String()
    }

    func initLogger() {
       logger = loggo.GetLogger(loggo.DefaultWriterName)
       if DEBUG {
           logger.SetLogLevel(loggo.DEBUG)
       } else {
           logger.SetLogLevel(loggo.ERROR)
       }
    }