
Recherche avancée
Autres articles (111)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Librairies et binaires spécifiques au traitement vidéo et sonore
31 janvier 2010, parLes logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
Binaires complémentaires et facultatifs flvtool2 : (...) -
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 (10712)
-
v4l2loopback+ffmpeg input for uvc gadget
13 mai, par MosiI'm trying to use an MP4 video file as the input for a UVC Gadget setup on my Raspberry Pi 4 Model B, but I'm running into an issue when streaming through V4L2.


Goal :


To emulate a webcam that streams a looping MP4 video file to a Windows 11 host.


My setup :


- 

- Hardware : Raspberry Pi 4 Model B
- OS : Raspberry Pi OS Lite 64-bit (
2025-05-06-raspios-bookworm-arm64-lite
) - Kernel :
6.12.25+rpt-rpi-v8
- Host System : Windows 11
- UVC Gadget version :
v0.3.0












Workflow :


[MP4 Video] → [FFmpeg] → [V4L2 Loopback] → [UVC Gadget] → Windows sees virtual webcam



What works :


The UVC Gadget works perfectly when I use a real webcam as the source (e.g.,
/dev/video0
). Windows detects the virtual webcam and displays a smooth video stream.

The problem :


When I try to use an MP4 video file through FFmpeg and send it to the loopback device (
/dev/video3
), the UVC Gadget fails with the following error :


Command I'm using :


ffmpeg -re -stream_loop -1 -i input.mp4 -vf scale=640:480 \
 -c:v rawvideo -pix_fmt yuyv422 -r 30 -f v4l2 /dev/video3



Then I run :


sudo uvc-gadget -d /dev/video3 uvc.0



Output :


bRequestType 21 bRequest 01 wValue 0200 wIndex 0001 wLength 0022
streaming request (req SET_CUR cs 02)
setting commit control, length = 34
Setting format to 0x56595559 640x480
=== Setting frame rate to 30 fps
Starting video stream.
--> [At this point I open the camera on the Windows host]
/dev/video3: 2 buffers requested.
Failed to export buffer 0.
Failed to export buffers on source: Inappropriate ioctl for device (25)




Things I've tried :


- 

- Multiple FFmpeg formats, resolutions, and pixel formats
- Various
ffmpeg
buffer and framerate tweaks - Different UVC Gadget versions
- GitHub related projects (
showcamera
, etc.) - Older Raspberry Pi OS versions












Most guides and GitHub projects I found are outdated (5+ years old), and newer methods seem undocumented or incompatible with current kernel/UVC gadget tools.



My question :


How can I stream an MP4 file as a virtual webcam using UVC Gadget without getting ioctl errors ?

Is there a proper way to set up FFmpeg and loopback devices so that UVC Gadget can read the stream correctly ?

Any modern working example or tips would be very appreciated. Thanks in advance !


-
How to quote a file name with a single quote in ffmpeg movie= filter notation ? [closed]
26 mai, par PieterVI am trying to run ffmpeg using a file that contains a single quote
'
in the filename.

I tried to follow the docs that say I should replace a
'
with'\''
.

And a ticket that says I should replace a'
with\\\\\'
.

I've tried both, and can't get get it working.


E.g. docs format :


./ffprobe -loglevel error -read_intervals %00:30 -select_streams s:0 -f lavfi -i "movie='D\:\\Test\\Interlaced - Dragons'\'' Den - S14E02 - Episode 2.mkv'[out0+subcc]" -show_packets -print_format json

{
[Parsed_movie_0 @ 00000222a2f82200] Failed to avformat_open_input 'D:\Test\Interlaced - Dragons Den - S14E02 - Episode 2.mkv'
[AVFilterGraph @ 00000222a2f76ec0] Error processing filtergraph: No such file or directory
movie='D\:\\Test\\Interlaced - Dragons'\'' Den - S14E02 - Episode 2.mkv'[out0+subcc]: No such file or directory



E.g. ticket format :


./ffprobe -loglevel error -read_intervals %00:30 -select_streams s:0 -f lavfi -i "movie='D\:\\Test\\Interlaced - Dragons\\\\\' Den - S14E02 - Episode 2.mkv'[out0+subcc]" -show_packets -print_format json

{
[Parsed_movie_0 @ 00000158613d2080] Failed to avformat_open_input 'D:\Test\Interlaced - Dragons\\ Den - S14E02 - Episode 2.mkv[out0+subcc]'
[AVFilterGraph @ 00000158613c6ec0] Error processing filtergraph: No such file or directory
movie='D\:\\Test\\Interlaced - Dragons\\\\\' Den - S14E02 - Episode 2.mkv'[out0+subcc]: No such file or directory



> dir "D:\Test\Interlaced - Dragons' Den - S14E02 - Episode 2.mkv"

 Directory: D:\Test

Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 4/20/2025 11:38 AM 18059051 Interlaced - Dragons' Den - S14E02 - Episode 2.mkv



This is on Win11 using FFmpeg7.

Any ideas ?

[Update]

I found a doc on escape filtergraph strings, did not help, I tried 0 to 7\
.

I also found and tried the
ffescape
utility, the output it produces just uses a single\'
and does not work.

> echo "D:\Test\Interlaced - Dragons' Den - S14E02 - Episode 2.mkv" | ./ffescape.exe
=> D:\\Test\\Interlaced - Dragons\' Den - S14E02 - Episode 2.mkv\

> ./ffprobe -loglevel error -read_intervals %00:30 -select_streams s:0 -f lavfi -i "movie='D:\\Test\\Interlaced - Dragons\' Den - S14E02 - Episode 2.mkv\'[out0+subcc]" -show_packets -print_format json
{
[Parsed_movie_0 @ 0000021348f12200] Failed to avformat_open_input 'D'
[AVFilterGraph @ 0000021348f06ec0] Error processing filtergraph: No such file or directory
movie='D:\\Test\\Interlaced - Dragons\' Den - S14E02 - Episode 2.mkv\'[out0+subcc]: No such file or directory



[Update]

I found docs for ffmpeg filter script where I can place commands in a file.

I tried
./ffprobe -loglevel error -read_intervals %00:01 -select_streams s:0 -f lavfi -/i "d:\filtergraph.txt" -show_packets -print_format json
, and it load the script.

Works :
movie=test.mkv[out0+subcc]
\ iftest.mkv
is in ffprobe dir.
Works :movie=test\'.mkv[out0+subcc]
\ iftest'.mkv
is in ffprobe dir.

Not :movie=D:\test.mkv[out0+subcc]

Not :movie=D\:\\test.mkv[out0+subcc]

Not :movie=test space.mkv[out0+subcc]

Not :movie='test space.mkv[out0+subcc]'

Not :movie="test space.mkv[out0+subcc]"

Not :'movie=test space.mkv[out0+subcc]'

Not :"movie=test space.mkv[out0+subcc]"


:(




-
How to dump ALL metadata from a media file, including cover image title ? [closed]
9 avril, par UnidealI have an MP3 song :


# ffprobe -hide_banner -i filename.mp3
Input #0, mp3, from 'filename.mp3':
 Metadata:
 composer : Music Author
 title : Song Name
 artist : Singer
 encoder : Lavf61.7.100
 genre : Rock
 date : 2025
 Duration: 00:03:14.04, start: 0.023021, bitrate: 208 kb/s
 Stream #0:0: Audio: mp3 (mp3float), 48000 Hz, stereo, fltp, 192 kb/s
 Metadata:
 encoder : Lavc61.19
 Stream #0:1: Video: png, rgb24(pc, gbr/unknown/unknown), 600x600 [SAR 1:1 DAR 1:1], 90k tbr, 90k tbn (attached pic)
 Metadata:
 title : Cover
 comment : Cover (front)



The task is to save its metadata to a text file and restore from that file later. Both goals should be accomplished with ffmpeg.


The simpliest method is to run :


# ffmpeg -i filename.mp3 -f ffmetadata metadata.txt



After that,
metadata.txt
contains :

;FFMETADATA1
composer=Music Author
title=Song Name
artist=Singer
date=2025
genre=Rock
encoder=Lavf61.7.100



I got global metadata only, but stream-specific info (cover image title and comment in my case) are missing.


Google suggested a more complex form of the command above to extract all metadata fields without any exclusions :


# ffmpeg -y -i filename.mp3 -c copy -map_metadata 0 -map_metadata:s:v 0:s:v -map_metadata:s:a 0:s:a -f ffmetadata metadata.txt



But the output is exactly the same :


;FFMETADATA1
composer=Music Author
title=Song Name
artist=Singer
date=2025
genre=Rock
encoder=Lavf61.7.100



Again, no info about the attached image.


Please explain what am I doing wrong.