
Recherche avancée
Autres articles (59)
-
Contribute to translation
13 avril 2011You can help us to improve the language used in the software interface to make MediaSPIP more accessible and user-friendly. You can also translate the interface into any language that allows it to spread to new linguistic communities.
To do this, we use the translation interface of SPIP where the all the language modules of MediaSPIP are available. Just subscribe to the mailing list and request further informantion on translation.
MediaSPIP is currently available in French and English (...) -
Ajouter notes et légendes aux images
7 février 2011, parPour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
Modification lors de l’ajout d’un média
Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...) -
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 ) (...)
Sur d’autres sites (6369)
-
how is the 'response' parameter calculated for rtsp authentication ?
11 septembre 2015, par zcaudateSo I’ve captured a couple of packets from ffmpeg to a ip camera with rtsp, which I’ve attached at the end of the question :
In the second request/response pair, the protocol sees that it needs authentication and returns a
nonce="be129bc71fa3ddfbff9989ed6f748268"
to the userIn the third request/response pair, there is a
response="da0882d360a56deef2994d8ba0de8e89"
being sent to the server and I’m not sure how that is generated. The user/password pair isadmin
with a blank password.Any ideas of where to look in the RFCs would be great
OPTIONS rtsp://192.168.1.245:88/videoMain RTSP/1.0
CSeq: 1
User-Agent: Lavf56.4.101
RTSP/1.0 200 OK
CSeq: 1
Date: Sun, Sep 21 2014 01:33:07 GMT
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER
----------
DESCRIBE rtsp://192.168.1.245:88/videoMain RTSP/1.0
Accept: application/sdp
CSeq: 2
User-Agent: Lavf56.4.101
RTSP/1.0 401 Unauthorized
CSeq: 2
Date: Sun, Sep 21 2014 01:33:07 GMT
WWW-Authenticate: Digest realm="LIVE555 Streaming Media", nonce="be129bc71fa3ddfbff9989ed6f748268"
----------
DESCRIBE rtsp://192.168.1.245:88/videoMain RTSP/1.0
Accept: application/sdp
CSeq: 3
User-Agent: Lavf56.4.101
Authorization: Digest username="admin",realm="LIVE555 Streaming Media",nonce="be129bc71fa3ddfbff9989ed6f748268",uri="rtsp://192.168.1.245:88/videoMain",response="da0882d360a56deef2994d8ba0de8e89"
RTSP/1.0 200 OK
CSeq: 3
Date: Sun, Sep 21 2014 01:33:07 GMT
Content-Base: rtsp://192.168.1.245:65534/videoMain/
Content-Type: application/sdp
Content-Length: 500
v=0
o=- 1411259869717503 1 IN IP4 192.168.1.245
s=IP Camera Video
i=videoMain
t=0 0
a=tool:LIVE555 Streaming Media v2013.01.25
a=type:broadcast
a=control:*
a=range:npt=0-
a=x-qt-text-nam:IP Camera Video
a=x-qt-text-inf:videoMain
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
b=AS:96
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=42001F;sprop-parameter-sets=Z0IAH5WoFAFuQA==,aM48gA==
a=control:track1
m=audio 0 RTP/AVP 0
c=IN IP4 0.0.0.0
b=AS:64
a=control:track2 -
FFMpeg/FFServer P2P streaming between embedded device and smartphone
25 avril 2016, par Bogdan Emil MariesanI’ve been playing for the last couple of days with FFMpeg and FFServer as I am considering them as candidates for livestreaming between an embedded device(with an integrated HD camera) and various clients(smartphones).
I’ve managed to achieve the stream using with the following config for FFServer :
HTTPPort 1234
RTSPPort 1235
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 512000 # Maximum bandwidth per client
# set this high enough to exceed stream bitrate
CustomLog -
NoDaemon # Remove this if you want FFserver to daemonize after start
<feed> # This is the input feed where FFmpeg will send
File /tmp/feed.ffm # video stream.
FileMaxSize 512K
</feed>
<stream> # Output stream URL definition
Feed feed.ffm # Feed from which to receive video
Format rtp
# Video settings
VideoCodec libvpx
VideoSize 720x576 # Video resolution
VideoFrameRate 60 # Video FPS
AVOptionVideo flags +global_header # Parameters passed to encoder
# (same as ffmpeg command-line parameters)
AVOptionVideo cpu-used 0
AVOptionVideo qmin 10
AVOptionVideo qmax 42
AVOptionVideo quality good
AVOptionAudio flags +global_header
PreRoll 15
StartSendOnKey
VideoBitRate 400 # Video bitrate
NoAudio
</stream>And the following FFMpeg command to send the stream to FFServer :
ffmpeg -rtbufsize 2100M -f dshow -i video="Integrated Camera" -vcodec libx264 http://127.0.0.1:1234/feed.ffm
I also have a simple Android client that plays the RTSP stream using the following URL :
rtsp://mylocalnetworkip:1235/test.h264
But now I am trying to achieve a P2P connection between the embedded device and a smartphone. This has to be over the internet(not in the LAN) and capable to achieve UDP hole punching (such as Skype does for p2p video-calling).
- Is this achievable with ffmpeg alone ?
- Can ffmpeg integrate with a Stun/Turn server such as Coturn to bypass symmetric NATs ?
-
FFMpeg lib memory leak
30 mai 2018, par unresolved_externalI am using lib ffmpeg for video decoding. So in my code I have something like :
if ((err = av_hwdevice_ctx_create(&m_hw_device_ctx, type,
NULL, NULL, 0)) < 0)
{
printf( "Failed to create specified HW device.\n");
return err;
}
m_decoder_ctx->hw_device_ctx = av_buffer_ref(m_hw_device_ctx);
if ((ret = avcodec_open2(m_decoder_ctx, decoder, NULL)) < 0)
{
printf("Failed to open codec for video stream\n");
return -1;
}
if (0 > avcodec_send_packet(m_decoder_ctx, packet))
{
return -1;
}
AVFrame *frame = nullptr;
if (!(frame = av_frame_alloc()))
{
printf( "Can not alloc frame\n");
return -1;
}
int ret = avcodec_receive_frame(avctx, frame);
if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF)
{
av_frame_free(&frame);
return 0;
}
else if (ret < 0)
{
printf("Error while decoding\n");
av_frame_free(&frame);
}
//here is some application specific manipulation(ommitted for redability)
av_frame_free(&frame);And then I free allocated memory like this :
av_buffer_unref(&m_decoder_ctx->hw_device_ctx);
av_buffer_unref(&m_hw_device_ctx);
m_hw_device_ctx = nullptr;But Valgrind constantly reports an error :
==1115== 524,288 bytes in 1 blocks are definitely lost in loss record 2,147 of 2,174
==1115== at 0x76A67920: ??? (in /usr/lib/x86_64-linux-gnu/libdrm_intel.so.1.0.0)
==1115== by 0x76727A07: ??? (in /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so)
==1115== by 0x76727B2A: ??? (in /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so)
==1115== by 0x766FC2F5: ??? (in /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so)
==1115== by 0x7670459C: __vaDriverInit_0_39 (in /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so)
==1115== by 0x144A8AE5: ??? (in /usr/lib/x86_64-linux-gnu/libva.so.1.3900.0)
==1115== by 0x144A9906: vaInitialize (in /usr/lib/x86_64-linux-gnu/libva.so.1.3900.0)
==1115== by 0xD03A55E: ??? (in /usr/local/lib/libavutil.so.56.18.102)
==1115== by 0xD03839C: av_hwdevice_ctx_create (in /usr/local/lib/libavutil.so.56.18.102)I’ve been trying to troubleshoot it without any success. Also checked a couple of examples - looks like everyone works with that function the same as I do. (e.g. -https://github.com/FFmpeg/FFmpeg/blob/master/doc/examples/vaapi_encode.c)
Compiler flag, which I am using are :-O0 -g3 -pthread -fpermissive -lm
Any ideas - what is wrong with buffer deallocation ?