
Recherche avancée
Médias (91)
-
MediaSPIP Simple : futur thème graphique par défaut ?
26 septembre 2013, par
Mis à jour : Octobre 2013
Langue : français
Type : Video
-
avec chosen
13 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
sans chosen
13 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
config chosen
13 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
SPIP - plugins - embed code - Exemple
2 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
Autres articles (64)
-
List of compatible distributions
26 avril 2011, parThe table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...) -
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 (...) -
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 (11542)
-
Piping OpenCV raw video frames into FFMpeg results in corrupted output
27 novembre 2023, par DudadI have written a python script to open my webcam in OpenCV and convert captured frames to video streams. I have followed some tutorials that basically do these things :


- 

- Creating a pipe input to FFMpeg
- Writing OpenCV video frames into the pipe. FFMpeg should then encode and output the video.






In my case, FFMpeg runs without errors, and using imshow() displays captured frames correctly, but the FFMpeg video output is corrupted.


imshow()
video output


code :


import cv2 as cv
import subprocess as sp

FPS = 24
WIDTH = 720
HEIGHT = 360

cap = cv.VideoCapture(0)
cap.set(cv.CAP_PROP_FPS, FPS)
cap.set(cv.CAP_PROP_FRAME_WIDTH, WIDTH)
cap.set(cv.CAP_PROP_FRAME_HEIGHT, HEIGHT)

# ffmpeg command
ffmpeg_cmd = [
 "./libs/ffmpeg/bin/ffmpeg.exe",
 '-hwaccel', 'auto', '-y',
 '-f', 'rawvideo',
 '-vcodec','rawvideo',
 '-pix_fmt', 'bgr24',
 '-s', f"{WIDTH}x{HEIGHT}",
 '-r', str(FPS),
 '-i', '-',
 '-c:v', 'libx264',
 '-pix_fmt', 'yuv420p',
 '-preset', 'ultrafast',
 '-f', 'flv',
 'out.flv'
]
ffmpeg_sp = sp.Popen(ffmpeg_cmd, stdin=sp.PIPE)

while True:
 ret,frame = cap.read()
 # video capture test: OK
 cv.imshow('video', frame)
 if cv.waitKey(50)&0xFF == ord('q'):
 break
 #frame = cv.cvtColor(frame, cv.COLOR_BGR2YUV) # It doesn't work
 # write to ffmpeg pipe
 ffmpeg_sp.stdin.write(frame.tobytes())

ffmpeg_sp.stdin.close()
cap.release()
cv.destroyAllWindows()



I'm running Python 3.11.5, OpenCV 4.8.0.76 on Windows 11. The ffmpeg -version output is given below.


ffmpeg version N-112841-g2d9ed64859-20231125 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 13.2.0 (crosstool-NG 1.25.0.232_c175b21)
configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libharfbuzz --enable-libvorbis --enable-opencl --disable-libpulse --enable-libvmaf --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-libaribb24 --enable-avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2 --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme --enable-libkvazaar --enable-libaribcaption --enable-libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libvpl --enable-openal --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --disable-libdrm --enable-vaapi --enable-libvidstab --enable-vulkan --enable-libshaderc --enable-libplacebo --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags= --extra-libs=-lgomp --extra-version=20231125
libavutil 58. 32.100 / 58. 32.100
libavcodec 60. 34.100 / 60. 34.100
libavformat 60. 17.100 / 60. 17.100
libavdevice 60. 4.100 / 60. 4.100
libavfilter 9. 13.100 / 9. 13.100
libswscale 7. 6.100 / 7. 6.100
libswresample 4. 13.100 / 4. 13.100
libpostproc 57. 4.100 / 57. 4.100



I have been playing around with FFMpeg arguments for a while and none of them works. I have also transcoded video files using FFMpeg successfully. It somehow just doesn't work with raw video frames from OpenCV. Any help/advice is appreciated.


-
Can't fix this ffmpeg, NoClassDefFoundError org.bytedeco.ffmpeg.global.avutil
16 mars 2023, par noob234I am trying to get the video duration with this library
import org.bytedeco.javacv.FFmpegFrameGrabber;


When I upload this mp4 video (https://sample-videos.com/video123/mp4/720/big_buck_bunny_720p_1mb.mp4), I get this error message :

java.lang.NoClassDefFoundError: Could not initialize class org.bytedeco.ffmpeg.global.avutil


It will break when trying to get the 'grabber' :


private void videoInfo(MultipartFile file) {
 try (FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(file.getInputStream())) { // on this line it will break :(
 grabber.start();
 long durationMs = grabber.getLengthInTime();
 } catch (FrameGrabber.Exception e) {
 throw new RuntimeException(e);
 } catch (IOException e) {
 throw new RuntimeException(e);
 }
}



This is my build.gradle :


plugins {
 id 'java'
 id 'org.springframework.boot' version '2.7.9'
 id 'io.spring.dependency-management' version '1.0.15.RELEASE'
}

group = 'com.nob234'
version = '0.0.1-SNAPSHOT'

configurations {
 compileOnly {
 extendsFrom annotationProcessor
 }
}

repositories {
 mavenCentral()
}

dependencies {
 implementation 'org.springframework.boot:spring-boot-starter-web'
 compileOnly 'org.projectlombok:lombok'
 annotationProcessor 'org.projectlombok:lombok'
 testImplementation 'org.springframework.boot:spring-boot-starter-test'
 implementation 'org.springdoc:springdoc-openapi-ui:1.6.9'
 implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
 runtimeOnly 'org.postgresql:postgresql'
 // for logging
 implementation 'org.slf4j:slf4j-api:1.7.30'
 implementation 'org.slf4j:jcl-over-slf4j:1.7.30'
 implementation 'org.slf4j:log4j-over-slf4j:1.7.30'
 implementation 'ch.qos.logback:logback-classic:1.2.3'
 implementation 'org.bytedeco:javacv:1.5.8'
}

tasks.named('test') {
 useJUnitPlatform()
}



This is my ffmpeg version :


ffmpeg version 6.0-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
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
libavutil 58. 2.100 / 58. 2.100
libavcodec 60. 3.100 / 60. 3.100
libavformat 60. 3.100 / 60. 3.100
libavdevice 60. 1.100 / 60. 1.100
libavfilter 9. 3.100 / 9. 3.100
libswscale 7. 1.100 / 7. 1.100
libswresample 4. 10.100 / 4. 10.100
libpostproc 57. 1.100 / 57. 1.100



Please keep in mind that I use Java 8 in this project and I hope this issue is reproducible. If you want more info please leave a comment.


-
avcodec_find_decoder() can't find AV_CODEC_ID_WMAV2 even through CLI can parse WMAs on macOS ?
3 octobre 2023, par grendellI am following the decode_audio.c example from FFmpeg, but I am unable to initialize a parser for
AV_CODEC_ID_WMAV2
.

Test code :


#include 
#include <libavcodec></libavcodec>avcodec.h>

int main() {
 // codec is found successfully
 const AVCodec * codec = avcodec_find_decoder(AV_CODEC_ID_WMAV2);
 if (!codec) {
 fprintf(stderr, "codec not found\n");
 return 1;
 }

 // parser is always NULL
 AVCodecParserContext * parser = av_parser_init(codec->id);
 if (!parser) {
 fprintf(stderr, "parser not found\n");
 return 1;
 }

 av_parser_close(parser);
 return 0;
}



Build commands :


clang -c -I/opt/homebrew/Cellar/ffmpeg/6.0_1/include wma2mp3.c -o obj/wma2mp3.o
clang -L/opt/homebrew/Cellar/ffmpeg/6.0_1/lib -lavcodec obj/wma2mp3.o -o wma2mp3



I'm surprised by the fact that the FFmpeg CLI can perform this operation on the same machine :


% ffmpeg -i test.wma test.mp3
ffmpeg version 6.0 Copyright (c) 2000-2023 the FFmpeg developers
 built with Apple clang version 14.0.3 (clang-1403.0.22.14.1)
 configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/6.0_1 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox --enable-neon
 libavutil 58. 2.100 / 58. 2.100
 libavcodec 60. 3.100 / 60. 3.100
 libavformat 60. 3.100 / 60. 3.100
 libavdevice 60. 1.100 / 60. 1.100
 libavfilter 9. 3.100 / 9. 3.100
 libswscale 7. 1.100 / 7. 1.100
 libswresample 4. 10.100 / 4. 10.100
 libpostproc 57. 1.100 / 57. 1.100
Guessed Channel Layout for Input Stream #0.0 : mono
Input #0, asf, from 'test.wma':
 Metadata:
 ToolName : Windows Media Encoding Utility
 ToolVersion : 8.00.00.0343
 Duration: 00:00:00.74, start: 0.000000, bitrate: 80 kb/s
 Stream #0:0: Audio: wmav2 (a[1][0][0] / 0x0161), 44100 Hz, 1 channels, fltp, 48 kb/s
Stream mapping:
 Stream #0:0 -> #0:0 (wmav2 (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
Output #0, mp3, to 'test.mp3':
 Metadata:
 ToolName : Windows Media Encoding Utility
 ToolVersion : 8.00.00.0343
 TSSE : Lavf60.3.100
 Stream #0:0: Audio: mp3, 44100 Hz, mono, fltp
 Metadata:
 encoder : Lavc60.3.100 libmp3lame
[libmp3lame @ 0x130706320] Queue input is backward in timeed=N/A 
[mp3 @ 0x1307056e0] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 15668 >= 14764
size= 8kB time=00:00:00.97 bitrate= 65.8kbits/s speed= 103x 
video:0kB audio:8kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 4.048112%



I am using an Apple M1 machine running MacOS 13.5.2 (22G91).


Is the CLI using a different mechanism than
av_parser_parse2
to perform this conversion, and is there a better way to accomplish this via the C API ?