
Recherche avancée
Autres articles (23)
-
Ajouter notes et légendes aux images
7 février 2011, parPour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
Modification lors de l’ajout d’un média
Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...) -
List of compatible distributions
26 avril 2011, parThe table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...) -
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 (...)
Sur d’autres sites (5086)
-
Web Analytics : The Quick Start Guide
25 janvier 2024, par Erin -
Unable play Audio AC3 in Exoplayer + FFmpeg, i read the guide correctly, should I be wrong ?
24 mars 2020, par mOsCpU0I would like to implement FFmpeg in Exoplayer in my App, in order to read video formats with AC3 Audio track.
I followed these steps, but I still don’t hear Audio AC3 and I can’t enable Exoplayer to play the audio track via Software.
I have my code if needed and the guide I used is this :
https://github.com/google/ExoPlayer/tree/release-v2/extensions/ffmpeg
I hope for your help !
package com.omegasus_test.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Dialog;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.exoplayer2.DefaultRenderersFactory;
import com.google.android.exoplayer2.ExoPlaybackException;
import com.google.android.exoplayer2.ExoPlayer;
import com.google.android.exoplayer2.ExoPlayerFactory;
import com.google.android.exoplayer2.PlaybackParameters;
import com.google.android.exoplayer2.Player;
import com.google.android.exoplayer2.Timeline;
import com.google.android.exoplayer2.source.ExtractorMediaSource;
import com.google.android.exoplayer2.source.MediaSource;
import com.google.android.exoplayer2.source.TrackGroupArray;
import com.google.android.exoplayer2.source.hls.HlsMediaSource;
import com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection;
import com.google.android.exoplayer2.trackselection.DefaultTrackSelector;
import com.google.android.exoplayer2.trackselection.TrackSelection;
import com.google.android.exoplayer2.trackselection.TrackSelectionArray;
import com.google.android.exoplayer2.ui.AspectRatioFrameLayout;
import com.google.android.exoplayer2.ui.SimpleExoPlayerView;
import com.google.android.exoplayer2.upstream.BandwidthMeter;
import com.google.android.exoplayer2.upstream.DefaultBandwidthMeter;
import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory;
import com.google.android.exoplayer2.util.Util;
import java.io.File;
import java.io.FileOutputStream;
public class MainActivity extends AppCompatActivity {
String LINK_TO_PLAY="";
ExoPlayer player;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Uri uri=Uri.parse(LINK_TO_PLAY);
final SimpleExoPlayerView pv=findViewById(R.id.player_view);
pv.setVisibility(View.GONE);
pv.setResizeMode(AspectRatioFrameLayout.RESIZE_MODE_FIT);
BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
TrackSelection.Factory videoTrackSelectionFactory =new AdaptiveTrackSelection.Factory(bandwidthMeter);
DefaultTrackSelector trackSelector =new DefaultTrackSelector(videoTrackSelectionFactory);
trackSelector.setParameters( trackSelector.getParameters().buildUpon().setPreferredAudioLanguage("ita"));
DefaultRenderersFactory rf = new DefaultRenderersFactory(getApplicationContext()).setExtensionRendererMode(DefaultRenderersFactory.EXTENSION_RENDERER_MODE_PREFER);
player = ExoPlayerFactory.newSimpleInstance(getApplicationContext(),rf, trackSelector);
pv.setPlayer(player);
MediaSource source;
if(LINK_TO_PLAY.contains("file://")){
DefaultDataSourceFactory dataSourceFactory = new DefaultDataSourceFactory(getApplicationContext(), Util.getUserAgent(getApplicationContext(), "com.omegasus_test.myapplication"));
source = new ExtractorMediaSource.Factory(dataSourceFactory).createMediaSource(uri);
}else if(LINK_TO_PLAY.contains(".m3u8")){
DefaultDataSourceFactory dataSourceFactory = new DefaultDataSourceFactory(getApplicationContext(),Util.getUserAgent(getApplicationContext(), "com.omegasus_test.myapplication"));
source = new HlsMediaSource.Factory(dataSourceFactory).createMediaSource(uri);
}else{
DefaultDataSourceFactory dataSourceFactory = new DefaultDataSourceFactory(getApplicationContext(),Util.getUserAgent(getApplicationContext(), "com.omegasus_test.myapplication"));
source = new ExtractorMediaSource.Factory(dataSourceFactory).createMediaSource(uri);
}
player.prepare(source);
player.addListener(new Player.EventListener(){
public void onSeekProcessed(){}
public void onPlayerStateChanged(boolean playWhenReady, int playbackState) {
if(playbackState == ExoPlayer.STATE_READY){
pv.setVisibility(View.VISIBLE);
pv.setResizeMode(AspectRatioFrameLayout.RESIZE_MODE_FIT);
}else if(playbackState==ExoPlayer.STATE_BUFFERING){
}else if(playbackState==ExoPlayer.STATE_ENDED){
}
}
public void onTimelineChanged(Timeline p1, Object p2, int p3){
}
public void onTracksChanged(TrackGroupArray p1, TrackSelectionArray p2){
}
public void onShuffleModeEnabledChanged(boolean p1){
}
public void onPositionDiscontinuity(int p1){
}
public void onPlaybackParametersChanged(PlaybackParameters p1){
}
public void onLoadingChanged(boolean p1){
}
public void onPlayerError(ExoPlaybackException p1){
if(p1.getMessage()==null){
Toast.makeText(getApplicationContext(),"Errore sconosciuto",Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(getApplicationContext(),"Player Error: "+p1.getMessage(),Toast.LENGTH_SHORT).show();
}
player.setPlayWhenReady(false);
player.stop();
player.seekTo(0);
player.release();
finish();
}
public void onRepeatModeChanged(int p1){
}
});
player.setPlayWhenReady(true);
}
} -
How can I change a video frame rate with FFmpeg keeping the same total number of frames ?
28 mai 2017, par NunoI’ve been searching for an answer here on Stack Overflow and googling everywhere... even though it seems like it should be a very simple command line to me, I just can’t find an answer anywhere.
I would like to change the frame rate of a video from 23.976fps to 24fps with FFmpeg, lossless and keeping the total number of frames.
To make it simpler :
Let’s say I have a 25fps video with a total lenght of 100 frames.
How can I change it’s frame rate to 50fps, with FFmpeg, lossless and keeping the same total lenght of 100 frames ?
This was so far the best solution I came across with (which can be found here) :
Extract the frames as rawvideo :
ffmpeg -i input.mov -f rawvideo -b 50000000 -pix_fmt yuv420p -vcodec
rawvideo -s 1920x1080 -y temp.rawRecreate the video with new framerate :
ffmpeg -f rawvideo -b 50000000 -pix_fmt yuv420p -r 24 -s 1920x1080 -i
temp.raw -y output.movNote 1 : I had to remove "-b 50000000" when recreating the video with the new frame rate, in order to get it to work properly.
It did exactly what I intended it to do, but I’m still wondering if there is any simpler way to do this ? I’ve tried to pipe them together in one line only, as suggested in the same post, but couldn’t get it to work.
Note 2 : Even though it does exactly what I wanted it to do, I’ve just later realized there is quality loss using this method, which I would prefer to avoid.
Thanks everyone in advance !