
Recherche avancée
Médias (1)
-
Richard Stallman et le logiciel libre
19 octobre 2011, par
Mis à jour : Mai 2013
Langue : français
Type : Texte
Autres articles (53)
-
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 -
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...)
Sur d’autres sites (10759)
-
FFmpeg container is unable to communicate to my application container in Quarkus [duplicate]
28 avril, par Abhi11I'm working on a application where i am running different container such as clamav,postgres,my quarkus application.all the configuration is defined in docker compose file.now i want to perform some operation on file that's why want to use ffmpeg. i am using ffmpeg as separate container and connected via docker network.i want to execute some ffmpeg command for example check version and other advance.I'm getting error. Please help me to solve this.


My docker-compose.yml —


version: "3.8"
services:
 clamav:
 image: clamav/clamav:latest
 container_name: clamav
 ports:
 - "3310:3310"
 restart: always
 healthcheck:
 test: ["CMD", "clamdscan", "--version"]
 interval: 30s
 timeout: 10s
 retries: 5
 networks:
 - techtonic-antivirus-net

 postgres-database:
 image: postgres:15
 container_name: postgres
 environment:
 POSTGRES_DB: antivirustt
 POSTGRES_USER: postgres
 POSTGRES_PASSWORD: postgres
 ports:
 - "5434:5432"`enter code here`
 restart: always
 volumes:
 - pgdata:/var/lib/postgresql/data
 networks:
 - techtonic-antivirus-net

 # Add Redis container
 redis:
 image: redis:latestenter code here
 container_name: redis
 ports:
 - "6379:6379"
 restart: always
 networks:
 - techtonic-antivirus-net

 ffmpeg:
 image: jrottenberg/ffmpeg:latest
 container_name: ffmpeg
 restart: always
 entrypoint: ["tail", "-f", "/dev/null"] # Keeps the container running
 networks:
 - techtonic-antivirus-net
 healthcheck:
 test: ["CMD", "ffmpeg", "-version"]
 interval: 10s
 timeout: 5s
 retries: 3

 techtonic-antivirus:
 build:
 context: .
 dockerfile: src/main/docker/Dockerfile.native-micro
 container_name: techtonic-antivirus
 depends_on:
 clamav:
 condition: service_healthy
 postgres-database:
 condition: service_started
 redis:
 condition: service_started
 ports:
 - "8080:8080"
 environment:
 - CLAMAV_HOST=${CLAMAV_HOST}
 - CLAMAV_PORT=${CLAMAV_PORT}
 - QUARKUS_PROFILE=${QUARKUS_PROFILE:-dev}
 - QUARKUS_DATASOURCE_JDBC_URL=jdbc:postgresql://postgres-database:5432/antivirustt
 - QUARKUS_DATASOURCE_USERNAME=postgres
 - QUARKUS_DATASOURCE_PASSWORD=postgres
 - QUARKUS_REDIS_HOSTS=redis://redis:6379
 restart: always
 volumes:
 - ffmpeg:/ffmpeg
 - /var/run/docker.sock:/var/run/docker.sock
 networks:
 - techtonic-antivirus-net

volumes:
 pgdata:
 ffmpeg:

networks:
 techtonic-antivirus-net:



My Service code :


@Slf4j
@ApplicationScoped
public class CheckFFmpegStatus {

 public static boolean isFFmpegReady() {
 try {
 // ProcessBuilder pb = new ProcessBuilder("docker", "exec", "ffmpeg", "ffmpeg", "-version");
 ProcessBuilder pb = new ProcessBuilder("ffmpeg", "-version");
 Process process = pb.start();
 int exitCode = process.waitFor();
 if (exitCode == 0) {
 log.info("✅ FFmpeg is ready and reachable inside the container.");
 } else {
 log.warn("⚠️ FFmpeg process exited with code: " + exitCode);
 }

 return exitCode == 0;
 } catch (IOException | InterruptedException e) {
 log.error("❌ Failed to check FFmpeg status", e);
 return false;
 }
 }
}



-
How to play an local video in arbitrary codec and format in browser ? [closed]
24 septembre 2023, par HanXuI am developing a video player in browser to let the user select a local video to play, and want to support as many video formats as possible. I know that in browser a
video
tag can only play videos in a limited set of codecs, and on desktop libraries like VLC can play literally any videos. I would like to bring that broad compatibility to the browser, but not sure how to achieve it.

One thing come up in my mind is to let the user run a thin client natively, which read the local video and stream it at, say,
http://localhost:8080
, in some web-friendly codec and format, and in the frontend I use avideo
withsrc
to behttp://localhost:8080
.

In the client I think I need to run some
ffmpeg
command to somehow stream and process the video in real-time. I also run into the libVLC which seems nice, and am not sure which one to use.

Furthermore, I need to enable the user to seek to any arbitrary timestamp, and am not sure if the streaming technic supports it.


I have done some googling, and found a method which first runs a
ffmpeg
command as

VIDSOURCE="/some/video.mp4"
AUDIO_OPTS="-c:a aac -b:a 160000 -ac 2"
VIDEO_OPTS="-s 854x480 -c:v libx264 -b:v 800000"
OUTPUT_HLS="-hls_time 10 -hls_list_size 10 -start_number 1"
ffmpeg -i "$VIDSOURCE" -y $AUDIO_OPTS $VIDEO_OPTS $OUTPUT_HLS /some/public/video.m3u8



and in the frontend I can use the react-player to play the video like


<reactplayer url="/some/public/video.m3u8"></reactplayer>



However, I can not seek to an arbitrary timestamp, and the
ffmpeg
command creates a lot of.ts
files one by one about which I am not sure what is going on. It seems that before it creates avideo77.ts
, I can not seek to timestamp within that segment.

All in all, I am looking for some solution like




that supports


- 

- playing videos in browsers in as many codecs and formats as possible,
- allowing users to seek to any arbitrary timestamp.






Since many native video player like VLC supports it, I believe it can be done. Does anyone have any idea that may help ? Appreciate in advance !


-
Play MJPEG stream to v4l2loopback device
28 juillet 2020, par ahofferI have a RaspberryPi with a V1 camera.


I want to use it as my camera for Zoom, Teams, and other virtual meetings.


I have the RaspberryPi streaming motion JPEG over http using the application named "Motion".


I created a v4l2 dummy device on my linux laptop as a virtual camera.


However, I can't get the mjpeg stream to play to the v4l2 dummy device with the simple command :


ffmpeg -i "http://milan.local:8081" -map 0:v -f v4l2 /dev/video4


The result is :


Input #0, mpjpeg, from 'http://milan.local:8081':
 Duration: N/A, bitrate: N/A
 Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 640x480 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
 Stream #0:0 -> #0:0 (mjpeg (native) -> rawvideo (native))
Press [q] to stop, [?] for help
[v4l2 @ 0x55a04567bbe0] Unknown V4L2 pixel format equivalent for yuvj420p
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Error initializing output stream 0:0 --




What options am I missing from my
ffmpeg
command ?