
Recherche avancée
Autres articles (109)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
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. -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP 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 (14715)
-
How to get a list of video devices with a particular VendorID and/or ProductID using FFmpeg (on Mac OS)
26 mai 2020, par mcgregor94086The master task :



I am writing software for a multiple USB camera array. The camera may be connected to a CPU that has other USB cameras builtin or attached. I need to capture one 1920x1080 JPG image from EACH of MY array's cameras into a directory of images - but I need to EXCLUDE any OTHER cameras when taking pictures.



Right now I am trying to implement for MacOS, but in the future I will be implementing for Windows, Linux, iOS and Android.



What is known :



I know the VendorID, ProductID and UniqueID (reported by the MacOS USB system System Hardware Report) for each of the cameras in the camera array.



UNIQUESKY_CAR_CAMERA #5:

 Model ID: UVC Camera VendorID_7119 ProductID_2825
 Unique ID: 0x143400001bcf0b09

UNIQUESKY_CAR_CAMERA #6:

 Model ID: UVC Camera VendorID_7119 ProductID_2825
 Unique ID: 0x143300001bcf0b09




The problem code :



I made the following call to FFmpeg



ffmpeg -nostdin -hide_banner -an -sn -dn -f avfoundation -list_devices true -I 1




I received the following result in stderr :



[AVFoundation indev @ 0x7fc870e21800] AVFoundation video devices:
 [AVFoundation indev @ 0x7fc870e21800] [0] FaceTime HD Camera (Built-in)
 [AVFoundation indev @ 0x7fc870e21800] [1] UNIQUESKY_CAR_CAMERA #5
 [AVFoundation indev @ 0x7fc870e21800] [2] UNIQUESKY_CAR_CAMERA #6
 [AVFoundation indev @ 0x7fc870e21800] [3] Capture screen 0
 [AVFoundation indev @ 0x7fc870e21800] [4] Capture screen 1
 [AVFoundation indev @ 0x7fc870e21800] AVFoundation audio devices:
 [AVFoundation indev @ 0x7fc870e21800] [0] MacBook Pro Microphone
 1: Input/output error




Of these devices listed in the output, I happen to know (in this particular TEST CASE) that the cameras in my test array, are only these two :



[1] UNIQUESKY_CAR_CAMERA #5
[2] UNIQUESKY_CAR_CAMERA #6




With this knowledge, I can select the indices (1 2) that I need, and then use the following code to capture an image from each :



for i in 1 2; 
do
 ffmpeg -y -hide_banner -f avfoundation -r 15 -video_size 1920x1080 -i 1 -f image2 -qscale:v 1 -qmin 1 -qmax 1 -frames:v 1 img$i.jpg;
done





Unfortunately, in production use (i.e. outside of this test case), I CAN NOT rely on cameras all identifying themselves with the same TEXT "name" prefix (e.g. "UNIQUESKY_CAR_CAMERA"), so I can't just use grep to select the ones I want.



But I CAN be sure that I will know their VendorID, ProductID and UniqueIDs.



So, IF I could get



ffmpeg -nostdin -hide_banner -an -sn -dn -f avfoundation -list_devices true -I 1




to also list the VendorID and ProductID, then I could grep for those values.



Is this solution possible ? I can't find syntax in the documentation or examples for how to set such limits.



ALTERNATIVELY : if I could specify to FFmpeg -list_devices to limit the output list to just those with my specified VendorID and ProductIDs then I could easily get the list of device indices I will need for the succeeding image extraction.



Is this solution possible ? I can't find syntax in the documentation or examples for how to set such limits.



Special Note :

The cameras I am using are all 1920x1080, and that resolution is necessary for my application. As has been noted by many Mac users on the web, other image capture programs (such as imagesnap) sometimes capture images at lower resolution (1024x720) than the cameras are capable of, and will not capture images at higher resolutions such as (1920x1080). For this reason, and because it is available on ALL the OS platforms of interest to us, I chose to use FFmpeg.

-
Why Do Some of the Codecs in FFMPEG's Supported Codec List Show "encoders :" or "decoders :" in Parenthesis ?
4 mai 2020, par spacemanIf you open the Command Prompt, and run
ffmpeg -codecs
,

you will get a long list of Codecs that FFMPEG supports.


Here's a small sample of the list :



DEV.L. h261 H.261
 DEV.L. h263 H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2
 D.V.L. h263i Intel H.263
 DEV.L. h263p H.263+ / H.263-1998 / H.263 version 2
 DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (encoders: libx264 libx264rgb)
 D.V.LS hevc H.265 / HEVC




Now If you briefly go over the whole list,

you see that most Codecs in this list appear with their Name and Description,

but some of the Codecs also include parenthesis in the Description, and in the parenthesis,

they specify "encoders :" or "decoders :".


For example :



1)



DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (encoders: libx264 libx264rgb)




2)



DEVILS jpeg2000 JPEG 2000 (decoders: jpeg2000 libopenjpeg) (encoders: jpeg2000 libopenjpeg)




3)



DEV.L. msmpeg4v3 MPEG-4 part 2 Microsoft variant version 3 (decoders: msmpeg4) (encoders: msmpeg4)




4)



DEA.L. aac AAC (Advanced Audio Coding) (encoders: aac libvo_aacenc)




5)



DEA.L. amr_nb AMR-NB (Adaptive Multi-Rate NarrowBand) (decoders: amrnb libopencore_amrnb) (encoders: libopencore_amrnb)
 DEA.L. amr_wb AMR-WB (Adaptive Multi-Rate WideBand) (decoders: amrwb libopencore_amrwb) (encoders: libvo_amrwbenc)




My question :



Why do some Codecs have those parenthesis, specifying Encoders/Decoders,

while other (in fact : most) codecs don't have these parenthesis ?

-
Unrecognized option '-enable-libx264'. Error splitting the argument list : Option not found
9 mars 2020, par DigMI’m trying to stream MP4 videos from my server to YouTube and so I installed FFMPEG version. When I then look at the configuration of FFMPEG, I am then presented with the following :
ffmpeg version 3.3.6 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.9.2 (Debian 4.9.2-10)
configuration: --enable-cross-compile --arch=i686 --target-os=linux --disable-yasm --disable-static --enable-shared --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libsoxr --enable-version3 --enable-nonfree --enable-openssl --disable-decoder=ac3 --disable-decoder=ac3_fixed --disable-decoder=eac3 --disable-decoder=dca --disable-decoder=truehd --disable-encoder=ac3 --disable-encoder=ac3_fixed --disable-encoder=eac3 --disable-encoder=dca --disable-decoder=hevc --disable-decoder=hevc_cuvid --disable-encoder=hevc_nvenc --disable-encoder=nvenc_hevc --extra-ldflags='-L/root/daily_build/64_05/4.4.1/LinkFS/usr/lib -L/root/daily_build/64_05/4.4.1/Model/TS-X72/build/RootFS/usr/local/medialibrary/lib -Wl,--rpath -Wl,/usr/local/medialibrary/lib' --extra-cflags='-I/root/daily_build/64_05/4.4.1/LinkFS/usr/include -I/root/daily_build/64_05/4.4.1/Model/TS-X72/build/RootFS/usr/local/medialibrary/include -D_GNU_SOURCE -DQNAP' --prefix=/root/daily_build/64_05/4.4.1/Model/TS-X72/build/RootFS/usr/local/medialibrary
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100However, when I then try
ffmpeg ---enable-libx264
I then get an error saying :
Unrecognized option '--enable-libx264'.
Error splitting the argument list: Option not foundDo I need to change the configuaration of FFMPEG somehow or run another configuration option first or is there just something wrong with my call to enable libx264 ?