
Recherche avancée
Médias (1)
-
The pirate bay depuis la Belgique
1er avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (86)
-
Le plugin : Gestion de la mutualisation
2 mars 2010, parLe plugin de Gestion de mutualisation permet de gérer les différents canaux de mediaspip depuis un site maître. Il a pour but de fournir une solution pure SPIP afin de remplacer cette ancienne solution.
Installation basique
On installe les fichiers de SPIP sur le serveur.
On ajoute ensuite le plugin "mutualisation" à la racine du site comme décrit ici.
On customise le fichier mes_options.php central comme on le souhaite. Voilà pour l’exemple celui de la plateforme mediaspip.net :
< ?php (...) -
Organiser par catégorie
17 mai 2013, parDans MédiaSPIP, une rubrique a 2 noms : catégorie et rubrique.
Les différents documents stockés dans MédiaSPIP peuvent être rangés dans différentes catégories. On peut créer une catégorie en cliquant sur "publier une catégorie" dans le menu publier en haut à droite ( après authentification ). Une catégorie peut être rangée dans une autre catégorie aussi ce qui fait qu’on peut construire une arborescence de catégories.
Lors de la publication prochaine d’un document, la nouvelle catégorie créée sera proposée (...) -
Installation en mode ferme
4 février 2011, parLe mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
C’est la méthode que nous utilisons sur cette même plateforme.
L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...)
Sur d’autres sites (5268)
-
libavcodec/aacsbr_tablegen : fix tablegen on windows
2 décembre 2015, par Hendrik Leppkeslibavcodec/aacsbr_tablegen : fix tablegen on windows
Including these headers is not needed and breaks building on Windows as it
tries to activate the full compat tools, which are not needed for host
tools. -
Using ffmpeg on Windows, what is the command to capture hardware encoded H264 stream from Logitech c930e
2 mai 2015, par JeffI am using ffmpeg on Windows 8 and I would like to capture the built-in H264 hardware encoded stream from the Logitech c930e camera. The H264 built-in encoded stream is part of the UVC 1.5 interface.
Using this command I have noticed that the c930e exposes two video pins through DirectShow : 0 and 1.
ffmpeg -report -list_options true -f dshow -i video="Logitech Webcam C930e"
[dshow @ 0000000002d89360] Pin "Capture" (alternative pin name "0")
[dshow @ 0000000002d89360] Pin "Capture" (alternative pin name "1")
It doesn’t seem to matter if I choose Pin 0 or 1, I still get raw video from the Logitech c930e webcam. On Linux, the supposed command involves v4l2, but this does not appear to exist in the default Windows version of ffmpeg from http://ffmpeg.zeranoe.com/builds/
Does the default Windows build of ffmpeg support the direct capture of the UVC interface ?
This is the closest I have gotten on this journey, but still isn’t quite right :
ffmpeg -report -f dshow -i video="Logitech Webcam C930e" -s 1920x1080 -r 30 -video_pin_name 1 -vcodec H264 -c copy -f mp4 Logitechc930eFeed.mp4
As of April 17, 2015 I am still trying to figure this out and have two new pieces of info.
I found this interesting article on Logitech’s website instructing the user to change the default Logitech driver to the generic USB Video Device driver :
https://support.logitech.com/en_us/article/Install-native-UVC-drivers-for-your-Logitech-webcam?product=a0qi00000069v0MAAQ#I also found that my C930e had an older firmware (8.0.866), and Logitech recommends updating the firmware to 8.0.875 to fix an unspecified UVC H.264 issue.
So now I have the latest firmware, and am using the generic "USB Video Device" on Windows 8.1.
ffmpeg -list_devices true -f dshow -i
which gives this output :
ffmpeg version N-69608-g9dc45d1 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
libavutil 54. 18.100 / 54. 18.100
libavcodec 56. 21.102 / 56. 21.102
libavformat 56. 19.100 / 56. 19.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 9.103 / 5. 9.103
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
[dshow @ 00000000045c9360] DirectShow video devices (some may be both video and audio devices)
[dshow @ 00000000045c9360] "Logitech Webcam C930e"
[dshow @ 00000000045c9360] Alternative name "@device_pnp_\\?\usb#vid_046d&pid_0843&mi_00#7&3693c0e6&1&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
[dshow @ 00000000045c9360] DirectShow audio devices
[dshow @ 00000000045c9360] "Microphone (Logitech Webcam C930e)"
[dshow @ 00000000045c9360] Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{BB8BE70B-4DDC-465F-9247-86E6EC98D627}"
dummy: Immediate exit requestedAnd this command :
ffmpeg -list_options true -f dshow -i video="Logitech Webcam C930e"
still gives this output :
ffmpeg version N-69608-g9dc45d1 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
libavutil 54. 18.100 / 54. 18.100
libavcodec 56. 21.102 / 56. 21.102
libavformat 56. 19.100 / 56. 19.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 9.103 / 5. 9.103
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
[dshow @ 0000000004469360] DirectShow video device options (from video devices)
[dshow @ 0000000004469360] Pin "Capture" (alternative pin name "0")
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=640x480 fps=5 max s=640x480 fps=30
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=640x480 fps=5 max s=640x480 fps=30
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=160x120 fps=5 max s=160x120 fps=30
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=160x120 fps=5 max s=160x120 fps=30
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=176x144 fps=5 max s=176x144 fps=30
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=176x144 fps=5 max s=176x144 fps=30
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=320x180 fps=5 max s=320x180 fps=30
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=320x180 fps=5 max s=320x180 fps=30
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=320x240 fps=5 max s=320x240 fps=30
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=320x240 fps=5 max s=320x240 fps=30
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=352x288 fps=5 max s=352x288 fps=30
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=352x288 fps=5 max s=352x288 fps=30
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=424x240 fps=5 max s=424x240 fps=30
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=424x240 fps=5 max s=424x240 fps=30
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=480x270 fps=5 max s=480x270 fps=30
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=480x270 fps=5 max s=480x270 fps=30
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=640x360 fps=5 max s=640x360 fps=30
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=640x360 fps=5 max s=640x360 fps=30
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=800x448 fps=5 max s=800x448 fps=30
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=800x448 fps=5 max s=800x448 fps=30
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=800x600 fps=5 max s=800x600 fps=24
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=800x600 fps=5 max s=800x600 fps=24
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=848x480 fps=5 max s=848x480 fps=30
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=848x480 fps=5 max s=848x480 fps=30
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=960x540 fps=5 max s=960x540 fps=15
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=960x540 fps=5 max s=960x540 fps=15
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=1024x576 fps=5 max s=1024x576 fps=15
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=1024x576 fps=5 max s=1024x576 fps=15
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=1280x720 fps=5 max s=1280x720 fps=10
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=1280x720 fps=5 max s=1280x720 fps=10
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=1600x896 fps=5 max s=1600x896 fps=7.5
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=1600x896 fps=5 max s=1600x896 fps=7.5
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=1920x1080 fps=5 max s=1920x1080 fps=5
[dshow @ 0000000004469360] pixel_format=yuyv422 min s=1920x1080 fps=5 max s=1920x1080 fps=5
[dshow @ 0000000004469360] vcodec=mjpeg min s=640x480 fps=5 max s=640x480 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=640x480 fps=5 max s=640x480 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=160x120 fps=5 max s=160x120 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=160x120 fps=5 max s=160x120 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=176x144 fps=5 max s=176x144 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=176x144 fps=5 max s=176x144 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=320x180 fps=5 max s=320x180 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=320x180 fps=5 max s=320x180 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=320x240 fps=5 max s=320x240 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=320x240 fps=5 max s=320x240 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=352x288 fps=5 max s=352x288 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=352x288 fps=5 max s=352x288 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=424x240 fps=5 max s=424x240 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=424x240 fps=5 max s=424x240 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=480x270 fps=5 max s=480x270 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=480x270 fps=5 max s=480x270 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=640x360 fps=5 max s=640x360 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=640x360 fps=5 max s=640x360 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=800x448 fps=5 max s=800x448 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=800x448 fps=5 max s=800x448 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=800x600 fps=5 max s=800x600 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=800x600 fps=5 max s=800x600 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=848x480 fps=5 max s=848x480 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=848x480 fps=5 max s=848x480 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=960x540 fps=5 max s=960x540 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=960x540 fps=5 max s=960x540 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=1024x576 fps=5 max s=1024x576 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=1024x576 fps=5 max s=1024x576 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=1280x720 fps=5 max s=1280x720 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=1280x720 fps=5 max s=1280x720 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=1600x896 fps=5 max s=1600x896 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=1600x896 fps=5 max s=1600x896 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=1920x1080 fps=5 max s=1920x1080 fps=30
[dshow @ 0000000004469360] vcodec=mjpeg min s=1920x1080 fps=5 max s=1920x1080 fps=30
[dshow @ 0000000004469360] Pin "Capture" (alternative pin name "1")
video=Logitech Webcam C930e: Immediate exit requested -
Low latency video streaming on android
17 mai 2021, par Louis BlennerI'd like to be able to stream the video from my webcam to an Android app with a latency below 500ms, on my local network.


To capture and send the video over the network, I use ffmpeg.


ffmpeg -f v4l2 -i /dev/video0 -preset ultrafast -tune zerolatency -vcodec libx264 -an -vf format=yuv420p -f mpegts udp://192.168.1.155:5000



This command takes the webcam as an input, convert it and send it to a device using the mpegts protocol.


I am able to read the video on another PC with a latency below 500 ms, using commands like


gst-launch-1.0 -v udpsrc port=5000 ! video/mpegts ! tsdemux ! h264parse ! avdec_h264 ! fpsdisplaysink sync=false



or


mpv udp://0.0.0.0:5000 --no-cache --untimed --no-demuxer-thread --video-sync=audio --vd-lavc-threads=1 



So it is possible to have this range of latency.

I'd like to have the same thing on Android.

Here are my tries to do that.


Exoplayer


After looking at the different players available on Android studio, it seems like Exoplayer is the go-to choice.

I tried different options indicated in the live-streaming documentation, but I always end up with a stream taking seconds to start and with a latency of seconds.

I tried to add a Button to seek to the default position of the windows, but it results in a loading of several seconds.

DefaultExtractorsFactory extractorsFactory =
 new DefaultExtractorsFactory()
 .setTsExtractorFlags(DefaultTsPayloadReaderFactory.FLAG_IGNORE_AAC_STREAM);

 player = new SimpleExoPlayer.Builder(this)
 .setMediaSourceFactory(
 new DefaultMediaSourceFactory(this, extractorsFactory))
 .setLoadControl(new DefaultLoadControl.Builder()
 .setBufferDurationsMs(DefaultLoadControl.DEFAULT_MIN_BUFFER_MS, DefaultLoadControl.DEFAULT_MAX_BUFFER_MS, 200, 200)
 .build())
 .build();
 MyPlayerView playerView = findViewById(R.id.player_view);
 // Bind the player to the view.
 playerView.setPlayer(player);
 // Build the media item.
 MediaItem mediaItem = new MediaItem.Builder()
 .setUri(Uri.parse("udp://0.0.0.0:5000"))
 .setLiveMaxOffsetMs(500)
 .setLiveTargetOffsetMs(0)
 .setLiveMinOffsetMs(0)
 .build();
 // Set the media item to be played.
 player.setMediaItem(mediaItem);
 // Prepare the player.
 player.setPlayWhenReady(true);
 player.prepare();
 //player.seekToDefaultPosition();



This issue is about the same issue and the conclusion was that Exoplayer was not fit for this use case.




I'll be honest, ultra low-latency like this isn't ExoPlayer's main use-case




Vlc


Another try was to use the Vlc library.

But I was unable to have the same low latency stream as with the two previous example with Vlc.

I tried changing the preferences of Vlc to stream as fast as possible.

Input/Codecs -> x264 preset: ultrafast - zerolatency
Input/Codecs -> Access Module: UDP input
Input/Codecs -> Clock Jitter: 500
Audio: disable audio



I also tried reducing the different buffers.

However, I still have a latency of more than 1 seconds with that.

Gstreamer


Another try was to create a react-native project to use the different players available here.

One player that seemed promising was react-native-gstreamer because it uses gstreamer which is able to stream with low latency (gst-launch command).

But the library is now outdated.

Question


There were other tries, but none were successful.

Is there a problem with one of my approaches ?

And if not, Is there a player on Android (that I missed) which is able to achieve low latency stream like gstream or mpv on linux ?