
Recherche avancée
Médias (1)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (43)
-
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 (10158)
-
Evolution #3973 : Brancher inc/distant recuperer_url() sur une librairie récente
20 février 2019, par Eric CamusBonjour,
Suite à un changement de machine pour nos SPIP (de WIMP vers LAMP (centos)) de nombreux flux RSS ne fonctionnaient plus, la cause : la fonction ’recuperer_url’ !!!.
J’ai donc réécrit le corps de cette fonction avec la biblio PHP CURL a partir du code dans SPIP 3.2.0 (je sais que je suis en retard d’une version).
Je vous le livre comme je viens de le finir après un léger debug.- <span class="CodeRay"><span class="keyword">function</span> <span class="function">recuperer_url</span>(<span class="local-variable">$url</span>, <span class="local-variable">$options</span> = <span class="predefined">array</span>()) {
- <span class="local-variable">$default</span> = <span class="predefined">array</span>(
- <span class="string"><span class="delimiter">'</span><span class="content">transcoder</span><span class="delimiter">'</span></span> => <span class="predefined-constant">false</span>,
- <span class="string"><span class="delimiter">'</span><span class="content">methode</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">GET</span><span class="delimiter">'</span></span>,
- <span class="string"><span class="delimiter">'</span><span class="content">taille_max</span><span class="delimiter">'</span></span> => <span class="predefined-constant">null</span>,
- <span class="string"><span class="delimiter">'</span><span class="content">datas</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>,
- <span class="string"><span class="delimiter">'</span><span class="content">boundary</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>,
- <span class="string"><span class="delimiter">'</span><span class="content">refuser_gz</span><span class="delimiter">'</span></span> => <span class="predefined-constant">false</span>,
- <span class="string"><span class="delimiter">'</span><span class="content">if_modified_since</span><span class="delimiter">'</span></span> => <span class="integer">0</span>,
- <span class="string"><span class="delimiter">'</span><span class="content">uri_referer</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>,
- <span class="string"><span class="delimiter">'</span><span class="content">file</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>,
- <span class="string"><span class="delimiter">'</span><span class="content">follow_location</span><span class="delimiter">'</span></span> => <span class="integer">10</span>,
- <span class="string"><span class="delimiter">'</span><span class="content">version_http</span><span class="delimiter">'</span></span> => _INC_DISTANT_VERSION_HTTP,
- );
- <span class="local-variable">$options</span> = <span class="predefined">array_merge</span>(<span class="local-variable">$default</span>, <span class="local-variable">$options</span>);
- <span class="comment">// copier directement dans un fichier ?</span>
- <span class="local-variable">$copy</span> = <span class="local-variable">$options</span>[<span class="string"><span class="delimiter">'</span><span class="content">file</span><span class="delimiter">'</span></span>];
- <span class="keyword">if</span> (<span class="local-variable">$options</span>[<span class="string"><span class="delimiter">'</span><span class="content">methode</span><span class="delimiter">'</span></span>] == <span class="string"><span class="delimiter">'</span><span class="content">HEAD</span><span class="delimiter">'</span></span>) {
- <span class="local-variable">$options</span>[<span class="string"><span class="delimiter">'</span><span class="content">taille_max</span><span class="delimiter">'</span></span>] = <span class="integer">0</span>;
- }
- <span class="keyword">if</span> (<span class="predefined">is_null</span>(<span class="local-variable">$options</span>[<span class="string"><span class="delimiter">'</span><span class="content">taille_max</span><span class="delimiter">'</span></span>])) {
- <span class="local-variable">$options</span>[<span class="string"><span class="delimiter">'</span><span class="content">taille_max</span><span class="delimiter">'</span></span>] = <span class="local-variable">$copy</span> ? _COPIE_LOCALE_MAX_SIZE : _INC_DISTANT_MAX_SIZE;
- }
- <span class="comment">// Accepter les URLs au format feed:// ou qui ont oublie le http:// ou les urls relatives au protocole</span>
- <span class="local-variable">$url</span> = <span class="predefined">preg_replace</span>(<span class="string"><span class="delimiter">'</span><span class="content">,^feed://,i</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">http://</span><span class="delimiter">'</span></span>, <span class="local-variable">$url</span>);
- <span class="keyword">if</span> (!tester_url_absolue(<span class="local-variable">$url</span>)) {
- <span class="local-variable">$url</span> = <span class="string"><span class="delimiter">'</span><span class="content">http://</span><span class="delimiter">'</span></span> . <span class="local-variable">$url</span>;
- } <span class="keyword">elseif</span> (<span class="predefined">strncmp</span>(<span class="local-variable">$url</span>, <span class="string"><span class="delimiter">'</span><span class="content">//</span><span class="delimiter">'</span></span>, <span class="integer">2</span>) == <span class="integer">0</span>) {
- <span class="local-variable">$url</span> = <span class="string"><span class="delimiter">'</span><span class="content">http:</span><span class="delimiter">'</span></span> . <span class="local-variable">$url</span>;
- }
- <span class="local-variable">$url</span> = url_to_ascii(<span class="local-variable">$url</span>);
- <span class="local-variable">$result</span> = <span class="predefined">array</span>(
- <span class="string"><span class="delimiter">'</span><span class="content">status</span><span class="delimiter">'</span></span> => <span class="integer">0</span>,
- <span class="string"><span class="delimiter">'</span><span class="content">headers</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>,
- <span class="string"><span class="delimiter">'</span><span class="content">page</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>,
- <span class="string"><span class="delimiter">'</span><span class="content">length</span><span class="delimiter">'</span></span> => <span class="integer">0</span>,
- <span class="string"><span class="delimiter">'</span><span class="content">last_modified</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>,
- <span class="string"><span class="delimiter">'</span><span class="content">location</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>,
- <span class="string"><span class="delimiter">'</span><span class="content">url</span><span class="delimiter">'</span></span> => <span class="local-variable">$url</span>
- );
- curl_setopt(<span class="local-variable">$pCurl</span>,<span class="constant">CURLOPT_HTTP_VERSION</span>,<span class="constant">CURL_HTTP_VERSION_1_1</span>);
- curl_setopt(<span class="local-variable">$pCurl</span>,<span class="constant">CURLOPT_SSL_VERIFYPEER</span>,<span class="predefined-constant">false</span>);
- curl_setopt(<span class="local-variable">$pCurl</span>,<span class="constant">CURLOPT_RETURNTRANSFER</span>,<span class="predefined-constant">true</span>);
- curl_setopt(<span class="local-variable">$pCurl</span>,<span class="constant">CURLOPT_FOLLOWLOCATION</span>,<span class="predefined-constant">true</span>);
- curl_setopt(<span class="local-variable">$pCurl</span>,<span class="constant">CURLOPT_TIMEOUT</span>,<span class="integer">30</span>); <span class="comment">// timeout 30s</span>
- <span class="keyword">if</span> (!<span class="predefined">empty</span>(<span class="local-variable">$options</span>[<span class="string"><span class="delimiter">'</span><span class="content">datas</span><span class="delimiter">'</span></span>])) { <span class="comment">// des datas</span>
- curl_setopt(<span class="local-variable">$pCurl</span>,<span class="constant">CURLOPT_POST</span>,<span class="predefined-constant">true</span>);
- curl_setopt(<span class="local-variable">$pCurl</span>,<span class="constant">CURLOPT_SAFE_UPLOAD</span>,<span class="predefined-constant">true</span>);
- curl_setopt(<span class="local-variable">$pCurl</span>,<span class="constant">CURLOPT_POSTFIELDS</span>,<span class="local-variable">$options</span>[<span class="string"><span class="delimiter">'</span><span class="content">datas</span><span class="delimiter">'</span></span>]);
- <span class="local-variable">$options</span>[<span class="string"><span class="delimiter">'</span><span class="content">methode</span><span class="delimiter">'</span></span>]=<span class="string"><span class="delimiter">'</span><span class="content">POST</span><span class="delimiter">'</span></span>;
- }
- <span class="keyword">if</span>(<span class="local-variable">$options</span>[<span class="string"><span class="delimiter">'</span><span class="content">methode</span><span class="delimiter">'</span></span>]==<span class="string"><span class="delimiter">'</span><span class="content">HEAD</span><span class="delimiter">'</span></span>) {
- curl_setopt(<span class="local-variable">$pCurl</span>,<span class="constant">CURLOPT_NOBODY</span>,<span class="predefined-constant">true</span>);
- <span class="local-variable">$options</span>[<span class="string"><span class="delimiter">'</span><span class="content">taille_max</span><span class="delimiter">'</span></span>]=<span class="integer">0</span>; <span class="comment">// pas de taille</span>
- <span class="local-variable">$options</span>[<span class="string"><span class="delimiter">'</span><span class="content">if_modified_since</span><span class="delimiter">'</span></span>]=<span class="integer">0</span>; <span class="comment">// pas de date de modif</span>
- <span class="local-variable">$copy</span>=<span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>; <span class="comment">// pas de copie dans fichier</span>
- }
- <span class="keyword">if</span>(<span class="local-variable">$options</span>[<span class="string"><span class="delimiter">'</span><span class="content">if_modified_since</span><span class="delimiter">'</span></span>]><span class="integer">0</span>) {
- curl_setopt(<span class="local-variable">$pCurl</span>,<span class="constant">CURLOPT_TIMEVALUE</span>,<span class="local-variable">$options</span>[<span class="string"><span class="delimiter">'</span><span class="content">if_modified_since</span><span class="delimiter">'</span></span>]);
- }
- <span class="keyword">if</span>(<span class="local-variable">$options</span>[<span class="string"><span class="delimiter">'</span><span class="content">taille_max</span><span class="delimiter">'</span></span>]><span class="integer">0</span>) {
- curl_setopt(<span class="local-variable">$pCurl</span>,<span class="constant">CURLOPT_RANGE</span>,<span class="string"><span class="delimiter">'</span><span class="content">0-</span><span class="delimiter">'</span></span>.<span class="local-variable">$options</span>[<span class="string"><span class="delimiter">'</span><span class="content">taille_max</span><span class="delimiter">'</span></span>]);
- }
- <span class="keyword">if</span>(<span class="local-variable">$options</span>[<span class="string"><span class="delimiter">'</span><span class="content">uri_referer</span><span class="delimiter">'</span></span>]) {
- curl_setopt(<span class="local-variable">$pCurl</span>,<span class="constant">CURLOPT_REFERER</span>,<span class="local-variable">$options</span>[<span class="string"><span class="delimiter">'</span><span class="content">uri_referer</span><span class="delimiter">'</span></span>]);
- }
- <span class="local-variable">$opt_header</span>=<span class="predefined-constant">true</span>;
- <span class="local-variable">$fheader</span>=<span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>; <span class="comment">// nom du fichier contenant le header</span>
- <span class="keyword">if</span>(<span class="local-variable">$copy</span>) {
- <span class="local-variable">$fc</span>=<span class="predefined">fopen</span>(<span class="local-variable">$copy</span>,<span class="string"><span class="delimiter">'</span><span class="content">w</span><span class="delimiter">'</span></span>);
- <span class="keyword">if</span>(<span class="local-variable">$fc</span>) {
- <span class="local-variable">$fheader</span>=_DIR_TMP.<span class="predefined">md5</span>(<span class="local-variable">$copy</span>).<span class="string"><span class="delimiter">'</span><span class="content">_head.txt</span><span class="delimiter">'</span></span>;
- <span class="local-variable">$fh</span>=<span class="predefined">fopen</span>(<span class="local-variable">$fheader</span>,<span class="string"><span class="delimiter">'</span><span class="content">w</span><span class="delimiter">'</span></span>);
- <span class="keyword">if</span>(<span class="local-variable">$fh</span>) {
- curl_setopt(<span class="local-variable">$pCurl</span>,<span class="constant">CURLOPT_FILE</span>,<span class="local-variable">$fc</span>);
- curl_setopt(<span class="local-variable">$pCurl</span>,<span class="constant">CURLOPT_WRITEHEADER</span>,<span class="local-variable">$fh</span>);
- <span class="local-variable">$opt_header</span>=<span class="predefined-constant">false</span>;
- }
- <span class="keyword">else</span> {
- <span class="predefined">fclose</span>(<span class="local-variable">$fc</span>);
- }
- }
- }
- curl_setopt(<span class="local-variable">$pCurl</span>,<span class="constant">CURLOPT_HEADER</span>,<span class="local-variable">$opt_header</span>);
- <span class="keyword">if</span>(<span class="local-variable">$fc</span>) {
- <span class="predefined">fclose</span>(<span class="local-variable">$fc</span>); <span class="comment">// fermer fichier</span>
- <span class="local-variable">$result</span>[<span class="string"><span class="delimiter">'</span><span class="content">file</span><span class="delimiter">'</span></span>]=<span class="local-variable">$copy</span>;
- }
- <span class="keyword">if</span>(<span class="local-variable">$fh</span>) {
- <span class="predefined">fclose</span>(<span class="local-variable">$fh</span>);
- }
- <span class="keyword">if</span>(<span class="local-variable">$cont</span>===<span class="predefined-constant">false</span>) {
- spip_log(<span class="string"><span class="delimiter">'</span><span class="content">ECHEC CURL </span><span class="delimiter">'</span></span>.<span class="local-variable">$url</span>,_LOG_ERREUR);
- <span class="keyword">if</span>(<span class="predefined">file_exists</span>(<span class="local-variable">$copy</span>)) <span class="predefined">unlink</span>(<span class="local-variable">$copy</span>); <span class="comment">// suppr fichier sur erreur</span>
- <span class="keyword">if</span>(<span class="predefined">file_exists</span>(<span class="local-variable">$fheader</span>)) <span class="predefined">unlink</span>(<span class="local-variable">$fheader</span>);
- <span class="keyword">return</span> <span class="predefined-constant">false</span>;
- }
- <span class="comment">// on range le tout dans la var $result</span>
- <span class="local-variable">$body</span>=<span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>;
- <span class="local-variable">$head</span>=<span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>;
- <span class="keyword">if</span>(<span class="local-variable">$cont</span>!==<span class="predefined-constant">true</span>) { <span class="comment">// cas de demande par fichier</span>
- <span class="keyword">if</span>(<span class="local-variable">$options</span>[<span class="string"><span class="delimiter">'</span><span class="content">methode</span><span class="delimiter">'</span></span>]==<span class="string"><span class="delimiter">'</span><span class="content">HEAD</span><span class="delimiter">'</span></span>) {
- <span class="local-variable">$head</span>=<span class="local-variable">$cont</span>;
- }
- <span class="keyword">else</span> {
- <span class="keyword">if</span>(<span class="predefined">isset</span>(<span class="local-variable">$info</span>[<span class="string"><span class="delimiter">'</span><span class="content">download_content_length</span><span class="delimiter">'</span></span>]) <span class="keyword">and</span> <span class="local-variable">$info</span>[<span class="string"><span class="delimiter">'</span><span class="content">download_content_length</span><span class="delimiter">'</span></span>]><span class="integer">0</span>) {
- <span class="local-variable">$body</span>=<span class="predefined">substr</span>(<span class="local-variable">$cont</span>,-<span class="local-variable">$info</span>[<span class="string"><span class="delimiter">'</span><span class="content">download_content_length</span><span class="delimiter">'</span></span>]);
- <span class="local-variable">$result</span>[<span class="string"><span class="delimiter">'</span><span class="content">length</span><span class="delimiter">'</span></span>]=<span class="local-variable">$info</span>[<span class="string"><span class="delimiter">'</span><span class="content">download_content_length</span><span class="delimiter">'</span></span>];
- }
- <span class="keyword">elseif</span>(<span class="predefined">isset</span>(<span class="local-variable">$info</span>[<span class="string"><span class="delimiter">'</span><span class="content">size_download</span><span class="delimiter">'</span></span>]) <span class="keyword">and</span> <span class="local-variable">$info</span>[<span class="string"><span class="delimiter">'</span><span class="content">size_download</span><span class="delimiter">'</span></span>]><span class="integer">0</span>) {
- <span class="local-variable">$body</span>=<span class="predefined">substr</span>(<span class="local-variable">$cont</span>,-<span class="local-variable">$info</span>[<span class="string"><span class="delimiter">'</span><span class="content">size_download</span><span class="delimiter">'</span></span>]);
- <span class="local-variable">$result</span>[<span class="string"><span class="delimiter">'</span><span class="content">length</span><span class="delimiter">'</span></span>]=<span class="local-variable">$info</span>[<span class="string"><span class="delimiter">'</span><span class="content">size_download</span><span class="delimiter">'</span></span>];
- }
- <span class="keyword">if</span>(<span class="predefined">isset</span>(<span class="local-variable">$info</span>[<span class="string"><span class="delimiter">'</span><span class="content">header_size</span><span class="delimiter">'</span></span>]) <span class="keyword">and</span> <span class="local-variable">$info</span>[<span class="string"><span class="delimiter">'</span><span class="content">header_size</span><span class="delimiter">'</span></span>]><span class="integer">0</span>) {
- <span class="local-variable">$head</span>=<span class="predefined">substr</span>(<span class="local-variable">$cont</span>,<span class="integer">0</span>,<span class="local-variable">$info</span>[<span class="string"><span class="delimiter">'</span><span class="content">header_size</span><span class="delimiter">'</span></span>]);
- <span class="keyword">if</span>(<span class="local-variable">$body</span>==<span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>) { <span class="comment">// cas ou download_content_length=-1 !!!!!!</span>
- <span class="local-variable">$body</span>=<span class="predefined">substr</span>(<span class="local-variable">$cont</span>,<span class="local-variable">$info</span>[<span class="string"><span class="delimiter">'</span><span class="content">header_size</span><span class="delimiter">'</span></span>]);
- <span class="local-variable">$result</span>[<span class="string"><span class="delimiter">'</span><span class="content">length</span><span class="delimiter">'</span></span>]=<span class="predefined">strlen</span>(<span class="local-variable">$body</span>); <span class="comment">// pare absence</span>
- }
- }
- }
- }
- <span class="keyword">if</span>(<span class="local-variable">$fheader</span> <span class="keyword">and</span> <span class="predefined">file_exists</span>(<span class="local-variable">$fheader</span>)) { <span class="comment">// si un fichier de header est fait</span>
- <span class="local-variable">$head</span>=<span class="predefined">file_get_contents</span>(<span class="local-variable">$fheader</span>);
- <span class="predefined">unlink</span>(<span class="local-variable">$fheader</span>);
- }
- <span class="local-variable">$result</span>[<span class="string"><span class="delimiter">'</span><span class="content">status</span><span class="delimiter">'</span></span>]=<span class="local-variable">$info</span>[<span class="string"><span class="delimiter">'</span><span class="content">http_code</span><span class="delimiter">'</span></span>];
- <span class="keyword">if</span>(<span class="local-variable">$info</span>[<span class="string"><span class="delimiter">'</span><span class="content">http_code</span><span class="delimiter">'</span></span>]==<span class="integer">206</span>) <span class="local-variable">$result</span>[<span class="string"><span class="delimiter">'</span><span class="content">status</span><span class="delimiter">'</span></span>]=<span class="integer">200</span>; <span class="comment">// SPIP refuse les partial content alors qu'il les demande</span>
- <span class="local-variable">$result</span>[<span class="string"><span class="delimiter">'</span><span class="content">headers</span><span class="delimiter">'</span></span>]=<span class="local-variable">$head</span>;
- <span class="local-variable">$result</span>[<span class="string"><span class="delimiter">'</span><span class="content">page</span><span class="delimiter">'</span></span>]=<span class="local-variable">$body</span>;
- <span class="keyword">if</span>(<span class="predefined">isset</span>(<span class="local-variable">$info</span>[<span class="string"><span class="delimiter">'</span><span class="content">download_content_length</span><span class="delimiter">'</span></span>]) <span class="keyword">and</span> <span class="local-variable">$info</span>[<span class="string"><span class="delimiter">'</span><span class="content">download_content_length</span><span class="delimiter">'</span></span>]><span class="integer">0</span>) {
- <span class="local-variable">$result</span>[<span class="string"><span class="delimiter">'</span><span class="content">length</span><span class="delimiter">'</span></span>]=<span class="local-variable">$info</span>[<span class="string"><span class="delimiter">'</span><span class="content">download_content_length</span><span class="delimiter">'</span></span>];
- }
- <span class="keyword">elseif</span>(<span class="predefined">isset</span>(<span class="local-variable">$info</span>[<span class="string"><span class="delimiter">'</span><span class="content">size_download</span><span class="delimiter">'</span></span>]) <span class="keyword">and</span> <span class="local-variable">$info</span>[<span class="string"><span class="delimiter">'</span><span class="content">size_download</span><span class="delimiter">'</span></span>]><span class="integer">0</span>) {
- <span class="local-variable">$result</span>[<span class="string"><span class="delimiter">'</span><span class="content">length</span><span class="delimiter">'</span></span>]=<span class="local-variable">$info</span>[<span class="string"><span class="delimiter">'</span><span class="content">size_download</span><span class="delimiter">'</span></span>];
- }
- <span class="keyword">if</span>(<span class="predefined">isset</span>(<span class="local-variable">$info</span>[<span class="string"><span class="delimiter">'</span><span class="content">url</span><span class="delimiter">'</span></span>]) <span class="keyword">and</span> <span class="local-variable">$info</span>[<span class="string"><span class="delimiter">'</span><span class="content">url</span><span class="delimiter">'</span></span>]!=<span class="local-variable">$url</span>) <span class="local-variable">$result</span>[<span class="string"><span class="delimiter">'</span><span class="content">location</span><span class="delimiter">'</span></span>]=<span class="local-variable">$info</span>[<span class="string"><span class="delimiter">'</span><span class="content">url</span><span class="delimiter">'</span></span>];
- <span class="keyword">if</span>(<span class="local-variable">$head</span>) { <span class="comment">// analyse de head pour info</span>
- <span class="local-variable">$trouve</span>=<span class="predefined">array</span>(<span class="string"><span class="delimiter">'</span><span class="content">Content-Length</span><span class="delimiter">'</span></span>=><span class="string"><span class="delimiter">'</span><span class="content">length</span><span class="delimiter">'</span></span>, <span class="comment">// texte avant : => cle du $result</span>
- <span class="string"><span class="delimiter">'</span><span class="content">Last-Modified</span><span class="delimiter">'</span></span>=><span class="string"><span class="delimiter">'</span><span class="content">last_modified</span><span class="delimiter">'</span></span>,
- <span class="string"><span class="delimiter">'</span><span class="content">Accept-Ranges</span><span class="delimiter">'</span></span>=><span class="string"><span class="delimiter">'</span><span class="content">range</span><span class="delimiter">'</span></span>);
- <span class="local-variable">$liste</span>=<span class="predefined">preg_split</span>(<span class="string"><span class="delimiter">'</span><span class="content">/[</span><span class="content">\r</span><span class="content">\n</span><span class="content">]+/</span><span class="delimiter">'</span></span>,<span class="local-variable">$head</span>,-<span class="integer">1</span>,<span class="constant">PREG_SPLIT_NO_EMPTY</span>);
- <span class="keyword">if</span>(<span class="predefined">is_array</span>(<span class="local-variable">$liste</span>)) {
- <span class="local-variable">$liste</span>=<span class="predefined">array_reverse</span>(<span class="local-variable">$liste</span>);
- <span class="keyword">foreach</span>(<span class="local-variable">$liste</span> <span class="keyword">as</span> <span class="local-variable">$l</span>) { <span class="comment">// premier trouver donc dernier dans le head</span>
- <span class="local-variable">$lt</span>=<span class="predefined">trim</span>(<span class="local-variable">$l</span>);
- <span class="keyword">if</span>(<span class="predefined">strlen</span>(<span class="local-variable">$lt</span>)><span class="integer">5</span> <span class="keyword">and</span> <span class="predefined">substr</span>(<span class="local-variable">$lt</span>,<span class="integer">0</span>,<span class="integer">4</span>)==<span class="string"><span class="delimiter">'</span><span class="content">HTTP</span><span class="delimiter">'</span></span>) <span class="keyword">break</span>; <span class="comment">// on arrete sur derniere entete HTTP ?</span>
- <span class="local-variable">$item</span>=<span class="predefined">explode</span>(<span class="string"><span class="delimiter">'</span><span class="content">:</span><span class="delimiter">'</span></span>,<span class="local-variable">$lt</span>,<span class="integer">2</span>);
- <span class="keyword">if</span>(<span class="predefined">isset</span>(<span class="local-variable">$item</span>[<span class="integer">0</span>]) <span class="keyword">and</span> <span class="predefined">isset</span>(<span class="local-variable">$trouve</span>[<span class="local-variable">$item</span>[<span class="integer">0</span>]])) {
- <span class="local-variable">$result</span>[<span class="local-variable">$trouve</span>[<span class="local-variable">$item</span>[<span class="integer">0</span>]]]=<span class="predefined">trim</span>(<span class="local-variable">$item</span>[<span class="integer">1</span>]);
- <span class="predefined">unset</span>(<span class="local-variable">$trouve</span>[<span class="local-variable">$item</span>[<span class="integer">0</span>]]); <span class="comment">// plus d'autre a chercher</span>
- }
- }
- }
- <span class="comment">// cas particuliers</span>
- <span class="keyword">if</span>(<span class="local-variable">$result</span>[<span class="string"><span class="delimiter">'</span><span class="content">last_modified</span><span class="delimiter">'</span></span>]) {
- <span class="local-variable">$val</span>=<span class="predefined">strtotime</span>(<span class="local-variable">$result</span>[<span class="string"><span class="delimiter">'</span><span class="content">last_modified</span><span class="delimiter">'</span></span>]);
- <span class="keyword">if</span>(<span class="local-variable">$val</span>===<span class="predefined-constant">false</span>) {
- <span class="local-variable">$result</span>[<span class="string"><span class="delimiter">'</span><span class="content">last_modified</span><span class="delimiter">'</span></span>]=<span class="string"><span class="delimiter">'</span><span class="delimiter">'</span></span>;
- }
- <span class="keyword">else</span> {
- <span class="local-variable">$result</span>[<span class="string"><span class="delimiter">'</span><span class="content">last_modified</span><span class="delimiter">'</span></span>]=<span class="local-variable">$val</span>;
- }
- }
- }
- <span class="comment">// Faut-il l'importer dans notre charset local ?</span>
- <span class="keyword">if</span> (<span class="local-variable">$options</span>[<span class="string"><span class="delimiter">'</span><span class="content">transcoder</span><span class="delimiter">'</span></span>]) {
- include_spip(<span class="string"><span class="delimiter">'</span><span class="content">inc/charsets</span><span class="delimiter">'</span></span>);
- <span class="local-variable">$result</span>[<span class="string"><span class="delimiter">'</span><span class="content">page</span><span class="delimiter">'</span></span>] = transcoder_page(<span class="local-variable">$result</span>[<span class="string"><span class="delimiter">'</span><span class="content">page</span><span class="delimiter">'</span></span>], <span class="local-variable">$result</span>[<span class="string"><span class="delimiter">'</span><span class="content">headers</span><span class="delimiter">'</span></span>]);
- }
- <span class="keyword">return</span> <span class="local-variable">$result</span>;
- }
- </span>
Normalement, ce code doit être compatible avec l’ancienne fonction, il donne en plus en sortie [’range’] qui permet de savoir si un partial content peut être délivré.
Il ne prend plus en compte les entrées [’refuser_gz’], [’version_http’] et [’boundary’] et l’entrée [’data’] doit être compatible avec celle de ’curl_setopt : CURLOPT_POSTFIELDS’.
Si des gens veulent la tester et l’améliorer : bienvenue.Petit nota : SPIP laisse le fichier créer dans cette fonction ([’file’]) dans le tmp sans le détruire (version de base idem) : accumulation !
-
build ffmpeg on ubuntu : build nasm fails
6 février 2019, par Rakka Ragetrying to build ffmpeg on ubuntu 18.10
https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
first install dependencies
sudo apt-get update -qq && sudo apt-get -y install \
autoconf \
automake \
build-essential \
cmake \
git-core \
libass-dev \
libfreetype6-dev \
libsdl2-dev \
libtool \
libva-dev \
libvdpau-dev \
libvorbis-dev \
libxcb1-dev \
libxcb-shm0-dev \
libxcb-xfixes0-dev \
pkg-config \
texinfo \
wget \
zlib1g-devthen make dirs
mkdir -p ~/ffmpeg_sources ~/bin
then build nasm
cd ~/ffmpeg_sources && \
wget https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/nasm-2.13.03.tar.bz2 && \
tar xjvf nasm-2.13.03.tar.bz2 && \
cd nasm-2.13.03 && \
./autogen.sh && \
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" && \
make && \
make installthen error
--2019-02-04 17:45:17-- https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/nasm-2.13.03.tar.bz2
Resolving www.nasm.us (www.nasm.us)... 2607:7c80:54:e::136, 198.137.202.136
Connecting to www.nasm.us (www.nasm.us)|2607:7c80:54:e::136|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 974491 (952K) [application/x-bzip2]
Saving to: ‘nasm-2.13.03.tar.bz2’
nasm-2.13.03.tar.bz2 100%[=================================================>] 951.65K 1.51MB/s in 0.6s
2019-02-04 17:45:18 (1.51 MB/s) - ‘nasm-2.13.03.tar.bz2’ saved [974491/974491]
nasm-2.13.03/
nasm-2.13.03/AUTHORS
nasm-2.13.03/TODO
nasm-2.13.03/headers/
nasm-2.13.03/headers/c
nasm-2.13.03/headers/mac
nasm-2.13.03/headers/perl
nasm-2.13.03/headers/doc
nasm-2.13.03/test/
nasm-2.13.03/test/objtest.asm
nasm-2.13.03/test/float8.asm
nasm-2.13.03/test/avx512cd.asm
nasm-2.13.03/test/br890790_i.asm
nasm-2.13.03/test/avx.asm
nasm-2.13.03/test/pushseg.asm
nasm-2.13.03/test/br3074517.asm
nasm-2.13.03/test/inc2.asm
nasm-2.13.03/test/elfso.asm
nasm-2.13.03/test/br2222615.asm
nasm-2.13.03/test/local.asm
nasm-2.13.03/test/time.asm
nasm-2.13.03/test/smartalign64.asm
nasm-2.13.03/test/movimm.asm
nasm-2.13.03/test/elif.asm
nasm-2.13.03/test/absolute.asm
nasm-2.13.03/test/nullfile.asm
nasm-2.13.03/test/test67.asm
nasm-2.13.03/test/reldef.asm
nasm-2.13.03/test/jmp64.asm
nasm-2.13.03/test/addr64x.asm
nasm-2.13.03/test/weirdpaste.asm
nasm-2.13.03/test/newrdwr.asm
nasm-2.13.03/test/gas2nasm.py
nasm-2.13.03/test/br3104312.asm
nasm-2.13.03/test/br3041451.asm
nasm-2.13.03/test/xchg.asm
nasm-2.13.03/test/movnti.asm
nasm-2.13.03/test/br3385573.asm
nasm-2.13.03/test/testdos.asm
nasm-2.13.03/test/br3005117.asm
nasm-2.13.03/test/pcrel.asm
nasm-2.13.03/test/objexe.asm
nasm-2.13.03/test/immwarn.asm
nasm-2.13.03/test/smartalign16.asm
nasm-2.13.03/test/floatx.asm
nasm-2.13.03/test/pinsr64.asm
nasm-2.13.03/test/radix.asm
nasm-2.13.03/test/gotoff64.asm
nasm-2.13.03/test/elf64so.asm
nasm-2.13.03/test/smartalign32.asm
nasm-2.13.03/test/floatize.asm
nasm-2.13.03/test/lnxhello.asm
nasm-2.13.03/test/bisect.sh
nasm-2.13.03/test/fpu.asm
nasm-2.13.03/test/ptr.asm
nasm-2.13.03/test/br2496848.asm
nasm-2.13.03/test/binexe.asm
nasm-2.13.03/test/gather.asm
nasm-2.13.03/test/nop.asm
nasm-2.13.03/test/br560575.asm
nasm-2.13.03/test/uscore.asm
nasm-2.13.03/test/struc.asm
nasm-2.13.03/test/br3026808.asm
nasm-2.13.03/test/zerobyte.asm
nasm-2.13.03/test/avx005.asm
nasm-2.13.03/test/riprel.pl
nasm-2.13.03/test/iftoken.asm
nasm-2.13.03/test/times.asm
nasm-2.13.03/test/ifmacro.asm
nasm-2.13.03/test/br3392411.asm
nasm-2.13.03/test/br3392418.asm
nasm-2.13.03/test/riprel.asm
nasm-2.13.03/test/align13.asm
nasm-2.13.03/test/rdpid.asm
nasm-2.13.03/test/utf.asm
nasm-2.13.03/test/br3187743.asm
nasm-2.13.03/test/movd.asm
nasm-2.13.03/test/floatb.asm
nasm-2.13.03/test/inc1.asm
nasm-2.13.03/test/ilog2.asm
nasm-2.13.03/test/crc32.asm
nasm-2.13.03/test/org.asm
nasm-2.13.03/test/popcnt.asm
nasm-2.13.03/test/ifelse.asm
nasm-2.13.03/test/andbyte.asm
nasm-2.13.03/test/bintest.asm
nasm-2.13.03/test/imm64.asm
nasm-2.13.03/test/pinsr16.asm
nasm-2.13.03/test/ppindirect.asm
nasm-2.13.03/test/Makefile
nasm-2.13.03/test/br3392252.asm
nasm-2.13.03/test/elftest64.c
nasm-2.13.03/test/hexfp.asm
nasm-2.13.03/test/alonesym-obj.asm
nasm-2.13.03/test/br3092924.asm
nasm-2.13.03/test/br3392442.asm
nasm-2.13.03/test/loopoffs.asm
nasm-2.13.03/test/vex.asm
nasm-2.13.03/test/bcd.asm
nasm-2.13.03/test/iftoken.pl
nasm-2.13.03/test/br3189064.asm
nasm-2.13.03/test/br3392439.asm
nasm-2.13.03/test/cofftest.c
nasm-2.13.03/test/floatexp.asm
nasm-2.13.03/test/mpx-64.asm
nasm-2.13.03/test/elftest.asm
nasm-2.13.03/test/avx512pf.asm
nasm-2.13.03/test/xmm0.asm
nasm-2.13.03/test/br3392396.asm
nasm-2.13.03/test/ifenv.asm
nasm-2.13.03/test/insnlbl.asm
nasm-2.13.03/test/imm.asm
nasm-2.13.03/test/performtest.pl
nasm-2.13.03/test/br2148476.asm
nasm-2.13.03/test/imul.asm
nasm-2.13.03/test/br890790.asm
nasm-2.13.03/test/perf/
nasm-2.13.03/test/perf/macro.pl
nasm-2.13.03/test/perf/label.pl
nasm-2.13.03/test/perf/token.pl
nasm-2.13.03/test/br3392259.asm
nasm-2.13.03/test/br3392363.asm
nasm-2.13.03/test/macroerr.asm
nasm-2.13.03/test/br560873.asm
nasm-2.13.03/test/sreg.asm
nasm-2.13.03/test/br3200749.asm
nasm-2.13.03/test/xcrypt.asm
nasm-2.13.03/test/br3109604.asm
nasm-2.13.03/test/pragma.asm
nasm-2.13.03/test/objlink.c
nasm-2.13.03/test/vaesenc.asm
nasm-2.13.03/test/align13s.asm
nasm-2.13.03/test/br2030823.asm
nasm-2.13.03/test/imacro.asm
nasm-2.13.03/test/timesneg.asm
nasm-2.13.03/test/macroerr.inc
nasm-2.13.03/test/vgather.asm
nasm-2.13.03/test/elftest.c
nasm-2.13.03/test/floattest.asm
nasm-2.13.03/test/lar_lsl.asm
nasm-2.13.03/test/expimp.asm
nasm-2.13.03/test/testnos3.asm
nasm-2.13.03/test/r13.asm
nasm-2.13.03/test/splitea.asm
nasm-2.13.03/test/mpx.asm
nasm-2.13.03/test/sha.asm
nasm-2.13.03/test/fwdopt.asm
nasm-2.13.03/test/strlen.asm
nasm-2.13.03/test/a32offs.asm
nasm-2.13.03/test/vmread.asm
nasm-2.13.03/test/cv8struc.asm
nasm-2.13.03/test/aoutso.asm
nasm-2.13.03/test/relocs.asm
nasm-2.13.03/test/_version.asm
nasm-2.13.03/test/br1879590.asm
nasm-2.13.03/test/tmap.nas
nasm-2.13.03/test/hle.asm
nasm-2.13.03/test/br2003451.asm
nasm-2.13.03/test/float.asm
nasm-2.13.03/test/mmxsize.asm
nasm-2.13.03/test/far64.asm
nasm-2.13.03/test/new
nasm-2.13.03/test/movd64.asm
nasm-2.13.03/test/incbin.asm
nasm-2.13.03/test/inctest.asm
nasm-2.13.03/test/cofftest.asm
nasm-2.13.03/test/avx512f.asm
nasm-2.13.03/test/nasmformat.asm
nasm-2.13.03/test/prefix66.asm
nasm-2.13.03/test/paste.asm
nasm-2.13.03/test/br978756.asm
nasm-2.13.03/test/br3028880.asm
nasm-2.13.03/test/optimization.asm
nasm-2.13.03/test/aouttest.asm
nasm-2.13.03/test/macro-defaults.asm
nasm-2.13.03/test/pinsr32.asm
nasm-2.13.03/test/br3066383.asm
nasm-2.13.03/test/_file_.asm
nasm-2.13.03/test/invlpga.asm
nasm-2.13.03/test/incbin.data
nasm-2.13.03/test/sha-64.asm
nasm-2.13.03/test/multisection.asm
nasm-2.13.03/test/avx2.asm
nasm-2.13.03/test/avx512er.asm
nasm-2.13.03/test/dtbcd.asm
nasm-2.13.03/test/pextrw.asm
nasm-2.13.03/test/lwp.asm
nasm-2.13.03/test/br3174983.asm
nasm-2.13.03/test/changed.asm
nasm-2.13.03/test/larlsl.asm
nasm-2.13.03/test/riprel2.asm
nasm-2.13.03/test/fwdoptpp.asm
nasm-2.13.03/test/br3058845.asm
nasm-2.13.03/test/aouttest.c
nasm-2.13.03/test/br3392392.asm
nasm-2.13.03/Makefile.in
nasm-2.13.03/README
nasm-2.13.03/common/
nasm-2.13.03/common/common.c
nasm-2.13.03/autogen.sh
nasm-2.13.03/version.sed
nasm-2.13.03/version.pl
nasm-2.13.03/include/
nasm-2.13.03/include/insns.h
nasm-2.13.03/include/hashtbl.h
nasm-2.13.03/include/error.h
nasm-2.13.03/include/perfhash.h
nasm-2.13.03/include/rdoff.h
nasm-2.13.03/include/nasm.h
nasm-2.13.03/include/nasmint.h
nasm-2.13.03/include/ver.h
nasm-2.13.03/include/raa.h
nasm-2.13.03/include/md5.h
nasm-2.13.03/include/opflags.h
nasm-2.13.03/include/iflag.h
nasm-2.13.03/include/tables.h
nasm-2.13.03/include/disp8.h
nasm-2.13.03/include/rbtree.h
nasm-2.13.03/include/labels.h
nasm-2.13.03/include/compiler.h
nasm-2.13.03/include/strlist.h
nasm-2.13.03/include/nasmlib.h
nasm-2.13.03/include/saa.h
nasm-2.13.03/contrib/
nasm-2.13.03/contrib/VSrules/
nasm-2.13.03/contrib/VSrules/nasm.README
nasm-2.13.03/contrib/VSrules/nasm.rules
nasm-2.13.03/contrib/MSVC6.txt
nasm-2.13.03/SubmittingPatches
nasm-2.13.03/stdlib/
nasm-2.13.03/stdlib/strlcpy.c
nasm-2.13.03/stdlib/vsnprintf.c
nasm-2.13.03/stdlib/snprintf.c
nasm-2.13.03/stdlib/strnlen.c
nasm-2.13.03/disasm/
nasm-2.13.03/disasm/sync.c
nasm-2.13.03/disasm/disasm.h
nasm-2.13.03/disasm/ndisasm.c
nasm-2.13.03/disasm/sync.h
nasm-2.13.03/disasm/disasm.c
nasm-2.13.03/nasmlib/
nasm-2.13.03/nasmlib/md5c.c
nasm-2.13.03/nasmlib/rbtree.c
nasm-2.13.03/nasmlib/badenum.c
nasm-2.13.03/nasmlib/srcfile.c
nasm-2.13.03/nasmlib/mmap.c
nasm-2.13.03/nasmlib/zerobuf.c
nasm-2.13.03/nasmlib/crc64.c
nasm-2.13.03/nasmlib/saa.c
nasm-2.13.03/nasmlib/raa.c
nasm-2.13.03/nasmlib/bsi.c
nasm-2.13.03/nasmlib/ver.c
nasm-2.13.03/nasmlib/perfhash.c
nasm-2.13.03/nasmlib/strlist.c
nasm-2.13.03/nasmlib/hashtbl.c
nasm-2.13.03/nasmlib/filename.c
nasm-2.13.03/nasmlib/file.c
nasm-2.13.03/nasmlib/path.c
nasm-2.13.03/nasmlib/file.h
nasm-2.13.03/nasmlib/realpath.c
nasm-2.13.03/nasmlib/string.c
nasm-2.13.03/nasmlib/readnum.c
nasm-2.13.03/nasmlib/perfhash.pl
nasm-2.13.03/nasmlib/ilog2.c
nasm-2.13.03/nasmlib/malloc.c
nasm-2.13.03/LICENSE
nasm-2.13.03/ndisasm.txt
nasm-2.13.03/misc/
nasm-2.13.03/misc/c16.mac
nasm-2.13.03/misc/README
nasm-2.13.03/misc/proc32.ash
nasm-2.13.03/misc/nasmstab
nasm-2.13.03/misc/c32.mac
nasm-2.13.03/misc/Nindent
nasm-2.13.03/misc/exebin.mac
nasm-2.13.03/misc/Doxyfile
nasm-2.13.03/misc/exebin2.mac
nasm-2.13.03/misc/magic
nasm-2.13.03/misc/omfdump.c
nasm-2.13.03/misc/nasm.sl
nasm-2.13.03/misc/hints.txt
nasm-2.13.03/misc/scitech.mac
nasm-2.13.03/misc/crcgen.c
nasm-2.13.03/misc/myC32.mac
nasm-2.13.03/misc/genfma.pl
nasm-2.13.03/misc/xcrcgen.c
nasm-2.13.03/misc/fmtinsns.pl
nasm-2.13.03/misc/pmw.bat
nasm-2.13.03/CHANGES
nasm-2.13.03/configure
nasm-2.13.03/ndisasm.1
nasm-2.13.03/tools/
nasm-2.13.03/tools/tag-release
nasm-2.13.03/tools/syncfiles.pl
nasm-2.13.03/tools/cleanpatch
nasm-2.13.03/tools/cleanfile
nasm-2.13.03/tools/release
nasm-2.13.03/tools/mkdep.pl
nasm-2.13.03/INSTALL
nasm-2.13.03/install-sh
nasm-2.13.03/Mkfiles/
nasm-2.13.03/Mkfiles/README
nasm-2.13.03/Mkfiles/openwcom.mak
nasm-2.13.03/Mkfiles/msvc.mak
nasm-2.13.03/version
nasm-2.13.03/nasm.txt
nasm-2.13.03/nsis/
nasm-2.13.03/nsis/version.nsh
nasm-2.13.03/nsis/nasm-un.ico
nasm-2.13.03/nsis/NASMMultiUser.nsh
nasm-2.13.03/nsis/getpearch.pl
nasm-2.13.03/nsis/nasm.nsi
nasm-2.13.03/nsis/nasm.ico
nasm-2.13.03/macros/
nasm-2.13.03/macros/macros.pl
nasm-2.13.03/macros/standard.mac
nasm-2.13.03/macros/ifunc.mac
nasm-2.13.03/macros/altreg.mac
nasm-2.13.03/macros/macros.c
nasm-2.13.03/macros/smartalign.mac
nasm-2.13.03/macros/fp.mac
nasm-2.13.03/config/
nasm-2.13.03/config/watcom.h
nasm-2.13.03/config/msvc.h
nasm-2.13.03/config/config.h.in
nasm-2.13.03/config/unknown.h
nasm-2.13.03/nasm.1
nasm-2.13.03/asm/
nasm-2.13.03/asm/preproc.h
nasm-2.13.03/asm/preproc-nop.c
nasm-2.13.03/asm/tokens.h
nasm-2.13.03/asm/pptok.h
nasm-2.13.03/asm/stdscan.c
nasm-2.13.03/asm/nasm.c
nasm-2.13.03/asm/pragma.c
nasm-2.13.03/asm/pptok.dat
nasm-2.13.03/asm/float.h
nasm-2.13.03/asm/pptok.pl
nasm-2.13.03/asm/directiv.dat
nasm-2.13.03/asm/error.c
nasm-2.13.03/asm/labels.c
nasm-2.13.03/asm/eval.h
nasm-2.13.03/asm/directiv.h
nasm-2.13.03/asm/assemble.h
nasm-2.13.03/asm/parser.h
nasm-2.13.03/asm/assemble.c
nasm-2.13.03/asm/listing.c
nasm-2.13.03/asm/tokhash.c
nasm-2.13.03/asm/preproc.c
nasm-2.13.03/asm/exprdump.c
nasm-2.13.03/asm/pptok.c
nasm-2.13.03/asm/parser.c
nasm-2.13.03/asm/quote.h
nasm-2.13.03/asm/quote.c
nasm-2.13.03/asm/segalloc.c
nasm-2.13.03/asm/tokens.dat
nasm-2.13.03/asm/float.c
nasm-2.13.03/asm/exprlib.c
nasm-2.13.03/asm/phash.pl
nasm-2.13.03/asm/directiv.c
nasm-2.13.03/asm/listing.h
nasm-2.13.03/asm/directbl.c
nasm-2.13.03/asm/stdscan.h
nasm-2.13.03/asm/rdstrnum.c
nasm-2.13.03/asm/pptok.ph
nasm-2.13.03/asm/tokhash.pl
nasm-2.13.03/asm/strfunc.c
nasm-2.13.03/asm/eval.c
nasm-2.13.03/rdoff/
nasm-2.13.03/rdoff/rdf2bin.1
nasm-2.13.03/rdoff/segtab.c
nasm-2.13.03/rdoff/rdf2srec.1
nasm-2.13.03/rdoff/rdf2ihx.1
nasm-2.13.03/rdoff/rdlib.h
nasm-2.13.03/rdoff/test/
nasm-2.13.03/rdoff/test/rdftest1.asm
nasm-2.13.03/rdoff/test/rdtlib.asm
nasm-2.13.03/rdoff/test/makelib.sh
nasm-2.13.03/rdoff/test/rdftest2.asm
nasm-2.13.03/rdoff/test/Makefile
nasm-2.13.03/rdoff/test/rdfseg.asm
nasm-2.13.03/rdoff/test/testlib.asm
nasm-2.13.03/rdoff/test/rdfseg2.asm
nasm-2.13.03/rdoff/test/rdtmain.asm
nasm-2.13.03/rdoff/rdf2ith.1
nasm-2.13.03/rdoff/rdlib.c
nasm-2.13.03/rdoff/README
nasm-2.13.03/rdoff/symtab.c
nasm-2.13.03/rdoff/segtab.h
nasm-2.13.03/rdoff/hash.c
nasm-2.13.03/rdoff/ldrdf.1
nasm-2.13.03/rdoff/rdfutils.h
nasm-2.13.03/rdoff/rdflib.1
nasm-2.13.03/rdoff/rdf2com.1
nasm-2.13.03/rdoff/rdoff.c
nasm-2.13.03/rdoff/ldsegs.h
nasm-2.13.03/rdoff/rdfdump.1
nasm-2.13.03/rdoff/rdlar.c
nasm-2.13.03/rdoff/rdf2bin.c
nasm-2.13.03/rdoff/symtab.h
nasm-2.13.03/rdoff/collectn.c
nasm-2.13.03/rdoff/rdfload.h
nasm-2.13.03/rdoff/rdflib.c
nasm-2.13.03/rdoff/rdfload.c
nasm-2.13.03/rdoff/ldrdf.c
nasm-2.13.03/rdoff/rdx.1
nasm-2.13.03/rdoff/rdx.c
nasm-2.13.03/rdoff/collectn.h
nasm-2.13.03/rdoff/rdlar.h
nasm-2.13.03/rdoff/hash.h
nasm-2.13.03/rdoff/rdfdump.c
nasm-2.13.03/rdoff/doc/
nasm-2.13.03/rdoff/doc/Makefile
nasm-2.13.03/rdoff/doc/v1-v2.txt
nasm-2.13.03/rdoff/doc/rdoff.texi
nasm-2.13.03/version.mac
nasm-2.13.03/output/
nasm-2.13.03/output/legacy.c
nasm-2.13.03/output/elf.h
nasm-2.13.03/output/outbin.mac
nasm-2.13.03/output/nulldbg.c
nasm-2.13.03/output/outform.h
nasm-2.13.03/output/stabs.h
nasm-2.13.03/output/outobj.c
nasm-2.13.03/output/codeview.c
nasm-2.13.03/output/outform.c
nasm-2.13.03/output/outlib.c
nasm-2.13.03/output/outbin.c
nasm-2.13.03/output/outieee.c
nasm-2.13.03/output/outas86.mac
nasm-2.13.03/output/outmacho.mac
nasm-2.13.03/output/outaout.c
nasm-2.13.03/output/outaout.mac
nasm-2.13.03/output/outdbg.c
nasm-2.13.03/output/outmacho.c
nasm-2.13.03/output/outrdf2.c
nasm-2.13.03/output/nullout.c
nasm-2.13.03/output/outlib.h
nasm-2.13.03/output/outobj.mac
nasm-2.13.03/output/outcoff.c
nasm-2.13.03/output/outcoff.mac
nasm-2.13.03/output/outrdf2.mac
nasm-2.13.03/output/outelf.h
nasm-2.13.03/output/pecoff.h
nasm-2.13.03/output/outrdf.mac
nasm-2.13.03/output/dwarf.h
nasm-2.13.03/output/outelf.c
nasm-2.13.03/output/outas86.c
nasm-2.13.03/output/outelf.mac
nasm-2.13.03/perllib/
nasm-2.13.03/perllib/random_sv_vectors.ph
nasm-2.13.03/perllib/gensv.pl
nasm-2.13.03/perllib/phash.ph
nasm-2.13.03/perllib/crc64.ph
nasm-2.13.03/configure.ac
nasm-2.13.03/aclocal.m4
nasm-2.13.03/ChangeLog
nasm-2.13.03/nasm.spec.in
nasm-2.13.03/x86/
nasm-2.13.03/x86/insnsi.h
nasm-2.13.03/x86/regvals.c
nasm-2.13.03/x86/insnsa.c
nasm-2.13.03/x86/insns.pl
nasm-2.13.03/x86/regs.h
nasm-2.13.03/x86/regflags.c
nasm-2.13.03/x86/disp8.c
nasm-2.13.03/x86/regdis.h
nasm-2.13.03/x86/insnsn.c
nasm-2.13.03/x86/iflag.c
nasm-2.13.03/x86/insnsb.c
nasm-2.13.03/x86/regs.pl
nasm-2.13.03/x86/regdis.c
nasm-2.13.03/x86/insns-iflags.ph
nasm-2.13.03/x86/insnsd.c
nasm-2.13.03/x86/regs.c
nasm-2.13.03/x86/iflaggen.h
nasm-2.13.03/x86/regs.dat
nasm-2.13.03/x86/insns.dat
nasm-2.13.03/nasm.spec
nasm-2.13.03/version.h
nasm-2.13.03/version.mak
nasm-2.13.03/nasm.spec.sed
nasm-2.13.03/doc/
nasm-2.13.03/doc/Makefile.in
nasm-2.13.03/doc/nasmdoc.css
nasm-2.13.03/doc/README
nasm-2.13.03/doc/findfont.ph
nasm-2.13.03/doc/pswidth.ph
nasm-2.13.03/doc/pspdf.pl
nasm-2.13.03/doc/head.ps
nasm-2.13.03/doc/rdsrc.pl
nasm-2.13.03/doc/Makefile
nasm-2.13.03/doc/ttfmetrics.ph
nasm-2.13.03/doc/genps.pl
nasm-2.13.03/doc/inslist.pl
nasm-2.13.03/doc/opt_var.txt
nasm-2.13.03/doc/nasmlogo.eps
nasm-2.13.03/doc/afmmetrics.ph
nasm-2.13.03/doc/local.css
nasm-2.13.03/doc/internal.doc
nasm-2.13.03/doc/changes.src
nasm-2.13.03/doc/nasmdoc.src
nasm-2.13.03/doc/psfonts.ph
nasm-2.13.03/doc/nasmlogw.png
+ autoheader
+ autoconf
+ rm -rf autom4te.cache config.log config.status
+ rm -f Makefile rdoff/Makefile doc/Makefile
+ rm -f config.h.in config.h config/config.h
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking for gcc option to accept ISO C99... none needed
checking for gcc option to accept ISO Standard C... (cached) none needed
checking whether ln -s works... yes
checking whether make sets $(MAKE)... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for suffix of library files... a
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for C/C++ restrict keyword... __restrict
checking for size_t... yes
checking whether byte ordering is bigendian... no
checking if gcc accepts -fwrapv... yes
checking if gcc accepts -U__STRICT_ANSI__... yes
checking if gcc accepts -fno-common... yes
checking for nroff... nroff
checking for asciidoc... no
checking for xmlto... no
configure: WARNING: No asciidoc package found
configure: WARNING: No xmlto package found
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking for ANSI C header files... (cached) yes
checking for inttypes.h... (cached) yes
checking for strings.h... (cached) yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking stdnoreturn.h usability... yes
checking stdnoreturn.h presence... yes
checking for stdnoreturn.h... yes
checking io.h usability... no
checking io.h presence... no
checking for io.h... no
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for unistd.h... (cached) yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking for sys/types.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for strcasecmp... yes
checking for stricmp... no
checking for strncasecmp... yes
checking for strnicmp... no
checking for strsep... yes
checking for strnlen... yes
checking for getuid... yes
checking for getgid... yes
checking for realpath... yes
checking for canonicalize_file_name... yes
checking for _fullpath... no
checking for pathconf... yes
checking for _LARGEFILE_SOURCE value needed for large files... no
checking for _fseeki64... no
checking for ftruncate... yes
checking for _chsize... no
checking for _chsize_s... no
checking for fileno... yes
checking for _fileno... no
checking for _filelengthi64... no
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... (cached) yes
checking for getpagesize... yes
checking for working mmap... yes
checking for getpagesize... (cached) yes
checking for sysconf... yes
checking for access... yes
checking for _access... no
checking for faccessat... yes
checking for __builtin_clz... yes
checking for __builtin_clzl... yes
checking for __builtin_clzll... yes
checking for __builtin_expect... yes
checking for vsnprintf... yes
checking for _vsnprintf... no
checking for snprintf... yes
checking for _snprintf... no
checking for strlcpy... no
checking for struct _stati64... no
checking for struct stat... yes
checking for stat... yes
checking for _stati64... no
checking for fstat... yes
checking for _fstati64... no
checking whether strcasecmp is declared... yes
checking whether stricmp is declared... no
checking whether strncasecmp is declared... yes
checking whether strnicmp is declared... no
checking whether strsep is declared... yes
checking whether strlcpy is declared... no
checking whether strnlen is declared... yes
checking for uintptr_t... yes
checking if gcc accepts -Werror=attributes... yes
checking if gcc supports the noreturn function attribute... yes
checking if gcc supports the returns_nonnull function attribute... yes
checking if gcc supports the malloc function attribute... yes
checking if gcc supports the alloc_size function attribute... yes
checking if gcc supports the format function attribute... yes
checking if gcc supports the const function attribute... yes
checking if gcc supports the pure function attribute... yes
checking if gcc supports the error function attribute... yes
checking if gcc accepts -W... yes
checking if gcc accepts -Wall... yes
checking if gcc accepts -pedantic... yes
checking if gcc accepts -Werror=unknown-warning-option... no
checking if gcc accepts -Wpedantic-ms-format... no
checking if gcc accepts -Wc90-c99-compat... yes
checking if gcc accepts -Wlong-long... yes
checking if gcc accepts -Werror=implicit... yes
checking if gcc accepts -Werror=missing-braces... yes
checking if gcc accepts -Werror=return-type... yes
checking if gcc accepts -Werror=trigraphs... yes
checking if gcc accepts -Werror=pointer-arith... yes
checking if gcc accepts -Werror=strict-prototypes... no
checking if gcc accepts -Werror=missing-prototypes... yes
checking if gcc accepts -Werror=missing-declarations... yes
checking if gcc accepts -Werror=comment... yes
checking if gcc accepts -Werror=vla... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating config/config.h
config.status: executing default-1 commands
gcc -c -g -O3 -fwrapv -U__STRICT_ANSI__ -fno-common -Werror=attributes -W -Wall -pedantic -Wc90-c99-compat -Wno-long-long -Werror=implicit -Werror=missing-braces -Werror=return-type -Werror=trigraphs -Werror=pointer-arith -Werror=missing-prototypes -Werror=missing-declarations -Werror=comment -Werror=vla -DHAVE_CONFIG_H -I. -I. -I./include -I./include -I./x86 -I./x86 -I./asm -I./asm -I./disasm -I./disasm -I./output -I./output -o asm/nasm.o asm/nasm.c
In file included from ./include/nasm.h:46,
from asm/nasm.c:47:
./include/nasmlib.h:194:1: error: ‘pure’ attribute on function returning ‘void’ [-Werror=attributes]
void pure_func seg_init(void);
^~~~
cc1: some warnings being treated as errors
make: *** [Makefile:75: asm/nasm.o] Error 1how can a build this ? disable warnings as errors somehow or ? idk
please and thanks -
ffmpeg, v4l, snd_aloop ... sound asyncron (alsa buffer xrun)
28 janvier 2019, par TobiasI’m trying to create a stream that automatically reloads random inputs. I would like to extend this to a database later.
Each time ffmpeg finishes and starts again, so the input changes, the connection to the rtmp is interrupted briefly causing the whole connection breaks down. I then tried to separate audio and video, to send them to virtual devices and read from there again. Split the stream on virtual devices, reassemble them directly and send them to rtmp. If the input is then exchanged, the sending to the devices interrupts what does not bother the second ffmpeg. As soon as I stop sending to the devices the fps go very slowly (10 - 20 sec) from 25 to 0. Only then does the transmitter ffmpeg break the connection to the rtmp. The script which exchanges the inputs needs only one second. A practical test showed that everything works as desired.
I can quite comfortably change the input while the second ffmpeg maintains the stream ...
The joy did not last long. The sound is good 1 sec delayed. But sporadically. Sometimes everything works great. Sometimes the sound is offset.
I wrote several scripts for this.
Background :
- File is selected by random
- Media file is split and written to / dev / video0 (v4l loopback) and alsa default (snd_aloop loopback)
- Put the splits together again and stream them to a rtmp server
Code that selects the input and sends to / dev / video0 and alsa default
#!/bin/bash
cat /dev/null > log
while true;
do
WATERMARK="watermark.png";
dir='/homeXXXXXXXXXX/mix'
file=`/bin/ls -1 "$dir" | sort --random-sort | head -1`
DATEI=`readlink --canonicalize "$dir/$file"` # Converts to full path
if [ -z $DATEI ]
then
echo "Keine Datei gefunden" >> log;
else
START=$(date +%s);
echo "Sende $DATEI" >> log;
ffmpeg -re -y -i "$DATEI" -c:v libx264 -vf "fps=25,scale=640:480,setdar=4:3" -async 1 -pix_fmt yuv420p -preset ultrafast -map 0:0 -f v4l2 -vcodec rawvideo /dev/video0 -f alsa default
fi
DOKILL=`cat kill`;
if [ "$DOKILL" = "1"]
then
break;
fi
doneThe Output
./run.sh
ffmpeg version 3.2.12-1~deb9u1 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
configuration: --prefix=/usr --extra-version='1~deb9u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 34.101 / 55. 34.101
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.101 / 57. 56.101
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libavresample 3. 1. 0 / 3. 1. 0
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/mix/XXXXXXXXXXXXX.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
title : XXXXXXXXXXXXXXX
encoder : Lavf57.41.100
Duration: 00:03:53.48, start: 0.000000, bitrate: 2705 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 2573 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
Metadata:
handler_name : SoundHandler
Codec AVOption preset (Configuration preset) specified for output file #0 (/dev/video0) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
[Parsed_setdar_2 @ 0x5571234fe020] num:den syntax is deprecated, please use num/den or named options instead
-async is forwarded to lavfi similarly to -af aresample=async=1:min_hard_comp=0.100000:first_pts=0.
Output #0, v4l2, to '/dev/video0':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
title : XXXXXXXXXXX
encoder : Lavf57.56.101
Stream #0:0(und): Video: rawvideo (I420 / 0x30323449), yuv420p, 640x480 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc (default)
Metadata:
handler_name : VideoHandler
encoder : Lavc57.64.101 rawvideo
Output #1, alsa, to 'default':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
title : XXXXXXXXXX
encoder : Lavf57.56.101
Stream #1:0(und): Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s (default)
Metadata:
handler_name : SoundHandler
encoder : Lavc57.64.101 pcm_s16le
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> rawvideo (native))
Stream #0:1 -> #1:0 (aac (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
frame= 736 fps= 24 q=-0.0 Lsize=N/A time=00:00:29.67 bitrate=N/A speed=0.979x
video:331200kB audio:5112kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Exiting normally, received signal 2.The send script
#!/bin/bash
IP="XXXXXXXXX";
ffmpeg -f video4linux2 -i /dev/video0 -f alsa -acodec pcm_s16le -i default -f flv -async 1 -pix_fmt yuv420p -preset ultrafast -vcodec libx264 -r 25 -s 640x260 -acodec aac rtmp://$IP:1935/live/testThe Output
./send_stream.sh
ffmpeg version 3.2.12-1~deb9u1 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
configuration: --prefix=/usr --extra-version='1~deb9u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 34.101 / 55. 34.101
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.101 / 57. 56.101
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libavresample 3. 1. 0 / 3. 1. 0
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 1548393682.674066, bitrate: 110592 kb/s
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 640x480, 110592 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
Guessed Channel Layout for Input Stream #1.0 : stereo
Input #1, alsa, from 'default':
Duration: N/A, start: 1548393682.677901, bitrate: 1536 kb/s
Stream #1:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
-async is forwarded to lavfi similarly to -af aresample=async=1:min_hard_comp=0.100000:first_pts=0.
[libx264 @ 0x55e22cfa4f00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x55e22cfa4f00] profile Constrained Baseline, level 2.1
[libx264 @ 0x55e22cfa4f00] 264 - core 148 r2748 97eaef2 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
Output #0, flv, to 'rtmp://XXXXXXXXXXX:1935/live/test':
Metadata:
encoder : Lavf57.56.101
Stream #0:0: Video: h264 (libx264) ([7][0][0][0] / 0x0007), yuv420p, 640x260, q=-1--1, 25 fps, 1k tbn, 25 tbc
Metadata:
encoder : Lavc57.64.101 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream #0:1: Audio: aac (LC) ([10][0][0][0] / 0x000A), 48000 Hz, stereo, fltp, 128 kb/s
Metadata:
encoder : Lavc57.64.101 aac
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
Stream #1:0 -> #0:1 (pcm_s16le (native) -> aac (native))
Press [q] to stop, [?] for help
[alsa @ 0x55e22cf87300] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)
[video4linux2,v4l2 @ 0x55e22cf84fe0] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)
Past duration 0.613319 too large 7344kB time=00:01:05.85 bitrate= 913.5kbits/s speed=1.04x
Past duration 0.614372 too large 7644kB time=00:01:08.39 bitrate= 915.6kbits/s speed=1.04x
Past duration 0.609749 too large 7834kB time=00:01:10.91 bitrate= 905.0kbits/s speed=1.04x
Past duration 0.604362 too large 8038kB time=00:01:12.92 bitrate= 903.0kbits/s speed=1.04x
Past duration 0.609489 too large 8070kB time=00:01:13.45 bitrate= 900.1kbits/s speed=1.04x
Past duration 0.615013 too large 8094kB time=00:01:13.94 bitrate= 896.8kbits/s speed=1.04x
Past duration 0.610893 too large 8179kB time=00:01:14.94 bitrate= 894.0kbits/s speed=1.04x
Past duration 0.664711 too large
Past duration 0.639565 too large 8263kB time=00:01:15.47 bitrate= 896.8kbits/s speed=1.04x
Past duration 0.668999 too large 8339kB time=00:01:15.94 bitrate= 899.5kbits/s speed=1.04x
Past duration 0.605766 too large
Past duration 0.633049 too large 8399kB time=00:01:16.48 bitrate= 899.6kbits/s speed=1.04x
Past duration 0.674599 too large
Past duration 0.616035 too large 8451kB time=00:01:16.95 bitrate= 899.7kbits/s speed=1.04x
Past duration 0.656136 too large
Past duration 0.604195 too large
Past duration 0.601387 too large 8512kB time=00:01:17.46 bitrate= 900.2kbits/s speed=1.04x
Past duration 0.621895 too large 8565kB time=00:01:17.95 bitrate= 900.1kbits/s speed=1.04x
Past duration 0.670937 too large 8605kB time=00:01:18.46 bitrate= 898.4kbits/s speed=1.04x
Past duration 0.604500 too large 8642kB time=00:01:18.99 bitrate= 896.2kbits/s speed=1.04x
frame= 1913 fps= 25 q=-1.0 Lsize= 8670kB time=00:01:19.48 bitrate= 893.6kbits/s speed=1.04x
video:7290kB audio:1280kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.160292%
[libx264 @ 0x55e22cfa4f00] frame I:8 Avg QP:18.25 size: 15502
[libx264 @ 0x55e22cfa4f00] frame P:1905 Avg QP:20.95 size: 3853
[libx264 @ 0x55e22cfa4f00] mb I I16..4: 100.0% 0.0% 0.0%
[libx264 @ 0x55e22cfa4f00] mb P I16..4: 6.4% 0.0% 0.0% P16..4: 38.1% 0.0% 0.0% 0.0% 0.0% skip:55.5%
[libx264 @ 0x55e22cfa4f00] coded y,uvDC,uvAC intra: 46.0% 30.3% 13.4% inter: 20.1% 9.8% 1.1%
[libx264 @ 0x55e22cfa4f00] i16 v,h,dc,p: 47% 34% 10% 9%
[libx264 @ 0x55e22cfa4f00] i8c dc,h,v,p: 45% 28% 22% 5%
[libx264 @ 0x55e22cfa4f00] kb/s:750.98
[aac @ 0x55e22cfa62a0] Qavg: 579.067
Exiting normally, received signal 2.First everything is fine and then comes
Past duration 0.616035 too large 8451kB time=00:01:16.95 bitrate= 899.7kbits/s speed=1.04x
Past duration 0.656136 too large
Past duration 0.604195 too large
Past duration 0.601387 too large 8512kB time=00:01:17.46 bitrate= 900.2kbits/s speed=1.04xAnd then when that comes, dives in the first window, so in the ffmpeg sends the input :
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> rawvideo (native))
Stream #0:1 -> #1:0 (aac (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
frame= 9 fps=0.0 q=-0.0 size=N/A time=00:00:00.36 bitrate=N/A dup=1 drop=0 spframe= 21 fps= 21 q=-0.0 size=N/A time=00:00:00.84 bitrate=N/A dup=1 drop=0 sp[alsa @ 0x5643b3293160] ALSA buffer xrun.
Last message repeated 1 times
frame= 33 fps= 22 q=-0.0 size=N/A time=00:00:01.32 bitrate=N/A dup=1 drop=0 sp[alsa @ 0x5643b3293160] ALSA buffer xrun.
Last message repeated 1 times
frame= 46 fps= 23 q=-0.0 size=N/A time=00:00:01.84 bitrate=N/A dup=1 drop=0 spframe= 58 fps= 23 q=-0.0 size=N/A time=00:00:02.32 bitrate=N/A dup=1 drop=0 spframe= 71 fps= 24 q=-0.0 size=N/A time=00:00:02.84 bitrate=N/A dup=1 drop=0 spframe= 83 fps= 24 q=-0.0 size=N/A time=00:00:03.32 bitrate=N/A dup=1 drop=0 sp[alsa @ 0x5643b3293160] ALSA buffer xrun.
frame= 96 fps= 24 q=-0.0 size=N/A time=00:00:03.84 bitrate=N/A dup=1 drop=0 sp[alsa @ 0x5643b3293160] ALSA buffer xrun.The sound is then absolutely unsynchronized ...
Does anyone have any advice and can help me ?