
Recherche avancée
Autres articles (36)
-
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Les formats acceptés
28 janvier 2010, parLes commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
ffmpeg -codecs ffmpeg -formats
Les format videos acceptés en entrée
Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
Les formats vidéos de sortie possibles
Dans un premier temps on (...) -
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 (...)
Sur d’autres sites (6809)
-
Google AppEngine flex as a transcoder [closed]
6 septembre 2021, par jACKSituation :


- 

- A Nodejs/Express application running on appengine flex.
- Using FFmpeg to cut videos, and merge different types of videos. 1080p 30fps videos, merged video duration usually around 8 hours.
- Need for a massive amout of processing power for those edits.
- The express server needs to be reachable 24/7 & flex is incredibly expensive if run on a 24/7 basis.










Goal :


- 

- To have a cost efficient ffmpeg transcoder on a private enviroment =>
- Flex instance as a maximum spec, but as its idle reduce the price significantly.






Or is this a situation where a redesign is imminent ? eg. Compute Engine


Tried approach


- 

- B8 Standard instance => Since the payload is pretty big, its causing the B8 instance to crash.




Thanks.


-
ffmpeg : Convert a legally purchased video on Google
24 avril 2020, par HeycavaI've bought a video on the Google Play Store. I need to have it on my computer in order to edit it for a video montage. But Google says "Important : You cannot download movies and TV shows onto a PC, Mac, and other laptops or computers."



The video has a YouTube link. As I paid for it, I can watch it. I've managed to get the video part and the audio thanks to some web tools.
The video is a .webm file and the audio a .m4a file.



I can hear the audio with VLC but I can't watch the video. Even if VLC displays "21:42" for the timecode.



Here are informations for the webm file (from MediaInfo) :



General
Complete name : XXX\videoplayback.webm
Format : WebM
Format version : Version 4 / Version 2
File size : 357 MiB
Duration : 21 min 42 s
Overall bit rate : 2 301 kb/s
Writing application : google/video-file
Writing library : google/video-file

Video
ID : 1
Format : VP9
Codec ID : V_VP9
Duration : 21 min 42 s
Bit rate : 2 203 kb/s
Width : 854 pixels
Height : 480 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Bits/(Pixel*Frame) : 0.224
Stream size : 342 MiB (96%)
Language : English
Default : Yes
Forced : No




It seems to be a good video file.



I wanted to convert it with some video converters but none of them works. So I've tried to download ffmpeg, I renamed the video to "video.webm" and tried a lot of commands. But none of them worked.



Here are informations from ffprobe command :



C:\Users\XXX\Downloads\ffmpeg-20200424-a501947-win64-static\bin>ffprobe -i video.webm




Results :



ffprobe version git-2020-04-24-a501947 Copyright (c) 2007-2020 the FFmpeg developers
 built with gcc 9.3.1 (GCC) 20200328
 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
 libavutil 56. 42.102 / 56. 42.102
 libavcodec 58. 81.100 / 58. 81.100
 libavformat 58. 42.101 / 58. 42.101
 libavdevice 58. 9.103 / 58. 9.103
 libavfilter 7. 79.100 / 7. 79.100
 libswscale 5. 6.101 / 5. 6.101
 libswresample 3. 6.100 / 3. 6.100
 libpostproc 55. 6.100 / 55. 6.100
[vp9 @ 00000284720d5f40] Invalid frame marker
 Last message repeated 111 times
[vp9 @ 00000284720d5f40] Profile 4 is not yet supported
[vp9 @ 00000284720d5f40] Invalid frame marker
 Last message repeated 6 times
[matroska,webm @ 00000284720cd840] decoding for stream 0 failed
[matroska,webm @ 00000284720cd840] Could not find codec parameters for stream 0 (Video: vp9 (Profile 0), none, 854x480): unspecified pixel format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, matroska,webm, from 'video.webm':
 Metadata:
 encoder : google/video-file
 Duration: 00:21:42.05, start: 0.000000, bitrate: 2301 kb/s
 Stream #0:0(eng): Video: vp9 (Profile 0), none, 854x480, SAR 1:1 DAR 427:240, 23.98 fps, 23.98 tbr, 1k tbn, 1k tbc (default)
 Metadata:
 enc_key_id : [24 characters I prefer not to display]




If ever I initiate a conversion, I get :



[vp9 @ 0000019038a80980] Invalid frame marker
[vp9 @ 0000019038c0fe40] Invalid frame marker
[vp9 @ 0000019038c193c0] Invalid frame marker
[vp9 @ 0000019038c1e780] Invalid frame marker
[vp9 @ 0000019038c29100] Invalid frame marker
[vp9 @ 0000019038c324c0] Invalid frame marker
[vp9 @ 0000019038c3d480] Invalid frame marker
[vp9 @ 0000019038c47280] Invalid frame marker
Error while decoding stream #0:0: Invalid data found when processing input
[vp9 @ 0000019038c4c080] Invalid frame marker
Error while decoding stream #0:0: Invalid data found when processing input
[vp9 @ 0000019038a80980] Invalid frame marker




etc.
Then :



Error while decoding stream #0:0: Resource temporarily unavailable
 Last message repeated 243 times
Error while decoding stream #0:0: Resource temporarily unavailabletrate= -0.0kbits/s speed=N/A
 Last message repeated 306 times
Error while decoding stream #0:0: Resource temporarily unavailabletrate= -0.0kbits/s speed=N/A
 Last message repeated 190 times




I've already checked on the Internet solutions for the raised issues :



- 

- Invalid frame marker
- unspecified pixel format
- Consider increasing the value for the 'analyzeduration' and 'probesize' options









But it didn't work in my case.



Obviously, I can watch the video on YouTube when I'm logged into my purchase account. I presume they have a high level security algorithm, that's why I can't do nothing. Mayve there is something with the "enc_key_id" in the metadata, they get it and the video can only be read with it. I don't know.



I find it unacceptable not to be able to use freely my purchased videos.



Would anyone have an idea ?


-
Converting video to GIF in Android Studio
21 novembre 2019, par WolfiebaeI am trying to make my app to accept videos from the phone’s library to be uploaded and converted into GIF format. My code is giving out this build error though :-
error: <anonymous> is not abstract and does not override abstract method onReschedule(String,ErrorInfo) in UploadCallback
</anonymous>and also this warning on my onActivityResult method :-
Overriding method should call super.onActivityResult
The code is as below : -
public class Video2gif extends AppCompatActivity {
private Button uploadBtn;
private ProgressBar progressBar;
private int SELECT_VIDEO = 2;
private ImageView img1;
private DownloadManager downloadManager;
private Button download_btn;
private String gifUrl;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video2gif);
MediaManager.init(this);
progressBar = findViewById(R.id.progress_bar);
MediaManager.init(this);
img1 = findViewById(R.id.img1);
uploadBtn = findViewById(R.id.uploadBtn);
uploadBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
pickVideoFromGallery();
}
private void pickVideoFromGallery() {
Intent GalleryIntent = new Intent();
GalleryIntent.setType("video/*");
GalleryIntent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(GalleryIntent,
"select video"), SELECT_VIDEO);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, final Intent data) {
if (requestCode == SELECT_VIDEO && resultCode == RESULT_OK) {
Uri selectedVideo = data.getData();
MediaManager.get()
.upload(selectedVideo)
.unsigned("myid")
.option("resource_type", "video")
.callback(new UploadCallback(){
@Override
public void onStart(String requestId) {
progressBar.setVisibility(View.VISIBLE);
Toast.makeText(Video2gif.this,
"Upload Started...", Toast.LENGTH_SHORT).show();
}
public void onProgress() {
}
public void onSuccess(String requestId, Map resultData) {
Toast.makeText(Video2gif.this, "Uploaded Succesfully",
Toast.LENGTH_SHORT).show();
progressBar.setVisibility(View.GONE);
uploadBtn.setVisibility(View.INVISIBLE);
String publicId = resultData.get("public_id").toString();
gifUrl = MediaManager.get().url().resourceType("video")
.transformation(new Transformation().videoSampling("25")
.delay("200").height(200).effect("loop:10").crop("scale"))
.resourceType("video").generate(publicId+".gif");
Glide.with(getApplicationContext()).asGif().load(gifUrl).into(img1);
download_btn.setVisibility(View.VISIBLE);
}
public void onError(String requestId, ErrorInfo error) {
Toast.makeText(Video2gif.this,
"Upload Error", Toast.LENGTH_SHORT).show();
Log.v("ERROR!!", error.getDescription());
}
});
}
}
}I am also using Cloudinary to help process the video to GIF. Any help would be appreciated, many thanks !