
Recherche avancée
Médias (91)
-
DJ Z-trip - Victory Lap : The Obama Mix Pt. 2
15 septembre 2011
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Matmos - Action at a Distance
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
DJ Dolores - Oslodum 2004 (includes (cc) sample of “Oslodum” by Gilberto Gil)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Danger Mouse & Jemini - What U Sittin’ On ? (starring Cee Lo and Tha Alkaholiks)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Cornelius - Wataridori 2
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
The Rapture - Sister Saviour (Blackstrobe Remix)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (46)
-
MediaSPIP : Modification des droits de création d’objets et de publication définitive
11 novembre 2010, parPar défaut, MediaSPIP permet de créer 5 types d’objets.
Toujours par défaut les droits de création et de publication définitive de ces objets sont réservés aux administrateurs, mais ils sont bien entendu configurables par les webmestres.
Ces droits sont ainsi bloqués pour plusieurs raisons : parce que le fait d’autoriser à publier doit être la volonté du webmestre pas de l’ensemble de la plateforme et donc ne pas être un choix par défaut ; parce qu’avoir un compte peut servir à autre choses également, (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...) -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)
Sur d’autres sites (8683)
-
vf_codecview.c printing motion vectors in 'future' only
21 février 2018, par helmoI am trying to understand the way ffmpeg draws motion vectors.
I went through the
vf_codecview.c
file and saw the functiondraw_arrow
which takes only those vectors wheresource > 0
implying only those from the future.Does anyone know why is this ? And what’s the use of computing past and future, if ffmpeg through this file takes only the future ?
-
Update README.md
14 novembre 2017, par murilolobatoUpdate README.md
Applied suggestions
-
FFMPEG filter is not implementing
31 août 2017, par Alok Kumar VermaI’m using FFMPEG for applying and saving the file to the specified path. Since I’m new to FFMPEG so I’ve followed this link to import the FFMPEG libraries inside my project.
FFMPEG libraries are working fine inside my project. Now I’ve followed FFMPEG Commands link for applying filters using commands. For now i’m using vintage filter command to check whether it is working or not
I’ve followed FFMPEG Project in Android link to apply the filters and save it to my storage path.
I’m using a file from my storage path to apply filter for the same and saving them inside the specified path. The problem is that the command is implementing(doubtful) but no file is getting saved with the filters, nor I get any exception or any error in my logcat. I"m very doubtful whether what is being left to get the desired result.
This is my code where I’m using the FFMPEG for applying filters and saving them in the specified path.
FilterAcitivity.java
public class FilterActivity extends AppCompatActivity {
private ArrayList<string> videoReceiveddata = null;
private EPlayerView ePlayerView;
private StringBuilder stringBuilder;
private DataSource.Factory dataSourceFactory;
private ExtractorsFactory extractorsFactory;
private Button play,stop,noneFilter,faded,noir,instant;
private FFmpeg fFmpeg;
private int choice = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_filter);
Bundle videoExtras = getIntent().getExtras();
videoReceiveddata = videoExtras.getStringArrayList("sendData");
Log.e("RECEIVED_VIDEO====", videoReceiveddata.toString());
stringBuilder = new StringBuilder();
for(String path : videoReceiveddata){
stringBuilder.append(path);
}
//laoding the ffmpeg binary files
loadFFMEPGBinary();
BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
TrackSelection.Factory videoTrackSelectionFactory =
new AdaptiveTrackSelection.Factory(bandwidthMeter);
TrackSelector trackSelector =
new DefaultTrackSelector(videoTrackSelectionFactory);
// Measures bandwidth during playback. Can be null if not required.
DefaultBandwidthMeter defaultBandwidthMeter = new DefaultBandwidthMeter();
// Produces DataSource instances through which media data is loaded.
dataSourceFactory = new DefaultDataSourceFactory(getApplicationContext(),
Util.getUserAgent(getApplicationContext(), "TestApp"), defaultBandwidthMeter);
// Produces Extractor instances for parsing the media data.
extractorsFactory = new DefaultExtractorsFactory();
// This is the MediaSource representing the media to be played.
MediaSource videoSource = new ExtractorMediaSource(Uri.parse(stringBuilder.toString()),
dataSourceFactory, extractorsFactory, null, null);
// 2. Create the player
final SimpleExoPlayer player =
ExoPlayerFactory.newSimpleInstance(getApplicationContext(), trackSelector);
player.prepare(videoSource);
ePlayerView = (EPlayerView) findViewById(R.id.ePlayer);
ePlayerView.setSimpleExoPlayer(player);
ePlayerView.onResume();
play = (Button) findViewById(R.id.playButton);
stop = (Button) findViewById(R.id.stopButton);
faded = (Button) findViewById(R.id.fadedFilter);
noneFilter = (Button) findViewById(R.id.noFilter);
noir = (Button) findViewById(R.id.noirFilter);
instant = (Button) findViewById(R.id.instantFilter);
play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
MediaSource videoSource = new ExtractorMediaSource(Uri.parse(stringBuilder.toString()),
dataSourceFactory, extractorsFactory, null, null);
player.prepare(videoSource);
player.setPlayWhenReady(true);
}
});
stop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
player.stop();
}
});
noneFilter.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
choice = 1;
ePlayerView.setGlFilter(new GlFilter());
}
});
faded.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
choice = 2;
ePlayerView.setGlFilter(new GlSepiaFilter());
Log.e("Filter Applied",ePlayerView.toString());
Log.e("Filter Applied====",stringBuilder.toString());
}
});
}
//loading binary of ffmpeg
private void loadFFMEPGBinary() {
try {
if (fFmpeg == null) {
Log.e("TEST=====", "ffmpeg : null");
fFmpeg = FFmpeg.getInstance(this);
}
fFmpeg.loadBinary(new LoadBinaryResponseHandler() {
@Override
public void onFailure() {
showUnsupportedExceptionDialog();
}
@Override
public void onSuccess() {
Log.d("TESTAPP====", "ffmpef : coorect loaded");
}
});
} catch (FFmpegNotSupportedException e) {
showUnsupportedExceptionDialog();
} catch (Exception e) {
Log.d("TESTAPP=====", "Exception not supported" + e);
}
}
private void showUnsupportedExceptionDialog() {
new AlertDialog.Builder(FilterActivity.this)
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle("Not Supported")
.setMessage("Device Not Supported")
.setCancelable(false)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
FilterActivity.this.finish();
}
})
.create()
.show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.filter_menu,menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.save:
if(choice == 1){
addThatFilter();
}else if(choice == 2){
Toast.makeText(getApplicationContext(),"No filter",
Toast.LENGTH_SHORT).show();
}
default:
return super.onOptionsItemSelected(item);
}
}
private void addThatFilter() {
String savingPath = Environment.getExternalStorageDirectory().getAbsolutePath().toString()
+ "/FilterVideo.mp4";
String complexCommand = "ffmpeg -y -i"+ stringBuilder.toString() +"-strict experimental -vf " +
"curves=vintage -s 640x480 -r 30 -aspect 4:3 -ab 48000 -ac 2 -ar 22050 -b 2097k -vcodec " +
savingPath;
execFFMPEGBinary(complexCommand);
}
private void execFFMPEGBinary( final String complexCommand) {
try{
fFmpeg.execute(new String[]{complexCommand}, new ExecuteBinaryResponseHandler(){
@Override
public void onFailure(String message) {
Log.e("Failed with output", message);
}
@Override
public void onSuccess(String message) {
Toast.makeText(getApplicationContext(),"Success!",Toast.LENGTH_SHORT)
.show();
}
});
}catch (FFmpegCommandAlreadyRunningException e){
//do nothing
}
} }
</string>