Recherche avancée

Médias (1)

Mot : - Tags -/MediaSPIP 0.2

Autres articles (14)

  • 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.

  • Other interesting software

    13 avril 2011, par

    We don’t claim to be the only ones doing what we do ... and especially not to assert claims to be the best either ... What we do, we just try to do it well and getting better ...
    The following list represents softwares that tend to be more or less as MediaSPIP or that MediaSPIP tries more or less to do the same, whatever ...
    We don’t know them, we didn’t try them, but you can take a peek.
    Videopress
    Website : http://videopress.com/
    License : GNU/GPL v2
    Source code : (...)

  • Qu’est ce qu’un éditorial

    21 juin 2013, par

    Ecrivez votre de point de vue dans un article. Celui-ci sera rangé dans une rubrique prévue à cet effet.
    Un éditorial est un article de type texte uniquement. Il a pour objectif de ranger les points de vue dans une rubrique dédiée. Un seul éditorial est placé à la une en page d’accueil. Pour consulter les précédents, consultez la rubrique dédiée.
    Vous pouvez personnaliser le formulaire de création d’un éditorial.
    Formulaire de création d’un éditorial Dans le cas d’un document de type éditorial, les (...)

Sur d’autres sites (2507)

  • Receiving RTP stream - AudioStream, AudioGroup

    26 août 2015, par totten

    I would like to listen an RTP audio stream, however the voice has little gaps in it - not continues. What may be the solution ? Am I missing something on Receiver(android) side or Streamer(ffmpeg) side ?

    I’m using ffmpeg to stream RTP audio,

    ffmpeg -f lavfi -i aevalsrc="sin(400*2*PI*t)" -ar 8000 -vcodec pcm_u8 -f rtp rtp://192.168.0.15:41954 (port changes.)

    And here is my related android code :

    AudioStream audioStream;
    AudioGroup audioGroup;
    @Override
    public void onStart() {
       super.onStart();
       StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitNetwork().build();
       StrictMode.setThreadPolicy(policy);
       AudioManager audio = (AudioManager)getSystemService(AUDIO_SERVICE);
       audio.setMode(AudioManager.MODE_IN_COMMUNICATION);
       audioGroup = new AudioGroup();
       audioGroup.setMode(AudioGroup.MODE_ECHO_SUPPRESSION);
       InetAddress inetAddress;
       try {
           inetAddress = InetAddress.getByName("192.168.0.15");
           audioStream = new AudioStream(inetAddress);
           audioStream.setCodec(AudioCodec.PCMU);
           audioStream.setMode(RtpStream.MODE_NORMAL);
           InetAddress inetAddressRemote = InetAddress.getByName("192.168.0.14");
           audioStream.associate(inetAddressRemote, 6000);
           ((TextView)findViewById(R.id.tv_port)).setText("Port : " + String.valueOf(audioStream.getLocalPort()));
           audioStream.join(audioGroup);
       }
       catch ( UnknownHostException e ) {
           e.printStackTrace();
       }
       catch ( SocketException e ) {
           e.printStackTrace();
       }
    }
  • FFMPEG rtmp live stream with android fps is too low

    27 novembre 2015, par 蔡明原

    I’m interesting live stream from android to youtube.
    I have compile ffmpeg and write jni to live stream with android.
    but the fps is too low, it always has 3 5 fps, the user view is not good.
    how can i do to change the fps.
    this is my jni code with ffmpeg init.

    AVCodecContext *video_codec_ctx = video_stream->codec;
     video_codec_ctx->codec_id = video_codec->id;
     video_codec_ctx->codec_type = AVMEDIA_TYPE_VIDEO;
     video_codec_ctx->level = 31;

     video_codec_ctx->width = width;
     video_codec_ctx->height = height;
     video_codec_ctx->pix_fmt = PIX_FMT_YUV420P;

     video_codec_ctx->rc_max_rate = 0;
     video_codec_ctx->rc_buffer_size = 0;
     video_codec_ctx->gop_size = 30;
     video_codec_ctx->max_b_frames = 0;
     video_codec_ctx->slices = 8;  
     video_codec_ctx->b_frame_strategy = 1;
     video_codec_ctx->coder_type = 0;
     video_codec_ctx->me_cmp = 1;
     video_codec_ctx->me_range = 16;
     video_codec_ctx->qmin = 10;
     video_codec_ctx->qmax = 51;
     video_codec_ctx->keyint_min = 25;
     video_codec_ctx->refs= 3;  
     video_codec_ctx->trellis = 0;
     video_codec_ctx->scenechange_threshold = 40;
     video_codec_ctx->flags |= CODEC_FLAG_LOOP_FILTER;
     video_codec_ctx->me_method = ME_HEX;
     video_codec_ctx->me_subpel_quality = 6;
     video_codec_ctx->i_quant_factor = 0.71;
     video_codec_ctx->qcompress = 0.6;
     video_codec_ctx->max_qdiff = 4;
     video_codec_ctx->time_base.den = 30;
     video_codec_ctx->time_base.num = 1;
     video_codec_ctx->bit_rate = 5200*1000;
     video_codec_ctx->bit_rate_tolerance = 0;
     video_codec_ctx->flags2 |= 0x00000100;

     fmt_context->bit_rate = 6000*1000;

     av_opt_set(video_codec_ctx, "partitions", "i8x8,i4x4,p8x8,b8x8", 0);

     av_opt_set_int(video_codec_ctx, "direct-pred", 1, 0);
     av_opt_set_int(video_codec_ctx, "rc-lookahead", 0, 0);
     av_opt_set_int(video_codec_ctx, "fast-pskip", 1, 0);
     av_opt_set_int(video_codec_ctx, "mixed-refs", 1, 0);
     av_opt_set_int(video_codec_ctx, "8x8dct", 0, 0);
     av_opt_set_int(video_codec_ctx, "weightb", 0, 0);

     if(fmt_context->oformat->flags & AVFMT_GLOBALHEADER)
         video_codec_ctx->flags |= CODEC_FLAG_GLOBAL_HEADER;

     LOGI("Opening video codec");
     AVDictionary *vopts = NULL;
     av_dict_set(&vopts, "profile", "main", 0);
     //av_dict_set(&vopts, "vprofile", "main", 0);
     av_dict_set(&vopts, "rc-lookahead", 0, 0);
     av_dict_set(&vopts, "tune", "film", 0);  
     av_dict_set(&vopts, "preset", "ultrafast", 0);  
     av_opt_set(video_codec_ctx->priv_data,"tune","film",0);
     av_opt_set(video_codec_ctx->priv_data,"preset","ultrafast",0);
     av_opt_set(video_codec_ctx->priv_data,"tune","film",0);
     int open_res = avcodec_open2(video_codec_ctx, video_codec, &vopts);
  • ffmpeg progess bar not giving percent

    3 décembre 2014, par Brett

    Hi im trying to create a java program that shows the percent of a ffmpeg command , Im not sure where i am going wrong.

    Its keeps giving me these results

    run :
    Total duration : 857.44 seconds.
    Progress : 0.85%
    Progress : 1.76%
    Progress : 2.79%
    Progress : 3.93%
    Progress : 5.04%
    Progress : 6.21%
    Progress : 6000.27%
    Progress : 6001.29%
    Progress : 6002.46%
    Progress : 6003.58%
    Progress : 6004.59%
    Progress : 6005.70%
    Progress : 6006.77%
    Progress : 12000.86%
    Progress : 12001.97%
    Progress : 12002.97%
    Progress : 12004.03%
    Progress : 12005.15%
    Progress : 12006.27%
    Progress : 18000.34%
    Progress : 18001.46%
    Progress : 18002.29%
    Progress : 18003.41%
    Progress : 18004.41%
    Progress : 18005.50%
    Progress : 18006.55%
    Progress : 24000.52%
    Progress : 24001.62%
    Progress : 24002.74%
    Progress : 24003.69%
    Progress : 24004.76%
    Progress : 24005.88%
    Progress : 24006.94%
    Progress : 30001.01%
    Progress : 30002.16%
    Progress : 30003.24%
    Progress : 30004.25%
    Progress : 30005.37%
    Progress : 30006.44%
    Progress : 36000.56%
    Progress : 36001.60%
    Progress : 36002.69%
    Progress : 36003.73%
    Progress : 36004.81%
    Progress : 36005.93%
    Progress : 42000.05%
    Progress : 42001.18%
    Progress : 42002.30%
    Progress : 42003.41%
    Progress : 42004.50%
    Progress : 42005.60%
    Progress : 42006.72%
    Progress : 48000.84%
    Progress : 48001.96%
    Progress : 48003.08%
    Progress : 48004.18%
    Progress : 48005.09%
    Progress : 48006.16%
    Progress : 54000.22%
    Progress : 54001.15%
    Progress : 54002.20%
    Progress : 54003.30%
    Progress : 54004.42%
    Progress : 54005.49%
    Progress : 54006.38%
    Progress : 60000.45%
    Progress : 60001.57%
    Progress : 60002.55%
    Progress : 60003.64%
    Progress : 60004.66%
    Progress : 60005.62%
    Progress : 60006.72%
    Progress : 66000.67%
    Progress : 66001.73%
    Progress : 66002.75%
    Progress : 66003.61%
    Progress : 66004.71%
    Progress : 66005.82%
    Progress : 66006.81%
    Progress : 72000.67%
    Progress : 72001.73%
    Progress : 72002.80%
    Progress : 72003.87%
    Progress : 72004.81%
    Progress : 72005.71%
    Progress : 72006.69%
    Progress : 78000.73%
    Progress : 78001.82%
    Progress : 78002.91%
    Progress : 78003.91%
    Progress : 78004.98%
    Progress : 78005.88%
    Progress : 78006.49%
    Progress : 84000.37%
    Progress : 84001.12%
    Progress : 84002.04%
    BUILD SUCCESSFUL (total time : 49 seconds)

    But the file is created , i don’t know why im getting 0.00% any help would be awsome
    ..
    It also complains some imports a not being used here are the imports.

    here is my code

    import java.io.IOException;
    import java.util.Scanner;
    import static java.util.logging.Level.parse;
    import java.util.regex.Pattern;
    import javafx.util.Duration;
    import static javax.management.Query.lt;
    /**
    *
    * @author brett
    */

    public class MashMeUp {

       public static void main(String[] args) throws IOException {
           ProcessBuilder pb = new ProcessBuilder("ffmpeg", "-i", "C:\\Users\\brett\\Documents\\Telegraph_Road.mp4", "C:\\Users\\brett\\Documents\\out.mp4");

           // ProcessBuilder pb = new ProcessBuilder(args);  
           final Process p = pb.start();

       // create a new thread to get progress from ffmpeg command , override  
           // it's run method, and start it!  
           new Thread() {
               public void run() {

                   Scanner sc = new Scanner(p.getErrorStream());

                   // Find duration  
                   Pattern durPattern = Pattern.compile("(?<=Duration: )[^,]*");
                   String dur = sc.findWithinHorizon(durPattern, 0);
                   if (dur == null) {
                       throw new RuntimeException("Could not parse duration.");
                   }
                   String[] hms = dur.split(":");
                   double totalSecs = Integer.parseInt(hms[0]) * 3600
                           + Integer.parseInt(hms[1]) * 60
                           + Double.parseDouble(hms[2]);
                   System.out.println("Total duration: " + totalSecs + " seconds.");

                   // Find time as long as possible.  
                   Pattern timePattern = Pattern.compile("(?<=time=)[\\d:.]*");
                   // TODO make regex that works with ffmpeg static build  
                   String match;
                   String[] matchSplit;
    while (null != (match = sc.findWithinHorizon(timePattern, 0))) {
       matchSplit = match.split(":");
       double progress = Double.parseDouble(matchSplit[2]) / totalSecs +  Integer.parseInt(matchSplit[0]) * 3600 + Integer.parseInt(matchSplit[1]) * 60;
                       System.out.printf("Progress: %.2f%%%n", progress * 100);
                   }
               }
           }.start();
       }
    }