
Recherche avancée
Autres articles (17)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
Contribute to documentation
13 avril 2011Documentation is vital to the development of improved technical capabilities.
MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
To contribute, register to the project users’ mailing (...) -
Selection of projects using MediaSPIP
2 mai 2011, parThe examples below are representative elements of MediaSPIP specific uses for specific projects.
MediaSPIP farm @ Infini
The non profit organizationInfini develops hospitality activities, internet access point, training, realizing innovative projects in the field of information and communication technologies and Communication, and hosting of websites. It plays a unique and prominent role in the Brest (France) area, at the national level, among the half-dozen such association. Its members (...)
Sur d’autres sites (3926)
-
Stream to Facebook Live using OpenCV
23 mai 2022, par Lanzy ErinI am planning to stream a video file to Facebook Live but I want to programmatically edit its frames like adding texts depending. My problem is that I don't know how to properly send data to Facebook Live. I tried ffmpeg but it doesn't work.


Here is my code that I tried


import subprocess
import cv2

rtmp_url = "rtmps://live-api-s.facebook.com:443/rtmp/FB-1081417119476224-0-AbwwMK91tFTjFy2j"

path = "7.mp4"
cap = cv2.VideoCapture(path)

# gather video info to ffmpeg
fps = int(cap.get(cv2.CAP_PROP_FPS))
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))

# command and params for ffmpeg
command = ['ffmpeg',
 '-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',
 rtmp_url]

# using subprocess and pipe to fetch frame data
p = subprocess.Popen(command, stdin=subprocess.PIPE)

while cap.isOpened():
 ret, frame = cap.read()
 if not ret:
 print("frame read failed")
 break

 # YOUR CODE FOR PROCESSING FRAME HERE

 # write to pipe
 p.stdin.write(frame.tobytes())



-
Streaming live video from ios [closed]
15 février 2018, par JohnI have a need to stream video from the iPhone/iPad camera to a server. It looks like this will need to be done with AVCaptureSession but I don’t know how to best architect this.
I found this post :
streaming video FROM an iPhone
But it doesn’t handle the "live" part, latency needs to be 2 or 3 seconds at most. Devices can be constrained to 4 or 4S capability if needed, and there is no requirement for HD, VGA is probably what we’ll end up with. I assume any solution would use ffmpeg, I haven’t found any more appropriate library.
How is this best accomplished ?
-
Audio-Video Delay When Fetching From NGINX-RTMP live-Mode
17 novembre 2020, par SuuuehgiWe get an RTSP-stream and mix it together with line-in over pulseaudio.


This looks something like :


ffmpeg \
 -use_wallclock_as_timestamps 1 -fflags +genpts \
 -max_delay 2000000 -thread_queue_size 1024 \
 -i "rtsp://url" \
 -use_wallclock_as_timestamps 1 -fflags +genpts \
 -max_delay 2000000 -thread_queue_size 1024 \
 -itsoffset <offset> \
 -f pulse \
 [...]
</offset>


So far so good. This kind of works when fetching the rtsp stream directly.


As soon as we route the RTSP-stream through an NGINX-RTMP loopback
(live mode) beforehand,


ffmpeg -i rtsp://url -c copy -an -f flv rtmp://localhost/live

ffmpeg \
 -use_wallclock_as_timestamps 1 -fflags +genpts \
 -max_delay 2000000 -thread_queue_size 1024 \
 -i "rtmp://localhost/live" \
 -use_wallclock_as_timestamps 1 -fflags +genpts \
 -max_delay 2000000 -thread_queue_size 1024 \
 -itsoffset <offset> \
 -f pulse \
 [...]
</offset>


we get a delay of close to 5 s within the output (audio-video offset).


Whereat the configuration of rtmp ://localhost/live is :


application live {
 live on;
 sync 10ms;
 record off;
 allow publish 127.0.0.1;
 deny publish all;
 }



What causes the delay and how to get rid of it ?


The RTMP-server itself does not cause a noticeable delay, I hence
assume this to be a timestamp issue but my wisdom ends with the above
written options.