
Recherche avancée
Autres articles (45)
-
Gestion générale des documents
13 mai 2011, parMédiaSPIP ne modifie jamais le document original mis en ligne.
Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...) -
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page. -
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 (...)
Sur d’autres sites (4564)
-
what is the meaning of the v4l2-ctl —list-device ?
26 janvier 2021, par mcgregor94086The High level Problem :


I have a custom multi-camera array that I have attached to a Raspberry Pi via some USB hubs, and I need a way to quickly identify which camera needs attention when any camera fails to respond to an image capture request.


Can "v4l2-ctl —list_devices" help me ?


I am trying to determine if
"v4l2-ctl —list_devices" can help me more quickly identify which one is missing. My thought was to look at which cameras are reporting, and then notice which one is NOT reporting, and investigate the missing one.


My question is can I identify each reporting camera either for the v4l2-ctl output, or from "FFmpeg -list_formats"


Here is the output I get from v4l2-ctl :


$ v4l2-ctl --list-device 
bcm2835-codec-decode (platform:bcm2835-codec):
 /dev/video10
 /dev/video11
 /dev/video12

bcm2835-isp (platform:bcm2835-isp):
 /dev/video13
 /dev/video14
 /dev/video15
 /dev/video16

FHD Camera: FHD Camera (usb-0000:01:00.0-1.2.1.2.1.1):
 /dev/video4
 /dev/video5

FHD Camera: FHD Camera (usb-0000:01:00.0-1.2.1.2.1.2):
 /dev/video6
 /dev/video7

FHD Camera: FHD Camera (usb-0000:01:00.0-1.2.1.2.1.3):
 /dev/video8
 /dev/video9

FHD Camera: FHD Camera (usb-0000:01:00.0-1.2.1.2.1.4):
 /dev/video17
 /dev/video18

FHD Camera: FHD Camera (usb-0000:01:00.0-1.2.1.2.2):
 /dev/video0
 /dev/video1

FHD Camera: FHD Camera (usb-0000:01:00.0-1.2.1.2.3):
 /dev/video2
 /dev/video3

FHD Camera: FHD Camera (usb-0000:01:00.0-1.2.1.3.1.1):
 /dev/video21
 /dev/video22

FHD Camera: FHD Camera (usb-0000:01:00.0-1.2.1.3.1.2):
 /dev/video25
 /dev/video26

FHD Camera: FHD Camera (usb-0000:01:00.0-1.2.1.3.1.4):
 /dev/video29
 /dev/video30

FHD Camera: FHD Camera (usb-0000:01:00.0-1.2.1.3.2):
 /dev/video19
 /dev/video20

FHD Camera: FHD Camera (usb-0000:01:00.0-1.2.1.3.3):
 /dev/video23
 /dev/video24

FHD Camera: FHD Camera (usb-0000:01:00.0-1.2.1.3.4):
 /dev/video27
 /dev/video28

FHD Camera: FHD Camera (usb-0000:01:00.0-1.2.2.1.2):
 /dev/video35
 /dev/video36

FHD Camera: FHD Camera (usb-0000:01:00.0-1.2.2.1.3):
 /dev/video39
 /dev/video40

FHD Camera: FHD Camera (usb-0000:01:00.0-1.2.2.1.4):
 /dev/video41
 /dev/video42

FHD Camera: FHD Camera (usb-0000:01:00.0-1.2.2.2):
 /dev/video31
 /dev/video32

FHD Camera: FHD Camera (usb-0000:01:00.0-1.2.2.3):
 /dev/video33
 /dev/video34

FHD Camera: FHD Camera (usb-0000:01:00.0-1.2.2.4):
 /dev/video37
 /dev/video38

FHD Camera: FHD Camera (usb-0000:01:00.0-1.2.4.2):
 /dev/video43
 /dev/video44



All the USB cameras in my array each report the same first field (in this case "FHD Camera") so I can't use the name as a unique identifier.


Each "FHD Camera" is assigned two different /dev/videoNN ids (one will be assigned for the mpeg format, and the other for the UYV format). However these /dev/videoNN assignments change each time the computer reboots.


The sequence that cameras are listed in the output also changes each time the v4l2-ctl command runs. So that also is of no help


v4l2-ctl also reports another field, beginning "usb-0000 :" followed by a series numbers (e.g. "01:00.0-1.2.2.4").


I am wondering if this number string ties in any way to the physical USB bus, and would remain permanent across reboots.


The v4l2-ctl help documentation merely says that the —list-devices flag will list the video devices, but these additional fields and their meaning is not explained.


Alternatively, for each camera that is responding, I can query the device with
"ffmpeg -hide_banner -f v4l2 -list_formats all -i /dev/videoNN", yielding a response like this :


$ ffmpeg -hide_banner -f v4l2 -list_formats all -i /dev/video8
[video4linux2,v4l2 @ 0x1a391c0] Compressed: mjpeg : Motion-JPEG : 640x480 1280x720 640x360 320x240 1920x1080
[video4linux2,v4l2 @ 0x1a391c0] Raw : yuyv422 : YUYV 4:2:2 : 640x480 1280x720 640x360 320x240 1920x1080
/dev/video8: Immediate exit requested



This ffmpeg query shows me that the device is also registered as "0x1a391c0". I am not yet sure whether these identifiers are stable across reboots, and if they are, whether they are stable with the physical camera, or if they are just a stable identifier to the USB Hub location of the camera.


My request :


Can someone explain to me how the "device name", /dev/videoNN identifier, usb-0000:01:00.0-1.2.2.4 identifier, and 0x1a391c0 are assigned ?


The responding order of the items listed in v4l2-ctl changes each time it runs.


Is this reflecting that all cameras are polled simultaneously, but acquisition of the bus for response transmission is random ?


Addendum


Further investigation shows me that the "0x-------" identifiers do not seem to be stable across reboots either.


The "usb-0000:01:00.0-1.2.2.2" identifier DOES seem to have a somewhat stable meaning. I have (5) 7-port usb hubs attached to my RPi 400. 4 of these are branch hubs that feed into a master hub, and the master hub feeds into the RPi.


After the 0-1. in the identifier there is either 3 or 4 digits. If there are only 3, the last digit is a port identifier 2, 3, or 4.


If there are 4 digits, then the 2nd to last digit will be a 1, and 1.1, 1.2, 1.3, and 1.4 will represent the last 4 physical ports on that hub.


Ironically, while the same port identifiers are always used in the same order on each of my (identical brand/model) hubs, they are NOT in ascending or descending sequence in terms of their physical sequence on the hubs.


I have deduced from this that each of my hubs actually uses two USB 4 port chips. So the first chip is getting the single digits, while the 1st port on that 1st chip is feeding the 2nd chip.


The 2nd digit in my identifiers is identifying which branch hub the device is on, 1,2,3 or 4. The first digit is 1, which seems to be identifying that all the branches are children of the master hub.


These addresses seem to be stable across reboots as long as all of the USB hubs are already connected at boot up. If not all are connected, those that are connected first will get the lowest hub number identifiers.


I don't know if this tree address identifier behavior would be the same on other hubs, but perhaps these observations will be of some use to anyone else trying to find stable identifiers in their own multi hub and multi-device architecture.


-
How to build FFmpeg with Apple Symbols ?
22 septembre 2021, par Meh.MOVED FROM : https://superuser.com/questions/1676856/how-to-build-ffmpeg-with-apple-symbols?noredirect=1#comment2572799_1676856


I'm trying to build
FFmpeg 3.2.4
withOpenSSL >= 2.0.7
(3.0.0) from source so I can use it's binaries to build Dolphin-Emu.

I just do this :
./configure --enable-gnutls
and when I build withmake -j5
(-j5 speeds up the process) thenmake install
. When I use it in compiling Dolphin , I get an error somewhat like this :

Undefined symbols for architecture x86_64:
 "_kCVImageBufferColorPrimaries_ITU_R_709_2", referenced from:
 _vtenc_init in libavcodec.a(videotoolboxenc.o)
 _vtenc_init in libavcodec.a(videotoolboxenc.o)
 "_kVDADecoderConfiguration_SourceFormat", referenced from:
 "_kCVImageBufferTransferFunction_ITU_R_2020", referenced from:
 _ff_vda_create_decoder in libavcodec.a(vda_h264.o)
 _vtenc_init in libavcodec.a(videotoolboxenc.o)
 "_kVDADecoderConfiguration_avcCData", referenced from:
 "_CMBlockBufferCopyDataBytes", referenced from:
 _ff_vda_create_decoder in libavcodec.a(vda_h264.o)
 _vtenc_frame in libavcodec.a(videotoolboxenc.o)
 "_kCVImageBufferYCbCrMatrixKey", referenced from:
 _vtenc_init in libavcodec.a(videotoolboxenc.o)
 _vtenc_send_frame in libavcodec.a(videotoolboxenc.o)
 "_SSLSetCertificate", referenced from:
 _tls_open in libavformat.a(tls_securetransport.o)
 "_CMTimeMake", referenced from:
 _vtenc_send_frame in libavcodec.a(videotoolboxenc.o)
 "_kCVPixelBufferWidthKey", referenced from:
 _vtenc_init in libavcodec.a(videotoolboxenc.o)
 "_VDADecoderCreate", referenced from:
 _ff_vda_create_decoder in libavcodec.a(vda_h264.o)
 "_kVTProfileLevel_H264_High_4_2", referenced from:
 _vtenc_init in libavcodec.a(videotoolboxenc.o)
 "_kCVPixelBufferIOSurfacePropertiesKey", referenced from:
 _ff_vda_create_decoder in libavcodec.a(vda_h264.o)
 "_kVTProfileLevel_H264_Baseline_1_3", referenced from:
 _vtenc_init in libavcodec.a(videotoolboxenc.o)
(example)



These
_kV(blahblahblah)
symbols are provided by Apple... under<coremedia></coremedia>CoreMedia.h>
so my mac should DEFINITELY have this. OpenSSL version is 3.0.0 as there's an error about_SSLSetCertificate
not existing.

Does anyone have any ideas why this is throwing undefined symbols for existing symbols ? (My FFmpeg is compiled by
clang
whenever I use make, and I use gnutls(installed by brew) which should rely on openssl3.0)

Xcode version : 11.3.1 (Only has macos 10.15 SDK)


Linker command to link Dolphin and FFmpeg w/ OpenSSL binaries/libs


/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -O3 -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -mmacosx-version-min=10.14.0 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/usr/local/lib -Wl,-dead_strip,-dead_strip_dylibs CMakeFiles/dolphin-nogui.dir/Platform.cpp.o CMakeFiles/dolphin-nogui.dir/PlatformHeadless.cpp.o CMakeFiles/dolphin-nogui.dir/MainNoGUI.cpp.o -o ../../../Binaries/dolphin-emu-nogui ../Core/libcore.a ../UICommon/libuicommon.a ../../../Externals/cpp-optparse/libcpp-optparse.a ../VideoBackends/Null/libvideonull.a ../VideoBackends/OGL/libvideoogl.a ../VideoBackends/Software/libvideosoftware.a ../VideoBackends/Vulkan/libvideovulkan.a ../VideoCommon/libvideocommon.a ../Core/libcore.a ../VideoBackends/Null/libvideonull.a ../VideoBackends/OGL/libvideoogl.a ../VideoBackends/Software/libvideosoftware.a ../VideoBackends/Vulkan/libvideovulkan.a ../VideoCommon/libvideocommon.a ../AudioCommon/libaudiocommon.a /usr/local/lib/libpulse.dylib ../../../Externals/soundtouch/libSoundTouch.a ../../../Externals/FreeSurround/libFreeSurround.a ../../../Externals/cubeb/libcubeb.a -framework AudioUnit -framework CoreAudio -framework CoreServices ../DiscIO/libdiscio.a /usr/lib/libbz2.dylib ../../../Externals/liblzma/liblzma.a ../../../Externals/zstd/libzstd.a ../InputCommon/libinputcommon.a -framework Carbon -framework ForceFeedback /usr/local/lib/libSDL2.dylib -framework Cocoa ../../../Externals/SFML/libsfml-network.a ../../../Externals/SFML/libsfml-system.a ../../../Externals/LZO/liblzo2.a -framework CoreServices -framework IOBluetooth ../../../Externals/mGBA/mgba/libmgba.a -framework Foundation -lm ../../../Externals/hidapi/libhidapi.a ../../../Externals/glslang/libglslang.a ../../../Externals/xxhash/libxxhash.a ../../../Externals/imgui/libimgui.a /usr/local/lib/libavformat.a /usr/local/lib/libavcodec.a /usr/local/lib/libswscale.a /usr/local/lib/libavutil.a ../Common/libcommon.a ../../../Externals/enet/libenet.a ../../../Externals/mbedtls/library/libmbedtls.a ../../../Externals/mbedtls/library/libmbedx509.a ../../../Externals/mbedtls/library/libmbedcrypto.a /usr/lib/libcurl.dylib /usr/lib/libiconv.dylib ../../../Externals/libpng/libpng.a -framework AppKit ../../../Externals/miniupnpc/libminiupnpc.a ../../../Externals/pugixml/libpugixml.a ../../../Externals/fmt/libfmt.a ../../../Externals/Bochs_disasm/libbdisasm.a ../../../Externals/libusb/libusb.a -framework CoreFoundation -framework IOKit /usr/lib/libobjc.dylib ../../../Externals/minizip/libminizip.a /usr/lib/libz.dylib ../../../Externals/discord-rpc/src/libdiscord-rpc.a -lpthread -framework AppKit 



-
How to resolve FFmpeg undefined symbols error when using libavformat in Dolphin
24 septembre 2021, par Meh.MOVED FROM : https://superuser.com/questions/1676856/how-to-build-ffmpeg-with-apple-symbols?noredirect=1#comment2572799_1676856


I'm trying to build
FFmpeg 3.2.4
withOpenSSL >= 2.0.7
(3.0.0) from source so I can use it's binaries to build Dolphin-Emu.

I just do this :
./configure --enable-gnutls
and when I build withmake -j5
(-j5 speeds up the process) thenmake install
. When I use it in compiling Dolphin , I get an error somewhat like this :

Undefined symbols for architecture x86_64:
 "_kCVImageBufferColorPrimaries_ITU_R_709_2", referenced from:
 _vtenc_init in libavcodec.a(videotoolboxenc.o)
 _vtenc_init in libavcodec.a(videotoolboxenc.o)
 "_kVDADecoderConfiguration_SourceFormat", referenced from:
 "_kCVImageBufferTransferFunction_ITU_R_2020", referenced from:
 _ff_vda_create_decoder in libavcodec.a(vda_h264.o)
 _vtenc_init in libavcodec.a(videotoolboxenc.o)
 "_kVDADecoderConfiguration_avcCData", referenced from:
 "_CMBlockBufferCopyDataBytes", referenced from:
 _ff_vda_create_decoder in libavcodec.a(vda_h264.o)
 _vtenc_frame in libavcodec.a(videotoolboxenc.o)
 "_kCVImageBufferYCbCrMatrixKey", referenced from:
 _vtenc_init in libavcodec.a(videotoolboxenc.o)
 _vtenc_send_frame in libavcodec.a(videotoolboxenc.o)
 "_SSLSetCertificate", referenced from:
 _tls_open in libavformat.a(tls_securetransport.o)
 "_CMTimeMake", referenced from:
 _vtenc_send_frame in libavcodec.a(videotoolboxenc.o)
 "_kCVPixelBufferWidthKey", referenced from:
 _vtenc_init in libavcodec.a(videotoolboxenc.o)
 "_VDADecoderCreate", referenced from:
 _ff_vda_create_decoder in libavcodec.a(vda_h264.o)
 "_kVTProfileLevel_H264_High_4_2", referenced from:
 _vtenc_init in libavcodec.a(videotoolboxenc.o)
 "_kCVPixelBufferIOSurfacePropertiesKey", referenced from:
 _ff_vda_create_decoder in libavcodec.a(vda_h264.o)
 "_kVTProfileLevel_H264_Baseline_1_3", referenced from:
 _vtenc_init in libavcodec.a(videotoolboxenc.o)
(example)



These
_kV(blahblahblah)
symbols are provided by Apple... under<coremedia></coremedia>CoreMedia.h>
so my mac should DEFINITELY have this. OpenSSL version is 3.0.0 as there's an error about_SSLSetCertificate
not existing.

Does anyone have any ideas why this is throwing undefined symbols for existing symbols ? (My FFmpeg is compiled by
clang
whenever I use make, and I use gnutls(installed by brew) which should rely on openssl3.0)

Xcode version : 11.3.1 (Only has macos 10.15 SDK)


Linker command to link Dolphin and FFmpeg w/ OpenSSL binaries/libs


/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -O3 -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -mmacosx-version-min=10.14.0 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/usr/local/lib -Wl,-dead_strip,-dead_strip_dylibs CMakeFiles/dolphin-nogui.dir/Platform.cpp.o CMakeFiles/dolphin-nogui.dir/PlatformHeadless.cpp.o CMakeFiles/dolphin-nogui.dir/MainNoGUI.cpp.o -o ../../../Binaries/dolphin-emu-nogui ../Core/libcore.a ../UICommon/libuicommon.a ../../../Externals/cpp-optparse/libcpp-optparse.a ../VideoBackends/Null/libvideonull.a ../VideoBackends/OGL/libvideoogl.a ../VideoBackends/Software/libvideosoftware.a ../VideoBackends/Vulkan/libvideovulkan.a ../VideoCommon/libvideocommon.a ../Core/libcore.a ../VideoBackends/Null/libvideonull.a ../VideoBackends/OGL/libvideoogl.a ../VideoBackends/Software/libvideosoftware.a ../VideoBackends/Vulkan/libvideovulkan.a ../VideoCommon/libvideocommon.a ../AudioCommon/libaudiocommon.a /usr/local/lib/libpulse.dylib ../../../Externals/soundtouch/libSoundTouch.a ../../../Externals/FreeSurround/libFreeSurround.a ../../../Externals/cubeb/libcubeb.a -framework AudioUnit -framework CoreAudio -framework CoreServices ../DiscIO/libdiscio.a /usr/lib/libbz2.dylib ../../../Externals/liblzma/liblzma.a ../../../Externals/zstd/libzstd.a ../InputCommon/libinputcommon.a -framework Carbon -framework ForceFeedback /usr/local/lib/libSDL2.dylib -framework Cocoa ../../../Externals/SFML/libsfml-network.a ../../../Externals/SFML/libsfml-system.a ../../../Externals/LZO/liblzo2.a -framework CoreServices -framework IOBluetooth ../../../Externals/mGBA/mgba/libmgba.a -framework Foundation -lm ../../../Externals/hidapi/libhidapi.a ../../../Externals/glslang/libglslang.a ../../../Externals/xxhash/libxxhash.a ../../../Externals/imgui/libimgui.a /usr/local/lib/libavformat.a /usr/local/lib/libavcodec.a /usr/local/lib/libswscale.a /usr/local/lib/libavutil.a ../Common/libcommon.a ../../../Externals/enet/libenet.a ../../../Externals/mbedtls/library/libmbedtls.a ../../../Externals/mbedtls/library/libmbedx509.a ../../../Externals/mbedtls/library/libmbedcrypto.a /usr/lib/libcurl.dylib /usr/lib/libiconv.dylib ../../../Externals/libpng/libpng.a -framework AppKit ../../../Externals/miniupnpc/libminiupnpc.a ../../../Externals/pugixml/libpugixml.a ../../../Externals/fmt/libfmt.a ../../../Externals/Bochs_disasm/libbdisasm.a ../../../Externals/libusb/libusb.a -framework CoreFoundation -framework IOKit /usr/lib/libobjc.dylib ../../../Externals/minizip/libminizip.a /usr/lib/libz.dylib ../../../Externals/discord-rpc/src/libdiscord-rpc.a -lpthread -framework AppKit