
Recherche avancée
Médias (1)
-
The Slip - Artworks
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
Autres articles (52)
-
Participer à sa traduction
10 avril 2011Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
Actuellement MediaSPIP n’est disponible qu’en français et (...) -
Supporting all media types
13 avril 2011, parUnlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)
-
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 (...)
Sur d’autres sites (6862)
-
Hide ffmpeg's console window when running YoutubeDL in GUI application
23 juin 2016, par SlaytherI’m developing a basic application which can download YouTube videos. Throughout the development, I had several quirks, including issues with formats.
I decided to use a hopefully foolproof format syntax that youtube-dl will happily download for me in almost any case.
Part of my YoutubeDL options look like this :
self.ydl_opts = {
'format': 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best',
'quiet': True,
'progress_hooks': [self.ydl_progress],
'outtmpl': None
}The outtmpl is inserted later on when output folder is chosen by the user.
Since I’m using this format string, youtube-dl uses ffmpeg to merge(?) the audio and video if they are downloaded separately.
When it does that, it opens very annoying console windows that capture the focus and interrupt other things I might be doing while the videos are downloading.
My question is, how can I prevent ffmpeg or youtube-dl from creating those console windows from appearing, aka. how can I hide them ?
EDIT :
I’ll provide bare bones script that reproduces the problem :
from __future__ import unicode_literals
from PyQt4 import QtGui, QtCore
import youtube_dl, sys
def on_progress(info):
print info.get("_percent_str", "Finished")
ydl_opts = {
'format': 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best',
'progress_hooks': [on_progress],
'quiet': True,
'outtmpl': "C:/Users/Raketa/Desktop/%(title)s.%(ext)s"
}
ydl = youtube_dl.YoutubeDL(ydl_opts)
class DownloadThread(QtCore.QThread):
def __init__(self):
super(DownloadThread, self).__init__()
self.start()
def __del__(self):
self.wait()
def run(self):
print "Download start"
ydl.download(["https://www.youtube.com/watch?v=uy7BiiOI_No"])
print "Download end"
class Application(QtGui.QMainWindow):
def __init__(self):
super(Application, self).__init__()
self.dl_thread = DownloadThread()
def run(self):
self.show()
def main():
master = QtGui.QApplication(sys.argv)
app = Application()
app.run()
sys.exit(master.exec_())
if __name__ == '__main__':
main()2(?) consoles appear at start of each download and 1 longer lasting console appears when both video and audio are downloaded. When downloading longer videos, the last console becomes unbearable.
Is it possible to get rid of those ?
-
A/libc : Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0
16 mai 2016, par PedroI’m working with javacv and when I try run my app with Android 6, it crashes.
The app only crash with android 6. I tested with android N, android 5 and android 4.4
the app crash when do a instance ofFFmpegFrameRecorder
class.
This is the code of my class :public class MainActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new FFmpegFrameRecorder("", 320, 240, 1);
}
}this is my log error :
--------- beginning of crash
05-16 14:46:15.845 6144-6144/com.example.pedro.ffmpeg30 A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 6144 (.pedro.ffmpeg30)
05-16 14:46:15.902 371-371/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
05-16 14:46:15.905 371-371/? A/DEBUG: Build fingerprint: 'google/shamu/shamu:6.0.1/MMB29K/2419427:user/release-keys'
05-16 14:46:15.910 371-371/? A/DEBUG: Revision: '0'
05-16 14:46:15.910 371-371/? A/DEBUG: ABI: 'arm'
05-16 14:46:15.915 371-371/? A/DEBUG: pid: 6144, tid: 6144, name: .pedro.ffmpeg30 >>> com.example.pedro.ffmpeg30 <<<
05-16 14:46:15.915 371-371/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
05-16 14:46:15.912 371-371/? W/debuggerd: type=1400 audit(0.0:525): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
05-16 14:46:15.912 371-371/? W/debuggerd: type=1400 audit(0.0:526): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
05-16 14:46:15.912 371-371/? W/debuggerd: type=1400 audit(0.0:527): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
05-16 14:46:15.912 371-371/? W/debuggerd: type=1400 audit(0.0:528): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
05-16 14:46:15.922 371-371/? W/debuggerd: type=1400 audit(0.0:529): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
05-16 14:46:15.922 371-371/? W/debuggerd: type=1400 audit(0.0:530): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
05-16 14:46:15.922 371-371/? W/debuggerd: type=1400 audit(0.0:531): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
05-16 14:46:15.922 371-371/? W/debuggerd: type=1400 audit(0.0:532): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
05-16 14:46:15.922 371-371/? W/debuggerd: type=1400 audit(0.0:533): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
05-16 14:46:15.922 371-371/? W/debuggerd: type=1400 audit(0.0:534): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
05-16 14:46:15.922 371-371/? W/debuggerd: type=1400 audit(0.0:535): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
05-16 14:46:15.922 371-371/? W/debuggerd: type=1400 audit(0.0:536): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
05-16 14:46:15.940 371-371/? A/DEBUG: r0 00000000 r1 00000002 r2 b6811031 r3 a0f5de7c
05-16 14:46:15.940 371-371/? A/DEBUG: r4 a0f59594 r5 b67c1a61 r6 b362f1a4 r7 00000001
05-16 14:46:15.940 371-371/? A/DEBUG: r8 b6f4c6ec r9 0000000b sl b362f1a4 fp b6f452fc
05-16 14:46:15.941 371-371/? A/DEBUG: ip fffffe8c sp bea86820 lr a0efcec1 pc a0efe58a cpsr 000d0030
05-16 14:46:15.932 371-371/? W/debuggerd: type=1400 audit(0.0:537): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
05-16 14:46:15.964 371-371/? A/DEBUG: backtrace:
05-16 14:46:15.965 371-371/? A/DEBUG: #00 pc 0001a58a /data/data/com.example.pedro.ffmpeg30/cache/javacpp23106072121027/libc.so
05-16 14:46:15.965 371-371/? A/DEBUG: #01 pc 00016695 /data/data/com.example.pedro.ffmpeg30/cache/javacpp23106072121027/libc.so
05-16 14:46:15.965 371-371/? A/DEBUG: #02 pc 00002465 /system/bin/linker (__dl__ZN6soinfo13call_functionEPKcPFvvE+48)
05-16 14:46:15.965 371-371/? A/DEBUG: #03 pc 0000252f /system/bin/linker (__dl__ZN6soinfo10call_arrayEPKcPPFvvEjb+134)
05-16 14:46:15.965 371-371/? A/DEBUG: #04 pc 000026f5 /system/bin/linker (__dl__ZN6soinfo17call_constructorsEv+160)
05-16 14:46:15.965 371-371/? A/DEBUG: #05 pc 00006115 /system/bin/linker (__dl__Z9do_dlopenPKciPK17android_dlextinfo+224)
05-16 14:46:15.966 371-371/? A/DEBUG: #06 pc 00001c95 /system/bin/linker (__dl_dlopen+20)
05-16 14:46:15.966 371-371/? A/DEBUG: #07 pc 0025b13b /system/lib/libart.so (art::JavaVMExt::LoadNativeLibrary(_JNIEnv*, std::__1::basic_string, std::__1::allocator<char> > const&, _jobject*, std::__1::basic_string, std::__1::allocator<char> >*)+650)
05-16 14:46:15.966 371-371/? A/DEBUG: #08 pc 002d13d7 /system/lib/libart.so (art::Runtime_nativeLoad(_JNIEnv*, _jclass*, _jstring*, _jobject*, _jstring*)+194)
05-16 14:46:15.962 371-371/? W/debuggerd: type=1400 audit(0.0:538): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
05-16 14:46:15.966 371-371/? A/DEBUG: #09 pc 738b0105 /data/dalvik-cache/arm/system@framework@boot.oat (offset 0x1ec9000)
05-16 14:46:16.339 863-6279/? W/ActivityManager: Force finishing activity com.example.pedro.ffmpeg30/.MainActivity
05-16 14:46:16.339 371-371/? A/DEBUG: Tombstone written to: /data/tombstones/tombstone_07
05-16 14:46:16.339 371-371/? E/DEBUG: AM write failed: Broken pipe
</char></char>I’m using the last version downloaded here :
http://search.maven.org/#search|ga|1|bytedecomy gradle dependencies :
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.3.0'
compile files('libs/javacv-1.2.jar')
compile files('libs/javacpp-1.2.jar')
compile files('libs/ffmpeg-3.0.2-1.2.jar')
compile files('libs/ffmpeg-3.0.2-1.2-android-arm.jar')
} -
Trying to fix VPlayer's seeking ability, need some guidance [Android FFmpeg]
1er juin 2016, par vxh.vietI’m trying to fix the currently broken seeking ability of VPlayer which is a FFmpeg player for Android. Being a Java developer, C code looks like alien language to me so can only fix it using common logic (which could make any C veteran have a good laugh).
The relevant file is player.c and I’ll try my best to point out the relevant modification.
So the basic idea is because FFmpeg’s
av_seek_frame
is very inaccurate even withAVSEEK_FLAG_ANY
so I’m trying to follow this suggestion to seek backward to the nearest keyframe and then decode to the frame I want. One addition note is since I want to seek based on millisecond while the said solution show the way to seek by frame which is potentially a source of problem.In the
Player
I add the following fields :struct Player{
....
AVFrame *frame;
int64_t current_time_stamp;
};In the
player_read_from_stream
I modify the seeking part as :void * player_read_from_stream(void *data) {
...
struct DecoderData *decoder_data = data;
int stream_no = decoder_data->stream_no;
AVCodecContext * ctx = player->input_codec_ctxs[stream_no];
...
// seeking, start my stuff
if(av_seek_frame(player->input_format_ctx, seek_input_stream_number, seek_target, AVSEEK_FLAG_BACKWARD) >= 0){
//seek to key frame success, now need to read every frame from the key frame to our target time stamp
while(player->current_time_stamp < seek_target){
int frame_done;
while (av_read_frame(player->input_format_ctx, &packet) >= 0) {
if (packet.stream_index == seek_input_stream_number) {
avcodec_decode_video2(ctx, player->frame, &frame_done, &packet);
LOGI(1,"testing_stuff ctx %d", *ctx);
if (frame_done) {
player->current_time_stamp = packet.dts;
LOGI(1,"testing_stuff current_time_stamp: %"PRId64, player->current_time_stamp);
av_free_packet(&packet);
return;
}
}
av_free_packet(&packet);
}
}
}
//end my stuff
LOGI(3, "player_read_from_stream seeking success");
int64_t current_time = av_gettime();
player->start_time = current_time - player->seek_position;
player->pause_time = current_time;
}And in
player_alloc_frames
I allocate the memory for my frame as :int player_alloc_frames(struct Player *player) {
int capture_streams_no = player->caputre_streams_no;
int stream_no;
for (stream_no = 0; stream_no < capture_streams_no; ++stream_no) {
player->input_frames[stream_no] = av_frame_alloc();
//todo: test my stuff
player->frame = av_frame_alloc();
//end test
if (player->input_frames[stream_no] == NULL) {
return -ERROR_COULD_NOT_ALLOC_FRAME;
}
}
return 0;
}Currently it just keep crashing and being a typical Android NDK’s "feature", it just provide a super helpful stack trace :
libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x40 in tid 2717 (FFmpegReadFromS)
I very much appreciate if anyone could help me solve this problem. Thank you for your time.