
Recherche avancée
Médias (2)
-
Exemple de boutons d’action pour une collection collaborative
27 février 2013, par
Mis à jour : Mars 2013
Langue : français
Type : Image
-
Exemple de boutons d’action pour une collection personnelle
27 février 2013, par
Mis à jour : Février 2013
Langue : English
Type : Image
Autres articles (77)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...) -
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)
Sur d’autres sites (9708)
-
Can you stream video with ffmpeg and opencv without long buffers
13 septembre 2019, par steveI’m successfully getting a video stream using ffmpeg, and displaying with opencv, but the video starts and stops very often and is not as smooth as when played on a browser. Is there a way to get the video stream to be as smooth as on a browser ?
I’ve tried playing with ffmpeg parameters as well as having multiple pipes to stitch together a single video.
import cv2
import numpy as np
import subprocess as sp
import time
# Playlist manifest for video from Nevada DOT traffic camera
VIDEO_URL = "https://wowza1.nvfast.org/bmw3/charleston_and_fremont_public.stream/playlist.m3u8"
width = 360
height = 240
pipe = sp.Popen([ 'ffmpeg', "-i", VIDEO_URL,
"-loglevel", "quiet", # no text output
"-an", # disable audio
"-f", "image2pipe",
"-pix_fmt", "bgr24",
"-r", "15", # FPS
"-hls_list_size", "3",
#"-hls_time", "8"
"-vcodec", "rawvideo", "-"],
stdin = sp.PIPE, stdout = sp.PIPE)
while True:
# Convert bytes to image
raw_image = pipe.stdout.read(width*height*3) # read 432*240*3 bytes (= 1 frame)
img = np.fromstring(raw_image, dtype='uint8').reshape((height,width,3))
raw_image = np.copy(img)
# Show image
cv2.imshow('pipe', img)
cv2.waitKey(1)
time.sleep(0.05) # This is to slow down the video so it plays more naturallyThe expected output is a opencv window that displays the video just like in https://cctv.nvfast.org/
I assume the problem lies in ffmpeg not getting the video chunks.
-
RTP stream from ffmpeg not reaching mediasoup producer : what could be wrong ? [closed]
5 novembre 2024, par Francesco VignolaI developed a producer for mediasoup that is supposed to receive the RTP stream generated by ffmpeg (via fluent-ffmpeg) and send it to the consumer.


ffmpeg correctly generates the stream, and I conducted a test with tcpdump, where I can see the traffic generated by ffmpeg being sent locally to the port of the PlainTransport with which the producer is created.


However, neither the producer nor the consumer seem to be able to intercept it, as the listeners I attached to the specific events are never triggered.


I also started an ffmpeg client to receive the stream, and the test was successful (it receives the stream). However, I can’t understand why it doesn't work with mediasoup.


Can someone help me ? Did I forget any configuration parameters ?


The code is as follows :


const router = await worker.createRouter({
 mediaCodecs: [{
 kind: 'video',
 mimeType: 'video/VP8',
 clockRate: 90000,
 payloadType: 96
 }]
});

const transport = await router.createPlainTransport({
 listenIp: { ip: '127.0.0.1' },
 rtcpMux: false,
 comedia: true
});

const producer = await transport.produce({
 kind: 'video',
 rtpParameters: router.rtpParameters
});

const { localIp: ip, localPort: port } = transport.tuple;
const { localPort: rtcpPort } = transport.rtcpTuple;

await transport.connect({
 ip: ip,
 port: port,
 rtcpPort: rtcpPort
});

ffmpeg(videoFilePath)
 .inputOptions('-re')
 .videoCodec('libvpx')
 .outputOptions([
 '-f rtp',
 '-payload_type', '96',
 '-ssrc', ssrc,
 '-an',
 '-sdp_file', 'out.sdp'
 ])
 .output(`rtp://${ip}:${port}?rtcpport=${rtcpPort}`)
 .run();



The video to be streamed has an .mp4 extension and is saved locally on the server.


Thank you to anyone who is willing to help me.


-
HLS. FFmpeg : error when loading first segment [closed]
30 avril 2024, par rus_99_pkI'm trying to download a streaming video using ffmpeg. There is a file in the format *.m3u8. BUT, if everything was so simple, I would not have come here.


There are a number of nuances :


- 

- It cannot be downloaded by specifying a link to the file
- If you upload the file and look at its contents, there will be :
#EXT-X-KEY:METHOD=AES-128,URI="[KEY],IV=[IV]






With a URI, the task is easy to solve ; just specify the value list.m3u8.


I end up getting :


Error when loading first segment 'https://cdnv-m12.boomstream.com/vod/hash:21596def3216ed982660d609751b8078/id:35105.29443.1039983.85853232.150106.hls/time:0/data:eyJ2ZXJzaW9uIjoiMS4yLjk3IiwidXNlX2RpcmVjdF9saW5rcyI6InllcyIsImlzX2VuY3J5cHQiOiJ5ZXMifQ==/m61/2024/04/27/1Q0idCxb.mp4/media-1.ts'



But with IV it’s more difficult, because file processing is performed on the server side. Please help.


I tried to get JS with similar variable names and monitor network traffic using Wireshark, in the hope of catching a response from the server with IV.


But it didn't help me.


My script for download :


#!/bin/bash
clear

link="/home/user/Download/chunklist.m3u8"
filename="testfile"

ffmpeg \
-headers $'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:124.0) Gecko/20100101 Firefox/124.0\r\nAccept: */*\r\nAccept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3\r\nAccept-Encoding: gzip, deflate, br\r\nOrigin: https://example.com\r\nConn>
-protocol_whitelist "file,http,https,tcp,tls,crypto" \
-allowed_extensions ALL \
-f hls \
-i "$link" \
-map p:2 \
-bsf:a aac_adtstoasc -vcodec copy -c copy -crf 50 /tmp/$filename.mp4 -v trace