
Recherche avancée
Médias (91)
-
GetID3 - Boutons supplémentaires
9 avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
-
Core Media Video
4 avril 2013, par
Mis à jour : Juin 2013
Langue : français
Type : Video
-
The pirate bay depuis la Belgique
1er avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
-
Bug de détection d’ogg
22 mars 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Video
-
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 (64)
-
Les statuts des instances de mutualisation
13 mars 2010, parPour des raisons de compatibilité générale du plugin de gestion de mutualisations avec les fonctions originales de SPIP, les statuts des instances sont les mêmes que pour tout autre objets (articles...), seuls leurs noms dans l’interface change quelque peu.
Les différents statuts possibles sont : prepa (demandé) qui correspond à une instance demandée par un utilisateur. Si le site a déjà été créé par le passé, il est passé en mode désactivé. publie (validé) qui correspond à une instance validée par un (...) -
Problèmes fréquents
10 mars 2010, parPHP et safe_mode activé
Une des principales sources de problèmes relève de la configuration de PHP et notamment de l’activation du safe_mode
La solution consiterait à soit désactiver le safe_mode soit placer le script dans un répertoire accessible par apache pour le site -
Demande de création d’un canal
12 mars 2010, parEn fonction de la configuration de la plateforme, l’utilisateur peu avoir à sa disposition deux méthodes différentes de demande de création de canal. La première est au moment de son inscription, la seconde, après son inscription en remplissant un formulaire de demande.
Les deux manières demandent les mêmes choses fonctionnent à peu près de la même manière, le futur utilisateur doit remplir une série de champ de formulaire permettant tout d’abord aux administrateurs d’avoir des informations quant à (...)
Sur d’autres sites (7848)
-
Programatically add a simple pause to a video
8 mai 2020, par gotaSay I have a 30s video. I want to produce a 40s video that is just the first video but with an extra "freezed" frame (for say 10s) somewhere in the middle of it. (think of it as wanting to comment the video at a specific point)



I know I can do this easily with video editing software. However, I am looking for a command line tool that allows me to do this efficiently (I need to do this several times with variable points to freeze the video)



I am using Python



I thought of using ffmpeg, splitting the video into two, creating a third video composed of a given frame, and then concatenating the three videos.



But maybe there is a much simpler technique ?


-
FFmpeg overwrite an AVPacket
26 janvier 2019, par Alejandro RamírezHello guys I am working with video. I wan to encrypt the I-frames of one video compressed in
H.264
. So I get theAVPacket
from the video and compare if(AVPacket.flags & AV_PKT_FLAG_KEY)
to know if the packet has an I frame, but when I try to print theAVPacket.data
I don’t have any information to encrypt.
Where can I get the information regarding toI-frame
. ahead a put my code, thank you.#include <iostream>
extern "C" {
#include <libavcodec></libavcodec>avcodec.h>
#include <libavformat></libavformat>avformat.h>
#include <libswscale></libswscale>swscale.h>
#include <libavutil></libavutil>avutil.h>
}
#define INBUF_SIZE 4096
//#define AV_INPUT_BUFFER_PADDING_SIZE 32
int main (int argc, char * argv[])
{
//av_register_all();//omit
//revisar el número de argumentos en el video
AVFormatContext *pFormatCtx = NULL;
AVCodec *dec = NULL;
AVCodecContext *pCodecCtx = NULL;
AVStream *st = NULL;
AVDictionary *opts = NULL;
AVFrame *frame;
AVPacket avpkt;
uint8_t inbuf [INBUF_SIZE + AV_INPUT_BUFFER_PADDING_SIZE];
FILE *f;
int frame_count;
int video_stream_index = -1;
//av_init_packet (&avpkt);
memset (inbuf + INBUF_SIZE, 0, AV_INPUT_BUFFER_PADDING_SIZE);
if (avformat_open_input (&pFormatCtx, argv[1], NULL, NULL) != 0)
return -1;
if (avformat_find_stream_info (pFormatCtx, NULL) < 0)
return -1;
//video_stream_index = av_find_best_stream (pFormatCtx,AVMEDIA_TYPE_VIDEO, -1, -1, &dec,0);
video_stream_index = av_find_best_stream (pFormatCtx,AVMEDIA_TYPE_VIDEO, -1, -1, &dec,0);
if ( video_stream_index < 0)
return -1;
std::cout << "video_stream; " << video_stream_index << "\n";
st = pFormatCtx -> streams [video_stream_index];
std::cout << "number of frames " << st -> nb_frames << "\n";
std::cout << "event_flags " << st -> event_flags << "\n";
//pCodecCtx = st -> codec;//deprecated
dec = avcodec_find_decoder (st -> codecpar -> codec_id);
std::cout << "codec_id: " << st -> codecpar -> codec_id << "\n";
std::cout << "AV_CODEC_ID_H264: " << AV_CODEC_ID_H264 << "\n";
if (!dec)
return -1;
pCodecCtx = avcodec_alloc_context3 (dec);
if (!pCodecCtx)
return -1;
//av_dict_set (&opts, "refcounted_frames", "0", 0);
avcodec_parameters_to_context (pCodecCtx, st -> codecpar);
std::cout << "todo bien \n";
if (avcodec_open2 (pCodecCtx, dec, &opts) < 0)
return -1;
/*************hasta aqui buen codigo*********************************************/
frame = av_frame_alloc ();
if (!frame)
return -1;
av_init_packet (&avpkt);
avpkt.data = NULL;
avpkt.size = 0;
f = fopen (argv[1], "r");
int times = 1;
while (av_read_frame (pFormatCtx, &avpkt) >= 0){
AVPacket oripkt = avpkt;
if (oripkt.stream_index == video_stream_index){
if (oripkt.flags & AV_PKT_FLAG_KEY){
std::cout << "times: " << times ++ << "\n";
std::cout << "avpkt.flags: " << oripkt.flags << "\n";
std::cout << "tam avpkt.data: " << sizeof(oripkt.data) << "\n";
std::cout << "tam avpkt.data: " << oripkt.data << "\n";
std::cout << "oripkt.size: " << oripkt.size << "\n";
std::cout << "oripkt.side_date_eme: " << oripkt.side_data_elems << "\n";
if (!oripkt.data)
std::cout << "no tengo dinero \n";
}
}
}
std::cout << "Fin del programa " << "\n";
}
</iostream> -
Permanent fix for Opencv videocapture
19 février 2018, par Ishan SharmaThis question has been posed numerous times on many websites, but not definitive solution. I am trying to run Opencv with a video using function :
import cv2
cap = cv2.VideoCapture('video.mp4')
if(cap.isOpened()==False):
print "Error opening camera"But it fails every time. I have tried almost all steps from various sites, but couldn’t get it to work (including rebuilding ffmpeg separately).
Any help would be much appreciated.
My platform is Ubuntu17 and Python3.