Recherche avancée

Médias (29)

Mot : - Tags -/Musique

Autres articles (73)

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains 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 ;

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

Sur d’autres sites (8137)

  • Android - How to direct the audio data from MediaRecorder as the input of ffmpeg command via Pipe ?

    3 juin 2013, par Abner311

    I tried to publish audio stream to RTMP server via FFmpeg executable binary.
    I have referred to Android AudioRecord to FFMPEG encode native AAC to create a pipe at Android side and assign the reader part of pipe to ffmpeg command.

    @Override
    protected void onCreate(Bundle savedInstanceState) {

       super.onCreate(savedInstanceState);
       setContentView(com.example.processtest.R.layout.activity_main);
       mediaRecorder = new MediaRecorder();
       mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
       mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
       mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
       mediaRecorder.setAudioSamplingRate(44100);
       mediaRecorder.setAudioEncodingBitRate(64);

       final ParcelFileDescriptor[] pipe = getPipe();
       mediaRecorder.setOutputFile(pipe[1].getFileDescriptor());
       try {
           mediaRecorder.prepare();
       } catch (IllegalStateException e1) {
           e1.printStackTrace();
       } catch (IOException e1) {
           e1.printStackTrace();
       }
       mediaRecorder.start();

       TextView txt = (TextView)this.findViewById(com.example.processtest.R.id.output);
       try {    
           p = Runtime.getRuntime().exec("/data/data/com.example.processtest/bin/ffmpeg -re -i pipe:"+ pipe[0].getFd() +" -c copy -f flv rtmp://192.168.2.224:1935/myapp/mystream");  
       } catch (IOException e) {
           e.printStackTrace();
       }
    }

    ParcelFileDescriptor[] getPipe()
    {
       final String FUNCTION = "getPipeFD";
       //FileDescriptor outputPipe = null;
       ParcelFileDescriptor[] pipe = null;
       try
       {
           pipe = ParcelFileDescriptor.createPipe();
       }
       catch(Exception e)
       {
           Log.e("ProcessTest", FUNCTION + " : " + e.getMessage());
       }

       return pipe;
    }

    However, I got the error msg like "pipe:55 : Bad file number" :

       $/data/data/com.example.processtest/bin/ffmpeg -re -i pipe:55 -c copy -f flv  rtmp://192.168.2.224:1935/myapp/mystream

      E/ProcessTest(19150):   libavutil      51. 65.100 / 51. 65.100<br />
      E/ProcessTest(19150):   libavcodec     54. 41.100 / 54. 41.100<br />
      E/ProcessTest(19150):   libavformat    54. 17.100 / 54. 17.100<br />
      E/ProcessTest(19150):   libavdevice    54.  1.100 / 54.  1.100<br />
      E/ProcessTest(19150):   libavfilter     3.  2.100 /  3.  2.100<br />
      E/ProcessTest(19150):   libswscale      2.  1.100 /  2.  1.100<br />
      E/ProcessTest(19150):   libswresample   0. 15.100 /  0. 15.100<br />
      E/ProcessTest(19150): pipe:55: Bad file number<br />

    Please help me figure out how to assign right pipe fd to ffmpeg command-line process.

  • Ubuntu12.04 : libavformat header trouble when compiling C program

    30 mai 2013, par Juneyoung Oh

    My code is super simple, just include "avformat.h" and call "av_register_all".

    full code is below.

     1 #include
     2 #include
     3 #include
     4 //#include <libavcodec></libavcodec>avcodec.h>
     5 #include <libavformat></libavformat>avformat.h>
     6 //#include "libavcodec/avcodec.h"
     7 //#include "libavformat/avformat.h"
     8
     9
    10 int main (int argc, char* argv[]){
    11         av_register_all();
    12 /*
    13         AVFormatContext* pFormatCtx;
    14         const char* filename = "/home/juneyoungoh/Videos/CON1234ID.ts";
    15
    16         if(av_open_input_file(&amp;pFormatCtx, filename, NULL, 0, NULL) != 0)
    17         {
    18                 handle_error();
    19         }
    20
    21         if(av_find_stream_info(pFormatCtx) &lt; 0)
    22         {
    23                 handle_error();
    24         }
    25
    26         dump_format(pFormatCtx, 0, filename, 1);
    27
    28         //av_get_audio_frame_duration();
    29 */
    30         return 0;
    31 }

    The problem is when I compile this in Terminal it show error.

    /tmp/ccvgpGjv.o: In function `main&#39;:
    getDuration.c:(.text+0x10): undefined reference to `av_register_all&#39;
    collect2: ld returned 1 exit status

    my avformat.h file is in /usr/local/include/libavformat/avformat.h.

    Here is something I have already tried.

    1. gcc getDuration.c
    2. gcc -I/usr/local/include/ getDuration.c
    3. gcc -I/usr/local/include/libavformat/ getDuration.c
    4. gcc -L/usr/local/include/ getDuration.c
    5. gcc -L/usr/local/include/libavformat/ getDuration.c
    6. gcc getDuration.c -lavformat

    Give me the light of hope +_+

  • How can I capture low resolution video on Android reliably across a range of devices ?

    26 octobre 2015, par MisterMat

    Hello Android video experts :)

    I am developing an Android application which allows the user to capture video and upload it to a remote server (it’s more involved than that but the rest of the app is not important). Because of the upload requirement, it is important that the video is of a reasonable size, so not super high resolution. Let’s say a max of 680x480 or 10Mb/minute. This is no problem on Apple devices.

    I have had what can only be described as a complete nightmare trying to capture video at a reasonably low bitrate reliably across a range of Android devices.

    As I understand it there are two ways of capturing video on Android :

    1) Using the Media Recorder/Camera API

    2) Using an Intent to open the cameras video capture application

    Option 1) gives the most flexibility and allows us to easily change the capture resolution. However the Android Camera API is NOT reliable across a range of devices, and I have very good information (including from someone who liaised with Google on this issue) that if you capture video using this API then it will crash on a good 50% of the devices out there. There is a reason that Zoom Camera FX uses an Intent for video capture. Zoom Camera (different app) seems to use Media Recorder, but has lots of bad reviews for video crashing or not working.

    Option 2) works well across a range of devices, as it uses the in built application on the device. The trouble is you have no control whatsoever on the resolution, there is a quality hint on the Intent but the camera app will normally ignore this. My Samsung Galaxy S3 records video by default at about 2Mb/s. This is way too high resolution. The built in application can of course change the resolution, but this relies on action by the user which is difficult to control.

    I understand that I could use a library such as ffmpeg to change the resolution of the video after capture. However this requires me to compile the library for Android, and also I have been informed that in order to legally use the decode/encode codecs on the device you have to pay license fees that amount to about $1 per copy of the app. Since this app will be free to use, this is not an option.

    So that’s where I’m at. I’ve searched long and high for answers, but I can’t figure out how to capture low resolution video reliably using Android.

    Any help very much appreciated !

    Matthew