
Recherche avancée
Autres articles (34)
-
Submit bugs and patches
13 avril 2011Unfortunately a software is never perfect.
If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
You may also (...) -
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 (7660)
-
Python FFmpeg Video Streaming : how to capture multiple representations with camera
17 janvier 2023, par LUKA TADIĆI am trying to capture webcam stream and make HLS stream. I managed to create HLS stream for one Representation but when I try to create (hls.output) more than one, I get this error :


C:\Users\ltadic\Desktop\hls stream>C:/Users/ltadic/AppData/Local/Programs/Python/Python311/python.exe "c:/Users/ltadic/Desktop/hls stream/camera_stream.py"
ERROR:root:ffmpeg failed to execute command: b"ffmpeg version 2022-12-11-git-c3e20f78b0-full_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers\r\n built with gcc 12.1.0 (Rev2, Built by MSYS2 project)\r\n 
 configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint\r\n libavutil 57. 43.100 / 57. 43.100\r\n libavcodec 59. 55.100 / 59. 55.100\r\n libavformat 59. 34.102 / 59. 34.102\r\n libavdevice 59. 8.101 / 59. 8.101\r\n libavfilter 8. 52.100 / 8. 52.100\r\n libswscale 6. 8.112 / 6. 8.112\r\n libswresample 4. 9.100 / 4. 9.100\r\n libpostproc 56. 7.100 / 56. 7.100\r\nInput #0, dshow, from 'video=Fantech Luminous C30':\r\n Duration: N/A, start: 1593.585118, bitrate: N/A\r\n Stream #0:0: Video: mjpeg (Baseline) (MJPG / 0x47504A4D), yuvj420p(pc, bt470bg/bt709/unknown), 1920x1080, 25 fps, 25 tbr, 10000k tbn\r\n[dshow @ 0000018b1c4d4280] Could not run graph (sometimes caused by a device already in use by other application)\r\nvideo=Fantech Luminous C30: I/O error\r\n"
Traceback (most recent call last):
 File "c:\Users\ltadic\Desktop\hls stream\camera_stream.py", line 13, in <module>
 hls.output('C:\\Users\\ltadic\\Desktop\\camera_stream\\hls1.m3u8')
 File "C:\Users\ltadic\AppData\Local\Programs\Python\Python311\Lib\site-packages\ffmpeg_streaming\_media.py", line 93, in output
 self.run(ffmpeg_bin, monitor, **options)
 File "C:\Users\ltadic\AppData\Local\Programs\Python\Python311\Lib\site-packages\ffmpeg_streaming\_media.py", line 121, in run 
 asyncio.run(self.async_run(ffmpeg_bin, monitor, **options))
 File "C:\Users\ltadic\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 190, in run
 return runner.run(main)
 ^^^^^^^^^^^^^^^^
 File "C:\Users\ltadic\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 118, in run
 return self._loop.run_until_complete(task)
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "C:\Users\ltadic\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 650, in run_until_complete
 return future.result()
 ^^^^^^^^^^^^^^^
 File "C:\Users\ltadic\AppData\Local\Programs\Python\Python311\Lib\site-packages\ffmpeg_streaming\_media.py", line 112, in async_run
 self._run(ffmpeg_bin, monitor, **options)
 File "C:\Users\ltadic\AppData\Local\Programs\Python\Python311\Lib\site-packages\ffmpeg_streaming\_media.py", line 106, in _run
 self.pipe, err = process.run()
</module>


This is my code :


import ffmpeg_streaming
from ffmpeg_streaming import Formats,Bitrate, Representation, Size 

video = ffmpeg_streaming.input('Fantech Luminous C30', capture = True)

_360p = Representation(Size(640, 360), Bitrate(276 * 1024, 128 * 1024))
_480p = Representation(Size(854, 480), Bitrate(750 * 1024, 192 * 1024))
_720p = Representation(Size(1280, 720), Bitrate(2048 * 1024, 320 * 1024))

hls = video.hls(Formats.h264(),hls_list_size=10, hls_time=5)
hls.flags('delete_segments')
hls.representations(_360p, _480p, _720p)
hls.output('C:\\Users\\ltadic\\Desktop\\camera_stream\\hls1.m3u8')




-
Python FFmpeg Video Streaming : hls.output() does not work for live camera capture
4 janvier 2023, par LUKA TADIĆI am trying to capture camera live stream and make HLS stream from it. I am using Fantech Luminous C30 webcam. I get this error :


ERROR:root:ffmpeg failed to execute command: b'ffmpeg version 2022-12-11-git-c3e20f78b0-full_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers\r\n built with gcc 12.1.0 (Rev2, Built by MSYS2 project)\r\n 
 configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint\r\n libavutil 57. 43.100 / 57. 43.100\r\n libavcodec 59. 55.100 / 59. 55.100\r\n libavformat 59. 34.102 / 59. 34.102\r\n libavdevice 59. 8.101 / 59. 8.101\r\n libavfilter 8. 52.100 / 8. 52.100\r\n libswscale 6. 8.112 / 6. 8.112\r\n libswresample 4. 9.100 / 4. 9.100\r\n libpostproc 56. 7.100 / 56. 7.100\r\nFantech Luminous C30: No such file or directory\r\n'
Traceback (most recent call last):
 File "c:\Users\ltadic\Desktop\hls stream\camera_stream.py", line 12, in <module>
 hls.output('C:\\Users\\ltadic\\Desktop\\camera_stream\\hls.m3u8')
 File "C:\Users\ltadic\AppData\Local\Programs\Python\Python311\Lib\site-packages\ffmpeg_streaming\_media.py", line 93, in output
 self.run(ffmpeg_bin, monitor, **options)
 File "C:\Users\ltadic\AppData\Local\Programs\Python\Python311\Lib\site-packages\ffmpeg_streaming\_media.py", line 121, in run 
 asyncio.run(self.async_run(ffmpeg_bin, monitor, **options))
 File "C:\Users\ltadic\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 190, in run
 return runner.run(main)
 ^^^^^^^^^^^^^^^^
 File "C:\Users\ltadic\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 118, in run
 return self._loop.run_until_complete(task)
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "C:\Users\ltadic\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 650, in run_until_complete 
 return future.result()
 ^^^^^^^^^^^^^^^
 File "C:\Users\ltadic\AppData\Local\Programs\Python\Python311\Lib\site-packages\ffmpeg_streaming\_media.py", line 112, in async_run
 self._run(ffmpeg_bin, monitor, **options)
 File "C:\Users\ltadic\AppData\Local\Programs\Python\Python311\Lib\site-packages\ffmpeg_streaming\_media.py", line 106, in _run
 self.pipe, err = process.run()
 ^^^^^^^^^^^^^
 File "C:\Users\ltadic\AppData\Local\Programs\Python\Python311\Lib\site-packages\ffmpeg_streaming\_process.py", line 122, in run
 raise RuntimeError('ffmpeg failed to execute command: ', error)
RuntimeError: ('ffmpeg failed to execute command: ', "b'ffmpeg version 2022-12-11-git-c3e20f78b0-full_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers\\r\\n built with gcc 12.1.0 (Rev2, Built by MSYS2 project)\\r\\n configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint\\r\\n libavutil 57. 43.100 / 57. 43.100\\r\\n libavcodec 59. 55.100 / 59. 55.100\\r\\n libavformat 59. 34.102 / 59. 34.102\\r\\n libavdevice 59. 8.101 / 59. 8.101\\r\\n libavfilter 8. 52.100 / 8. 52.100\\r\\n libswscale 
 6. 8.112 / 6. 8.112\\r\\n libswresample 4. 9.100 / 4. 9.100\\r\\n libpostproc 56. 7.100 / 56. 7.100\\r\\nFantech Luminous C30: No such file or directory\\r\\n'")
</module>


This is my code :


import ffmpeg_streaming
from ffmpeg_streaming import Formats,Bitrate, Representation, Size 

video = ffmpeg_streaming.input('Fantech Luminous C30', capture = True)

_360p = Representation(Size(640, 360), Bitrate(276 * 1024, 128 * 1024))
_480p = Representation(Size(854, 480), Bitrate(750 * 1024, 192 * 1024))
_720p = Representation(Size(1280, 720), Bitrate(2048 * 1024, 320 * 1024))

hls = video.hls(Formats.h264())
hls.representations(_360p, _480p, _720p)
hls.output('C:\\Users\\ltadic\\Desktop\\camera_stream\\hls.m3u8')



-
ffmpeg messes up delayed inputs (repeats at the beginning)
20 mars 2023, par Ralphffmpeg plays audio inputs delayed to t1, t2 etc at t=0.
If there are several inputs, then it replicates one after the other (after in0 finishes with its duration duration(in0), plays another one at t=duration(in0), etc.)


In the following example, the in0 is played at t=0.


ffmpeg -i in0.mp3 -i in1.mp3 -i in2.mp3 -filter_complex "[0]adelay=1000[delayed1];[1]adelay=2000[delayed2];[2]adelay=3000[delayed3];[delayed1][delayed2][delayed3]amix=inputs=3:duration=longest" -codec:a libmp3lame -q:a 4 output.mp3



The command performs the following : 1. The ffmpeg processes three input files (mp3). 2. The complex filter delays the inputs by 1, 2, 3 seconds input-wise. 3. amix mixes the delayed outputs together. 4. And finally, a coded transforms it into an output mp3.


Another short version : 2 delayed beeps, an finally there come 3 beeps out (@ 0, 1, 2 seconds) :


ffmpeg -i beep.mp3 -filter_complex "[0]adelay=1000[delayed1];[0]adelay=2000[delayed2];[delayed1][delayed2]amix=inputs=2:duration=longest" -codec:a libmp3lame -q:a 4 output.mp3



ffmpeg version N-110011-gf456c192d9-tessus on a Mac M1, downloaded as binary from https://evermeet.cx/ffmpeg (01.2023).


I added also a silent input file from 0 to 1 seconds without any alteration of the outcome.
I added a silent stream as input as well without improvement. E.g. :


... -filter_complex "aevalsrc=0:d=4[silence];...



Another test with another ffmpeg version 5.1 Copyright (c) 2000-2022 the FFmpeg developers built with Apple clang version 13.1.6 (clang-1316.0.21.2.5) :

ffmpeg -i beep.mp3 -filter_complex "[0]adelay=1000[delayed1];aevalsrc=0:d=5[silence];[silence][delayed1]amix=inputs=2:duration=longest" -codec:a libmp3lame -q:a 4 output.mp3

There are again 2 beeps, at 0 and 1 second.

(comment : concat solves the issue. But I want to have a flexible solution with possibly overlapping audio streams.) Thanks for giving a hint !