
Recherche avancée
Médias (91)
-
Les Miserables
9 décembre 2019, par
Mis à jour : Décembre 2019
Langue : français
Type : Textuel
-
VideoHandle
8 novembre 2019, par
Mis à jour : Novembre 2019
Langue : français
Type : Video
-
Somos millones 1
21 juillet 2014, par
Mis à jour : Juin 2015
Langue : français
Type : Video
-
Un test - mauritanie
3 avril 2014, par
Mis à jour : Avril 2014
Langue : français
Type : Textuel
-
Pourquoi Obama lit il mes mails ?
4 février 2014, par
Mis à jour : Février 2014
Langue : français
-
IMG 0222
6 octobre 2013, par
Mis à jour : Octobre 2013
Langue : français
Type : Image
Autres articles (42)
-
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 (...) -
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 -
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)
Sur d’autres sites (7495)
-
Unexpected result from Python re.search for command line output
23 mai 2020, par Fernando OrtegaI'm using
subprocess.Popen
to run an ffmpeg command (in Windows) and then extract the part of the output that has the frame count with a regex expression usingre.search
. Sometimes, not always, I get the wrong result from search even if the printed command output string clearly shows what I expect.


When I use
re.findall
I get 2 results, the "wrong" one and the expected one, but in the output string of the command I still only see one option. I'd like to understand why this is happening.


Here's the code I'm running :



import re
import subprocess

# path to video with 300 frames
cmd = r'ffmpeg -i C:\...\300frames_HUD.avi -map 0:v:0 -c copy -f null -'
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
output_info = p.communicate()[0]

regex = r'(frame=\s*)([0-9]+)'
search_result = re.search(regex, output_info)
findall_result = re.findall(regex, output_info)
print "SEARCH"
print '0', search_result.group(0)
print '1', search_result.group(1)
print '2', search_result.group(2)

print "FIND ALL"
print findall_result




Here are the results I get :



SEARCH
0 frame= 293
1 frame= 
2 293
FIND ALL
[('frame= ', '293'), ('frame= ', '300')]




And here is the printed
output_info
, the ffmpeg command output I'm searching on :


ffmpeg version git-2020-03-15-c467328 Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 9.2.1 (GCC) 20200122
 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
 libavutil 56. 42.100 / 56. 42.100
 libavcodec 58. 75.100 / 58. 75.100
 libavformat 58. 41.100 / 58. 41.100
 libavdevice 58. 9.103 / 58. 9.103
 libavfilter 7. 77.100 / 7. 77.100
 libswscale 5. 6.101 / 5. 6.101
 libswresample 3. 6.100 / 3. 6.100
 libpostproc 55. 6.100 / 55. 6.100
Input #0, avi, from 'C:\...\300frames_HUD.avi':
 Duration: 00:00:10.00, start: 0.000000, bitrate: 373255 kb/s
 Stream #0:0: Video: rawvideo, bgr24, 960x540, 374496 kb/s, 30 fps, 30 tbr, 30 tbn, 30 tbc
 Metadata:
 title : V
Output #0, null, to 'pipe:':
 Metadata:
 encoder : Lavf58.41.100
 Stream #0:0: Video: rawvideo, bgr24, 960x540, q=2-31, 374496 kb/s, 30 fps, 30 tbr, 30 tbn, 30 tbc
 Metadata:
 title : V
Stream mapping:
 Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame= 300 fps=0.0 q=-1.0 Lsize=N/A time=00:00:10.00 bitrate=N/A speed=19.4x 
video:455625kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown




I'm essentially looking for the 300 number in
frame= 300
.
I can reproduce this easily when I execute it inside my IDE (pycharm) twice in a row quickly.

-
error when add arabic text to video ffmpeg c#
28 décembre 2020, par Fath Bakrii want to add Arabic annotation or text to video, i use ffmpeg version 4.3.1 in win 32 bit, here my code in c# :


private string AddVideo_Annotation(string text,int X,int Y)
 {
 try
 {

 string FFmpegPath = Utils.GetEXE_FFmpegPath();
 string path = Utils.GetProgramPath();
 //store outcome of process
 var errors = new StringBuilder();
 var output = new StringBuilder();
 var hadErrors = false;

 Process pdfprocess = new Process();

 
 //pdfprocess.StartInfo.LoadUserProfile = true;
 pdfprocess.StartInfo.RedirectStandardOutput = true;
 pdfprocess.StartInfo.RedirectStandardError = true;
 pdfprocess.StartInfo.UseShellExecute = false;
 
 pdfprocess.StartInfo.FileName = FFmpegPath;
 //text_shaping=1
 pdfprocess.StartInfo.Arguments = "-i \""+filePath+ "\" -vf -enable-libfribidi drawtext=\"text_shaping=1:text=\'" + text+ "\':x=" + X+":y="+Y+ ":fontsize=24:fontcolor=Red\" -c:a copy \"" + path + "\\out.mp4\"";
 
 //pdfprocess.StartInfo.WorkingDirectory = @"C:\Program Files\LibreOffice\program\";
 pdfprocess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

 pdfprocess.EnableRaisingEvents = true;

 // capture normal output
 pdfprocess.OutputDataReceived += (s, d) => {
 output.Append(d.Data);
 };

 // Capture error output
 pdfprocess.ErrorDataReceived += (s, d) => {
 if (!hadErrors)
 {
 hadErrors = !String.IsNullOrEmpty(d.Data);
 }
 errors.Append(d.Data);
 };
 pdfprocess.Start();
 pdfprocess.BeginErrorReadLine();
 pdfprocess.BeginOutputReadLine();
 try
 {
 while (pdfprocess.MainWindowHandle == IntPtr.Zero)
 {
 // Discard cached information about the process
 // because MainWindowHandle might be cached.
 pdfprocess.Refresh();
 
 Thread.Sleep(200);

 }
 }
 catch { }
 Thread.Sleep(2000);
 pdfprocess.WaitForExit();
 while ((Process.GetProcessesByName("ffmpeg").Length > 0))
 {
 Thread.Sleep(200);
 }


 string stderr = errors.ToString();

 if (pdfprocess.ExitCode != 0)
 {
 //MessageBox.Show("error:" + stderr);

 throw new Exception("FFmpeg.exe has exit wit code " + pdfprocess.ExitCode+"\n"+ stderr);
 }
 return path + "\\out"+new FileInfo( filePath).Extension;
 }
 catch(Exception ex)
 {
 TXT_AnnotationText.Text = ex.Message + "\n" + ex.StackTrace.ToString();
 MessageBox.Show(ex.Message + "\n" + ex.StackTrace.ToString());
 throw ex;
 }
 }




i get this error message :


FFmpeg.exe has exit wit code 1
ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 10.2.1 (GCC) 20200726 configuration : —enable-gpl —enable-version3 —enable-sdl2 —enable-fontconfig —enable-gnutls —enable-iconv —enable-libass —enable-libdav1d —enable-libbluray —enable-libfreetype —enable-libmp3lame —enable-libopencore-amrnb —enable-libopencore-amrwb —enable-libopenjpeg —enable-libopus —enable-libshine —enable-libsnappy —enable-libsoxr —enable-libsrt —enable-libtheora —enable-libtwolame —enable-libvpx —enable-libwavpack —enable-libwebp —enable-libx264 —enable-libx265 —enable-libxml2 —enable-libzimg —enable-lzma —enable-zlib —enable-gmp —enable-libvidstab —enable-libvmaf —enable-libvorbis —enable-libvo-amrwbenc —enable-libmysofa —enable-libspeex —enable-libxvid —enable-libaom —enable-libgsm —disable-w32threads —enable-libmfx —enable-ffnvcodec —enable-cuda-llvm —enable-cuvid —enable-d3d11va —enable-nvenc —enable-nvdec —enable-dxva2 —enable-avisynth —enable-libopenmpt —enable-amf libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 / 58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 / 3. 7.100 libpostproc 55. 7.100 / 55. 7.100Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'D :\a.mp4' : Metadata : major_brand : mp42 minor_version : 0 compatible_brands : isommp42 creation_time : 2020-12-02T01:57:02.000000Z Duration : 00:01:37.70, start : 0.000000, bitrate : 125 kb/s Stream #0:0(eng) : Video : h264 (Main) (avc1 / 0x31637661), yuv420p(tv), 1280x662 [SAR 1:1 DAR 640:331], 124 kb/s, 30 fps, 30 tbr, 30k tbn, 60 tbc (default) Metadata : creation_time : 2020-12-02T01:57:03.000000Z handler_name : Mainconcept MP4 Video Media Handler encoder : AVC Coding[NULL @ 05d306c0] Unable to find a suitable output format for 'drawtext=text_shaping=1:text='ظٹظ„ظٹظٹظ„ ظٹظ„ظٹط¨ظ„':x=200:y=200:fontsize=24:fontcolor=Red'drawtext=text_shaping=1:text='ظٹظ„ظٹظٹظ„ ظٹظ„ظٹط¨ظ„':x=200:y=200:fontsize=24:fontcolor=Red : Invalid argument
at EasyWhatsappSender.UserControls.UControl_VideoAudioPreview_Annotation.AddVideo_Annotation(String text, Int32 X, Int32 Y) in C :\Users\FathBakri\Documents\Visual Studio 2017\Projects\MediaViewer\UserControls\UControl_VideoAudioPreview_Annotation.cs:line 239


the error happen when i use text_shaping=1 , if i omit it and use Arabic text it display in symbols and not correct
how to fix it. Thanks for help

-
FFMPEG HTTP to RTP then RTP to HTTP with OPUS
20 juin 2020, par Brad HambletonI'm taking a HTTP output to FFMPEG and copying the audio (no video) to an RTP :
ffmpeg -i http://192.168.0.40:20110 -c:a copy -f rtp rtp ://192.168.87.40:20210 ?pkt_size=1328 -sdp_file opus.sdp


At the other end receiving the RTP and pushing it back to HTTP :
ffmpeg -re -protocol_whitelist rtp,file,udp -i opus.sdp -c:a copy -listen 1 -method GET -f opus http://192.168.87.40:20220


2 Problems :


- 

- Currently the encoding process doesn't optimize packets.
92 1.004672 192.168.0.40 192.168.0.40 UDP 392 52954 → 20210 Len=332
93 1.004727 192.168.0.40 192.168.0.40 UDP 392 52954 → 20210 Len=332
94 1.004789 192.168.0.40 192.168.0.40 UDP 392 52954 → 20210 Len=332
95 1.004855 192.168.0.40 192.168.0.40 UDP 392 52954 → 20210 Len=332
96 1.004908 192.168.0.40 192.168.0.40 UDP 392 52954 → 20210 Len=332




Each packet length is 332, which leaves a lot of wasted space. I'd like to get close to 1500 (Stack 4 together I get 1328 which is close enough)
Is there a command in the FFMPEG/RTP that will optimize packets ?
I added ?pkt_size=1328 to the RTP however that only sets max, not preferred.


- 

- I get the following error when I try to HTTP to RTP via copy :
C :\Decode>ffmpeg -re -protocol_whitelist rtp,file,udp -i opus.sdp -c:a copy -listen 1 -method GET -f opus http://192.168.0.40:20220
ffmpeg version git-2020-05-23-26b4509 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 9.3.1 (GCC) 20200523
configuration : —enable-gpl —enable-version3 —enable-sdl2 —enable-fontconfig —enable-gnutls —enable-iconv —enable-libass —enable-libdav1d —enable-libbluray —enable-libfreetype —enable-libmp3lame —enable-libopencore-amrnb —enable-libopencore-amrwb —enable-libopenjpeg —enable-libopus —enable-libshine —enable-libsnappy —enable-libsoxr —enable-libsrt —enable-libtheora —enable-libtwolame —enable-libvpx —enable-libwavpack —enable-libwebp —enable-libx264 —enable-libx265 —enable-libxml2 —enable-libzimg —enable-lzma —enable-zlib —enable-gmp —enable-libvidstab —enable-libvmaf —enable-libvorbis —enable-libvo-amrwbenc —enable-libmysofa —enable-libspeex —enable-libxvid —enable-libaom —disable-w32threads —enable-libmfx —enable-ffnvcodec —enable-cuda-llvm —enable-cuvid —enable-d3d11va —enable-nvenc —enable-nvdec —enable-dxva2 —enable-avisynth —enable-libopenmpt —enable-amf
libavutil 56. 48.100 / 56. 48.100
libavcodec 58. 87.101 / 58. 87.101
libavformat 58. 43.100 / 58. 43.100
libavdevice 58. 9.103 / 58. 9.103
libavfilter 7. 83.100 / 7. 83.100
libswscale 5. 6.101 / 5. 6.101
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
Input #0, sdp, from 'opus.sdp' :
Metadata :
title : No Name
Duration : N/A, start : 0.000000, bitrate : N/A
Stream #0:0 : Audio : opus, 48000 Hz, stereo, fltp
[opus @ 00000221a9a4d280] No extradata present
Could not write header for output file #0 (incorrect codec parameters ?) : Invalid data found when processing input
Stream mapping :
Stream #0:0 -> #0:0 (copy)
Last message repeated 1 times




Tried a variety of additions to the RTP to HTTP CLI to get it to work, but still nothing.


-flags -global_header -reconnect_streamed 1 -headers "X-Forwarded-For : 13.14.15.66"


Is there a specific OPUS or HTTP header that can be added to get it to work. Decoding and Encoding does work for RTP to HTTP, the idea isn't to decode/encode at either point, just to copy the audio, change the container..


Cheers