
Recherche avancée
Médias (91)
-
Spitfire Parade - Crisis
15 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Wired NextMusic
14 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
-
Sintel MP4 Surround 5.1 Full
13 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
-
Carte de Schillerkiez
13 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
-
Publier une image simplement
13 avril 2011, par ,
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (112)
-
Script d’installation automatique de MediaSPIP
25 avril 2011, parAfin de palier aux difficultés d’installation dues principalement aux dépendances logicielles coté serveur, un script d’installation "tout en un" en bash a été créé afin de faciliter cette étape sur un serveur doté d’une distribution Linux compatible.
Vous devez bénéficier d’un accès SSH à votre serveur et d’un compte "root" afin de l’utiliser, ce qui permettra d’installer les dépendances. Contactez votre hébergeur si vous ne disposez pas de cela.
La documentation de l’utilisation du script d’installation (...) -
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 à (...) -
La sauvegarde automatique de canaux SPIP
1er avril 2010, parDans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)
Sur d’autres sites (12562)
-
Evolution #4120 : Ajouter l’info de numéro de nouvelle version directement dans le bouton "Mettre ...
29 mars 2018, par Peet duc’est fait avec https://zone.spip.org/trac/spip-zone/changeset/109727
-
fftools/ffprobe : Print more Stereo 3D info from side data
30 mai 2024, par Derek Buitenhuisfftools/ffprobe : Print more Stereo 3D info from side data
Signed-off-by : Derek Buitenhuis <derek.buitenhuis@gmail.com>
-
FFMPEG library- transcode raw image to h264 stream, and the output file does not contains pts and dts info
5 novembre 2020, par zhummI am trying using ffmpeg c++ library to convert several raw yuyv image to h264 stream, the image come from memory and passed as string about 24fps, i do the convention as the following steps :


- 

- init AVFormatContext,AVCodec,AVCodecContext and create new AVStream. this step i mainly refer to ffmpeg-libav-tutorial, and AVFormatContext use customize
write_buffer()
function(refer to simplest_ffmpeg_mem_handler) - receive raw frame data, set width and height(1920x1080), and set pts and dts. here i manually set the output fps to 24, and use a global counter to count num of frames, and the pts is calculated by this counter, code snippet(
video_avs
is AVStream,output_fps
is 24 andtime_base
is 1/24) :






input_frame->width = w; // 1920
 input_frame->height = h; // 1080
 input_frame->pkt_dts = input_frame->pts = global_pts;
 global_pts += video_avs->time_base.den/video_avs->time_base.num / output_fps.num * output_fps.den;



- 

-
convert it from yuyv to yuv422(because h264 does not support yuyv) and resize it from 1920x1080 to 640x480(because i need this resolution output), use
sws_scale()


-
use
avcodec_send_frame()
andavcodec_receive_packet()
to get the output packet. setoutput_packet
duration and stream_index, then useav_write_frame()
to write frame data.







AVPacket *output_packet = av_packet_alloc();
 int response = avcodec_send_frame(encoder->video_avcc, frame);
 while (response >= 0) {
 response = avcodec_receive_packet(encoder->video_avcc, output_packet); // !! here output_packet.size is calculated
 if (response == AVERROR(EAGAIN) || response == AVERROR_EOF) {
 break;
 } 
 else if (response < 0) {
 printf("Error while sending packet to decoder"); // ??av_err2str(response)会报错
 return response;
 }

 // duration = next_pts - this_pts = timescale / fps = 1 / timebase / fps
 output_packet->duration = (encoder->video_avs->time_base.den / encoder->video_avs->time_base.num) / (output_fps.num / output_fps.den);
 output_packet->stream_index = 0;
 int response = av_write_frame(encoder->avfc, output_packet); // packet order are not ensure
 if (response != 0) { printf("Error %d while receiving packet from decoder", response); return -1;} 
 }
 av_packet_unref(output_packet);
 av_packet_free(&output_packet);



- 

- in
write_buffer()
function, video stream output is stored to string variable, and then i write this string to file with ostream, and suffix mp4.




after all the above steps, the output.mp4 cannot be played, the
ffprobe output.mp4 -show_frames
output is
(image) :

Input #0, h264, from '/Users/ming/code/dev/haomo/output.mp4':
 Duration: N/A, bitrate: N/A
 Stream #0:0: Video: h264 (High 4:2:2), yuv422p(progressive), 640x480, 24.92 fps, 24 tbr, 1200k tbn, 48 tbc
[FRAME]
media_type=video
stream_index=0
key_frame=1
pkt_pts=N/A
pkt_pts_time=N/A
pkt_dts=N/A
pkt_dts_time=N/A
best_effort_timestamp=N/A
best_effort_timestamp_time=N/A



Note that before and after calling
av_write_frame()
in step 4, the passed argumentoutput_packet
contains correct pts and dts info, i cannot figure out why the output stream lost these info.

- init AVFormatContext,AVCodec,AVCodecContext and create new AVStream. this step i mainly refer to ffmpeg-libav-tutorial, and AVFormatContext use customize