
Recherche avancée
Médias (3)
-
Elephants Dream - Cover of the soundtrack
17 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Image
-
Valkaama DVD Label
4 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Image
-
Publier une image simplement
13 avril 2011, par ,
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (110)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
HTML5 audio and video support
13 avril 2011, parMediaSPIP 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, parLe 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 (...)
Sur d’autres sites (9519)
-
ffmpeg - Error [tcp @ 0x5a25700] Port missing in uri
9 mai 2021, par gerFor 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 jesusdaI 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 SilvaThis 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)
}
}