
Recherche avancée
Autres articles (54)
-
Utilisation et configuration du script
19 janvier 2011, parInformations spécifiques à la distribution Debian
Si vous utilisez cette distribution, vous devrez activer les dépôts "debian-multimedia" comme expliqué ici :
Depuis la version 0.3.1 du script, le dépôt peut être automatiquement activé à la suite d’une question.
Récupération du script
Le script d’installation peut être récupéré de deux manières différentes.
Via svn en utilisant la commande pour récupérer le code source à jour :
svn co (...) -
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 is the first MediaSPIP stable release.
Its official release date is June 21, 2013 and is announced here.
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)
Sur d’autres sites (11011)
-
Get image output from python program and use ffmpeg push the real time video stream to web
26 mai 2018, par Nick TsengI have a question. How to push a real time video streaming after processing ?
First, below program is to preprocess image from usbcamera
Second, push the image into real time video streaming by another process (ffmpeg -r 29 -i test.avi http://ffserver IP:8090/camera.ffm)
cap = cv2.VideoCapture(1) ##activate usbcamera
frame_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
frame_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
ysize, xsize = frame_height , frame_width
filepath = 'test.avi'
fourcc = cv2.VideoWriter_fourcc(*'MJPG')
out = cv2.VideoWriter(filepath , fourcc , 29.0 , (frame_width , frame_height),True)
while(cap.isOpened()):
#read camera image
ret , frame = cap.read()
#color selection
tmp = color_select_test(frame)
# Mix with original image
tmp = weighted_img(tmp, frame, 0.5, 1.0, 0.0)
# write in video file
out.write(tmp)
#cv2.imwrite('test.avi',tmp)
cv2.imshow('FrameWrite' , tmp)
if(cv2.waitKey(1) == 27):
##cv2.imwrite('test_blue.jpg',frame)
break
cap.release()
cv2.destroyAllWindows() -
FFmpeg C API HLS real time timestamps
7 septembre 2022, par RobinI'm using the FFmpeg C API in C++ to read from a HLS stream. I need to know the real time of each AVPacket. I can extract the pts using
AVPacket::pts
but that is relative to the start of the stream.

This is how the
.m3u8
file looks :

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-ALLOW-CACHE:NO
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0

#EXT-X-PROGRAM-DATE-TIME:2022-09-07T14:01:56.612+02:00
#EXTINF:10.322561783,
1662552116.ts
#EXT-X-PROGRAM-DATE-TIME:2022-09-07T14:02:06.935+02:00
#EXTINF:10.320075936,
1662552126.ts

...



The
.m3u8
file contains an accurate EXT-X-PROGRAM-DATE-TIME, but how can I extract the one of the currently playing segment ?

Alternatively, the file name of each
.ts
file is the unix timestamp in seconds. Can I extract that somehow ?

If none of those are possibly, is it possible to control the exact number of preloaded segments ? I know the (approximate) segment length is 10 seconds so I could just do the following when receiving the first AVPacket :


start_time = current_time - segment_count * segment_length`
start_pts = first_av_packet.pts



And then to get the time of a later AVPacket, I could do :


packet_time = start_time + new_packet.pts - start_pts



This wouldn't give the same accuracy since the segments are not exactly the same length, but that is okay.


-
Simplified logic of parsing sizes of rice-partitions
2 février 2020, par Ulrik MikaelssonSimplified logic of parsing sizes of rice-partitions
> if the partition order is zero, n = frame's blocksize - predictor order
> else if this is not the first partition of the subframe,
> n = (frame's blocksize / (2^partition order))
> else n = (frame's blocksize / (2^partition order)) - predictor orderif the partition order is zero, then partition_number can only be zero
if the partition order is zero, then
(frame's blocksize / (2^partition order))
is (frame's blocksize / 1) == frame's blocksize