
Recherche avancée
Médias (1)
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
Autres articles (41)
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Ecrire une actualité
21 juin 2013, parPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir
Sur d’autres sites (7403)
-
Capture Video with opencv, save to ffmpeg pipe and live stream
9 mars 2018, par ChrisThe goal is to stream an analysed live video over RTSP to some media server. To make the edits/analysis I use opencv, save the edited frames as JPEG in an FFMPEG image pipe and use the same FFMPEG to create a RTSP stream. Sorry if the terminology is not that accurate, I find it still quite confusing.
I have the following code after quite some struggle :
import cv2
from subprocess import Popen, PIPE
from PIL import Image
# open pipe
p = Popen('ffmpeg -y -f image2pipe -vcodec mjpeg -r 24 -i - -vcodec h264 -f rtsp -rtsp_transport tcp rtsp://localhost:8081/test.sdp', stdin=PIPE)
video = cv2.VideoCapture(0)
i = 0
while video.isOpened():
i=i+1
ret, frame = video.read()
if ret:
#[...do some analysis stuff]
im = Image.fromarray(frame)
im.save(p.stdin, 'JPEG')
"""
alternatively
img_str = cv2.imencode('.jpg', frame)[1].tostring()
p.stdin.write(img_str)
"""
else:
break
print (i)
if(i==1000):
break
p.stdin.close()
p.wait()
video.release()
cv2.destroyAllWindows()
print("done streaming video")This runs for 124 frames (i=124) then the loop hangs and I get some message from ffmpeg where I am not sure what it is about, however it does not look like an error :
push frame
122
push frame
123
push frame
124
Input #0, image2pipe, from 'pipe:':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 640x480 [SAR 1:1 DAR 4:3], 24 fps, 24 tbr, 24 tbn, 24 tbc
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
[libx264 @ 000002076650d980] using SAR=1/1
[libx264 @ 000002076650d980] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 000002076650d980] profile High, level 3.0
[libx264 @ 000002076650d980] 264 - core 155 r2893 b00bcaf - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=24 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
push frameThe webcam seems to continue running but no more frames are pushed into the pipe. It looks like some buffer is filled or something. If I write directly to a video file instead of rtsp, it works. If I open the rtsp stream simultaneously with ffplay, it also works (although with a 5 seconds lag).
Anyone an idea where this is coming from and how to solve it ? -
ffmpeg low speed and wrong bitrate
31 août 2018, par ngc3o34My goal is to compress video making it’s bitrate lower.
For experiment I used following commandffmpeg -ss 00:00:00 -i V.mkv -to 00:10:00 -c:a copy -b:v 7500k -maxrate 7500k -minrate 5500k -bufsize 1M V7500.mkv
1. What are possible reasons speed of conversion was close to 1.0x utilizing all 8 cores ?
2. Bitrate of output video stream is about 4700 (5500 was set as minrate). Is there proper way to specify bitrate ?Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[libx264 @ 0x55e54ad189a0] using SAR=1/1
[libx264 @ 0x55e54ad189a0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x55e54ad189a0] profile High, level 4.0
[libx264 @ 0x55e54ad189a0] 264 - core 152 r2854 e9a5903 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=23 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=cbr mbtree=1 bitrate=7500 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=7500 vbv_bufsize=1000 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00
Output #0, matroska, to 'V7500.mkv':
Metadata:
title : Valerian.and.the.City.of.a.Thousand.Planets.2017.1080p.BluRay.x264.DTS-HD.MA.7.1-FGT
encoder : Lavf57.83.100
Chapter #0:0: start 0.000000, end 600.000000
Metadata:
title : Chapter 01
Stream #0:0(eng): Video: h264 (libx264) (H264 / 0x34363248), yuv420p, 1920x804 [SAR 1:1 DAR 160:67], q=-1--1, 7500 kb/s, 23.98 fps, 1k tbn, 23.98 tbc (default)
Metadata:
title : Valerian.and.the.City.of.a.Thousand.Planets.2017.1080p.BluRay.x264.DTS-HD.MA.7.1-FGT
DURATION : 02:17:03.277000000
encoder : Lavc57.107.100 libx264
Side data:
cpb: bitrate max/min/avg: 7500000/0/7500000 buffer size: 1000000 vbv_delay: -1
Stream #0:1(eng): Audio: aac (LC) ([255][0][0][0] / 0x00FF), 48000 Hz, stereo, fltp (default)
Metadata:
title : Valerian.and.the.City.of.a.Thousand.Planets.2017.1080p.BluRay.x264.DTS-HD.MA.7.1-FGT
ENCODER : Lavc57.107.100 aac
DURATION : 02:17:03.317000000
Past duration 0.994987 too large
frame=14385 fps= 31 q=-1.0 Lsize= 363641kB time=00:09:59.99 bitrate=4964.9kbits/s speed=1.28x -
Convert images into video
24 septembre 2017, par Disha ShuklaI have some images in the folder. I want to convert all images into videos. But the problem is that when the resolution is different it shows the error. I don’t want to stretch the images in the video. I just want to keep image size as it is. But it shows this error.
My Command :
ffmpeg -framerate 1/3 -pattern_type glob -i "images/*.jpg" -i trinity.MP3 -shortest -c:v libx264 -r 30 -vf "scale=iw*sar:ih , pad=max(iw\,ih*(16/9)):ow/(16/9):(ow-iw)/2:(oh-ih)/2" -aspect 16:9 -pix_fmt yuv420p out.mp4 -y
Logs :
[mjpeg @ 0x6b3820] Changeing bps to 8
Input #0, image2, from 'images/*.jpg':
Duration: 00:00:24.00, start: 0.000000, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 1280x720 [SAR 1:1 DAR 16:9], 0.33 fps, 0.33 tbr, 0.33 tbn, 0.33 tbc
[mp3 @ 0x6b4ca0] Estimating duration from bitrate, this may be inaccurate
Input #1, mp3, from 'trinity.MP3':
Metadata:
encoded_by : Lavf52.9.0
Duration: 00:09:02.35, start: 0.000000, bitrate: 128 kb/s
Stream #1:0: Audio: mp3, 44100 Hz, stereo, s16p, 128 kb/s
[swscaler @ 0x68a3c0] deprecated pixel format used, make sure you did set range correctly
[libx264 @ 0x6bada0] using SAR=1/1
[libx264 @ 0x6bada0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2
[libx264 @ 0x6bada0] profile High, level 3.1
[libx264 @ 0x6bada0] 264 - core 142 r2438 af8e768 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'out.mp4':
Metadata:
encoder : Lavf56.25.101
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 30 fps, 15360 tbn, 30 tbc
Metadata:
encoder : Lavc56.26.100 libx264
Stream #0:1: Audio: aac (libfaac) ([64][0][0][0] / 0x0040), 44100 Hz, stereo, s16, 128 kb/s
Metadata:
encoder : Lavc56.26.100 libfaac
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
Stream #1:0 -> #0:1 (mp3 (native) -> aac (libfaac))
Press [q] to stop, [?] for help
Input stream #0:0 frame changed from size:1280x720 fmt:yuvj420p to size:596x913 fmt:yuvj420p
[Parsed_pad_1 @ 0x697940] Input area 512:0:1108:913 not within the padded area 0:0:1622:912 or zero-sized
[Parsed_pad_1 @ 0x697940] Failed to configure input pad on Parsed_pad_1Is there any way to keep resolution as it is and make a video of all images ?