
Recherche avancée
Médias (3)
-
The Slip - Artworks
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
-
Podcasting Legal guide
16 mai 2011, par
Mis à jour : Mai 2011
Langue : English
Type : Texte
-
Creativecommons informational flyer
16 mai 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (75)
-
Le plugin : Podcasts.
14 juillet 2010, parLe problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
Types de fichiers supportés dans les flux
Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...) -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
-
Submit bugs and patches
13 avril 2011Unfortunately a software is never perfect.
If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
You may also (...)
Sur d’autres sites (12003)
-
how to send the input data to FFMPEG from a C# program
18 octobre 2020, par jstuardoI need to send a binary stream to FFMPEG so that it sends to an RTMP server.


I did it in a nodejs script using socket.io library and in Linux. It works perfectly.


I need to do the same, but in a Windows Forms application using C#.


This is how I run the ffmpeg.exe application :


_currentProcess = new Process();
 _currentProcess.StartInfo.FileName = _ffmpegExe;
 _currentProcess.StartInfo.Arguments = BuildOptions(framesPerSecond, audioBitRate, audioEncoding, rtmpServer);
 _currentProcess.StartInfo.UseShellExecute = false;
 _currentProcess.StartInfo.CreateNoWindow = true;
 _currentProcess.StartInfo.RedirectStandardInput = true;
 _currentProcess.StartInfo.RedirectStandardError = true;
 _currentProcess.ErrorDataReceived += CurrentProcess_ErrorDataReceived;
 _currentProcess.Start();
 _currentProcess.BeginErrorReadLine();



BuildOptions
method is defined this way :

private string BuildOptions(int framesPerSecond, int audioBitRate, string audioEncoding, string rtmpServer)
 {
 string options;
 if (framesPerSecond == 1)
 {
 options = $"-i - -c:v libx264 -preset ultrafast -tune zerolatency -r 1 -g 2 -keyint_min 2 -x264opts keyint=2 -crf 25 -pix_fmt yuv420p -profile:v baseline -level 3 -c:a aac -b:a {audioEncoding} -ar {audioBitRate}-f flv {rtmpServer}";
 }
 else if (framesPerSecond == 15)
 {
 options = $"-i - -c:v libx264 -preset ultrafast -tune zerolatency max_muxing_queue_size 1000 -bufsize 5000 -r 15 -g 30 -keyint_min 30 -x264opts keyint=30 -crf 25 -pix_fmt yuv420p -profile:v baseline -level 3 -c:a aac -b:a {audioEncoding} -ar {audioBitRate} -f flv {rtmpServer}";
 }
 else
 {
 options = $"-i - -c:v libx264 -preset ultrafast -tune zerolatency -c:a aac -ar {audioBitRate} -b:a {audioEncoding} -bufsize 5000 -f flv {rtmpServer}";
 }

 return options;
 }



I am sending the data to the standard input this way :


public void EncodeAndSend(byte[] data)
 {
 if (_currentProcess != null)
 {
 var streamWriter = _currentProcess.StandardInput;
 streamWriter.Write(Encoding.GetEncoding("ISO-8859-1").GetChars(data));
 }
 }



And finally, this method is for receiving the standard error which receives the result from ffmpeg.exe :


private void CurrentProcess_ErrorDataReceived(object sender, DataReceivedEventArgs e)
 {
 Console.WriteLine(e.Data);
 }



When I run the application, this is shown in the console :


ffmpeg version 4.3.1-2020-10-01-essentials_build-www.gyan.dev Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 10.2.0 (Rev3, Built by MSYS2 project)
 configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
 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.100
pipe:: Invalid data found when processing input



If I change the
EncodeAndSend
method to be :

public void EncodeAndSend(byte[] data)
 {
 if (_currentProcess != null)
 {
 var streamWriter = _currentProcess.StandardInput;
 streamWriter.Write(data);
 }
 }



pipe:: Invalid data found when processing input
error is not produced, but no more outputs are shown so it seems it is not working.

What is wrong with this ? how can I send the data to the FFMPEG process ?


Finally, I tell you that the binary stream comes from the camera by mean of MediaRecorder in a web page (the same used for my program in nodejs server, so that it is not the issue here)


-
Attempting to compile FFmpeg 4.2.3 statically for Windows 10 (x86_64), but binaries asks for missing DLLs
29 mai 2020, par ExpectatorI am using Msys MinGW (x86_64) and pulled a snapshot of the latest major release of FFmpeg off of their website. Here is my
./configure
options. I plan to use the binaries on both the computer that I compiled it on, and other Windows computers that I own.


./configure --enable-libaom --enable-avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2 --enable-libgme --enable-libmfx --enable-libkvazaar --enable-libmp3lame --enable-libilbc --enable-libvpx --enable-libmodplug --enable-version3 --enable-nonfree --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-libfdk-aac --enable-libopenh264 --enable-libopenjpeg --enable-nvenc --enable-nvdec --enable-cuda --enable-cuvid --enable-libtwolame --enable-vapoursynth --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxavs2 --enable-gpl --enable-static --disable-shared




Output of configure script (pastebin)



Output of
uname -a
(in Msys)


MINGW64_NT-10.0-18362 <scrubbed> 3.1.4-340.x86_64 2020-05-22 08:28 UTC x86_64 Msys
</scrubbed>



The issue that I'm facing is that despite passing the options
--enable-static
and--disable-shared
, the executables generated still requirelibchromaprint.dll
,libfdk-aac-2.dll
, andlibgme.dll
to run. What I expected was that FFmpeg would execute independently of any DLL files since I passed those options to./configure
.

-
The Ultimate Guide to HeatMap Software