
Recherche avancée
Autres articles (100)
-
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 (...) -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Activation de l’inscription des visiteurs
12 avril 2011, parIl est également possible d’activer l’inscription des visiteurs ce qui permettra à tout un chacun d’ouvrir soit même un compte sur le canal en question dans le cadre de projets ouverts par exemple.
Pour ce faire, il suffit d’aller dans l’espace de configuration du site en choisissant le sous menus "Gestion des utilisateurs". Le premier formulaire visible correspond à cette fonctionnalité.
Par défaut, MediaSPIP a créé lors de son initialisation un élément de menu dans le menu du haut de la page menant (...)
Sur d’autres sites (9054)
-
Got a crash when I run a ffmpeg comand on an certain phone
31 août 2016, par Kingty Tenghere is the code I change from ffmpeg.c ,it can be run correct.
BUT,IT ALWAYS crashed on an cenrtain phone after run this code.JNIEXPORT jstring JNICALL Java_com_p1_mobile_android_media_VideoKit_run(
JNIEnv* env, jobject thiz, jobjectArray strArray)
{
int ret, i, pid;
int pipeFD[2];
char retBuffer[2];
char resultString[4096];
int argc = (*env)->GetArrayLength(env, strArray);
char ** argv = (char **)malloc(sizeof(char*)*argc);
for (i = 0; i < argc; i++) {
argv[i] = (*env)->GetStringUTFChars(env,
(jstring)(*env)->GetObjectArrayElement(env, strArray, i), NULL);
}
// reset to FAIL
ret = 1;
memset(retBuffer, 0, sizeof(retBuffer));
memset(resultString, 0, sizeof(resultString));
pipe(pipeFD);
pid = fork();
if (pid < 0) {
goto done;
} else if (pid == 0) {
// in child process, do command work
close(pipeFD[0]);
init();
av_log_set_callback(log_callback);
ret = run_ffempeg_command(argc, argv);
s_task_completed = 1;
sprintf(retBuffer, "%d", ret);
write(pipeFD[1], retBuffer, sizeof(retBuffer));
char * result_record = get_record_result();
if (result_record != NULL && strlen(result_record) > 0) {
sprintf(resultString, "%s", result_record);
} else {
if (ret == 0 && s_task_completed == 1) {
sprintf(resultString, "%s", "SUCCESS");
} else {
sprintf(resultString, "%s", "FAIL");
}
}
write(pipeFD[1], resultString, sizeof(resultString));
exit(0);
} else {
close(pipeFD[1]);
read(pipeFD[0], retBuffer, sizeof(retBuffer));
ret = (retBuffer[0] == '1') ? 1 : 0;
memset(resultString, 0, sizeof(resultString));
read(pipeFD[0], resultString, sizeof(resultString));
}
done:
for (i=0; iReleaseStringUTFChars(env,
(jstring)(*env)->GetObjectArrayElement(env, strArray, i), argv[i]);
}
free(argv);
//close();
if (strlen(resultString) > 0) {
// workaround for UTF-8 issue
jbyteArray array = (*env)->NewByteArray(env, sizeof(resultString));
(*env)->SetByteArrayRegion(env, array, 0, sizeof(resultString), resultString);
jstring strEncode = (*env)->NewStringUTF(env, "UTF-8");
jclass cls = (*env)->FindClass(env, "java/lang/String");
jmethodID ctor = (*env)->GetMethodID(env, cls, "<init>", "([BLjava/lang/String;)V");
jstring object = (jstring) (*env)->NewObject(env, cls, ctor, array, strEncode);
return object;
} else {
return (*env)->NewStringUTF(env, "FAIL");
}
}
</init>here is the crash log.almost phone can run this well,only on one phone after run the jni ,any button i touched will bring this crash
,it’s really appreciate if anybody can help08-31 14:59:23.580 279-279/? D/AEE/AED: $===AEE===AEE===AEE===$
08-31 14:59:23.580 279-279/? D/AEE/AED: p 0 poll events 1 revents 0
08-31 14:59:23.580 279-279/? D/AEE/AED: not know revents:0
08-31 14:59:23.580 279-279/? D/AEE/AED: p 1 poll events 1 revents 0
08-31 14:59:23.580 279-279/? D/AEE/AED: not know revents:0
08-31 14:59:23.580 279-279/? D/AEE/AED: p 2 poll events 1 revents 1
08-31 14:59:23.580 279-279/? D/AEE/AED: aed_main_fork_worker: generator 0xf7017148, worker 0xffbe76d8, recv_fd 0
08-31 14:59:23.580 279-279/? D/AEE/AED: p 3 poll events 1 revents 0
08-31 14:59:23.580 279-279/? D/AEE/AED: not know revents:0
08-31 14:59:23.580 279-279/? D/AEE/AED: p 4 poll events 1 revents 0
08-31 14:59:23.580 279-279/? D/AEE/AED: not know revents:0
08-31 14:59:23.580 279-279/? D/AEE/AED: p 5 poll events 0 revents 0
08-31 14:59:23.580 279-279/? D/AEE/AED: not know revents:0
08-31 14:59:23.580 8546-8546/? I/AEE/AED: handle_request(0)
08-31 14:59:23.581 8546-8546/? I/AEE/AED: check process 29910 name:1.mobile.putong
08-31 14:59:23.581 8546-8546/? I/AEE/AED: tid 29961 abort msg address is:0x83b09000, si_code is:-6 (request from 29910:10152)
08-31 14:59:23.581 8546-8546/? I/AEE/AED: BOOM: pid=29910 uid=10152 gid=10152 tid=29961
08-31 14:59:23.582 8546-8546/? I/AEE/AED: [OnPurpose Redunant in void preset_info(aed_report_record*, int, int)] pid: 29910, tid: 29961, name: RenderThread >>> com.p1.mobile.putong <<<
08-31 14:59:23.634 8546-8546/? I/AEE/AED: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
08-31 14:59:23.634 8546-8546/? I/AEE/AED: Build fingerprint: 'Letv/Le1s_CN/X3:5.0.2/DBXCNOP5501304201S/66:user/release-keys'
08-31 14:59:23.634 8546-8546/? I/AEE/AED: Revision: '0'
08-31 14:59:23.634 8546-8546/? I/AEE/AED: ABI: 'arm'
08-31 14:59:23.635 8546-8546/? I/AEE/AED: pid: 29910, tid: 29961, name: RenderThread >>> com.p1.mobile.putong <<<
08-31 14:59:23.635 8546-8546/? I/AEE/AED: signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
08-31 14:59:23.662 8546-8546/? I/AEE/AED: Abort message: 'Failed to make current on surface 0x8c8b6e40, error=EGL_BAD_NATIVE_WINDOW'
08-31 14:59:23.662 8546-8546/? I/AEE/AED: r0 00000000 r1 00007509 r2 00000006 r3 00000000
08-31 14:59:23.662 8546-8546/? I/AEE/AED: r4 863fddc8 r5 00000006 r6 0000000b r7 0000010c
08-31 14:59:23.662 8546-8546/? I/AEE/AED: r8 675bdb6c r9 863fdd30 sl 863fdd28 fp 675bdba8
08-31 14:59:23.662 8546-8546/? I/AEE/AED: ip 00007509 sp 863fd838 lr 4002ee43 pc 4005206c cpsr 600f0010
08-31 14:59:23.662 8546-8546/? I/AEE/AED: backtrace:
08-31 14:59:23.662 8546-8546/? I/AEE/AED: #00 pc 0003a06c /system/lib/libc.so (tgkill+12)
08-31 14:59:23.662 8546-8546/? I/AEE/AED: #01 pc 00016e3f /system/lib/libc.so (pthread_kill+66)
08-31 14:59:23.662 8546-8546/? I/AEE/AED: #02 pc 00017a0b /system/lib/libc.so (raise+10)
08-31 14:59:23.662 8546-8546/? I/AEE/AED: #03 pc 00014317 /system/lib/libc.so (__libc_android_abort+34)
08-31 14:59:23.662 8546-8546/? I/AEE/AED: #04 pc 00012a4c /system/lib/libc.so (abort+4)
08-31 14:59:23.662 8546-8546/? I/AEE/AED: #05 pc 000083c1 /system/lib/libcutils.so (__android_log_assert+88)
08-31 14:59:23.662 8546-8546/? I/AEE/AED: #06 pc 0003f07b /system/lib/libhwui.so
08-31 14:59:23.662 8546-8546/? I/AEE/AED: #07 pc 0003d9e1 /system/lib/libhwui.so
08-31 14:59:23.662 8546-8546/? I/AEE/AED: #08 pc 0003ec23 /system/lib/libhwui.so
08-31 14:59:23.662 8546-8546/? I/AEE/AED: #09 pc 0003ed1b /system/lib/libhwui.so
08-31 14:59:23.662 8546-8546/? I/AEE/AED: #10 pc 00040257 /system/lib/libhwui.so
08-31 14:59:23.662 8546-8546/? I/AEE/AED: #11 pc 00040eab /system/lib/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+66)
08-31 14:59:23.662 8546-8546/? I/AEE/AED: #12 pc 00010973 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+110)
08-31 14:59:23.662 8546-8546/? I/AEE/AED: #13 pc 000609dd /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+72)
08-31 14:59:23.662 8546-8546/? I/AEE/AED: #14 pc 000165bf /system/lib/libc.so (__pthread_start(void*)+30)
08-31 14:59:23.662 8546-8546/? I/AEE/AED: #15 pc 0001466b /system/lib/libc.so (__start_thread+6)
08-31 14:59:33.720 8546-8546/? E/AEE/AED: timed out waiting for tid=29910 to stop
08-31 14:59:33.821 8546-8546/? E/AEE/AED: timed out waiting for tid=29915 to stop
08-31 14:59:36.912 8546-8546/? E/AEE/AED: timed out waiting for tid=8434 to stop -
Recording a webpage stream with multiple requests using PhantomJS & ffmpeg to /dev/stdout leads to ffmpeg error
2 septembre 2016, par Allisson FerreiraFirst of all, sorry for my english.
I’m in a quest for days. I’ve researched everywhere and I couldn’t find an answer to my problem.
I’m using Nodejs, Phantomjs and ffmpeg in this scenary :
- An user enters the site, login with facebook and he can ask for a video with his name and some random photos (gathered by /me/ & sent via JSON POST) ;
- Node receive the user data, creates a child process (PhantomJS + ffmpeg) and awaits for a response to send the video URL to the user.
When I run a single instance of this request, everything is working fine. BUT, when two or more users make the request, only one video is sent and the others process end up in a ffmpeg stream error.
I think the reason is that all the ffmpeg processes are using the same place (/dev/stdout). Since one process is already using it, the others enters in a "can’t access" error. But it is a assumption, I don’t know how /dev/stdout really works.
Here are my codes. (I have removed some lines and renamed some variables for better understanding, sorry for any mistake)
index.js :
var generateVideo = 'phantomjs phantom.js '+videoID+' '+userID+' | ffmpeg -vcodec png -f image2pipe -r 30 -i - -pix_fmt yuv420p public/videos/'+userID+'/'+videoID+'.mp4 -y';
childProcess.exec(generateVideo, function(err, stdout, stderr) {
var json = {};
json.video = '/videos/'+userID+'/'+videoID+'.mp4';
res.send(json);
});phantom.js :
var page = require('webpage').create();
page.viewportSize = { width: 1366, height: 768 };
page.settings.resourceTimeout = 10000;
var args = require('system').args;
var videoID = args[1];
var userID = args[2];
page.open('http://localhost:3000/recordvideo/'+videoID, 'post', function(status){
var frame = 0;
var target_fps = 30;
var maxframes = page.evaluate(function () {
return getTotalDurationInSeconds();
}) * target_fps;
setInterval(function(){
page.render('/dev/stdout', { format: "png" });
if( frame >= maxframes ){
phantom.exit();
}
frame++;
}, (1000 / target_fps));
});And the error :
[Error: Command failed: /bin/sh -c phantomjs phantom.js XXXXXXXX XXXXXXXX | ffmpeg -vcodec png -f image2pipe -r 30 -i - -pix_fmt yuv420p public/videos/XXXXXXXX/XXXXXXXX.mp4 -y
www-0 ffmpeg version N-80901-gfebc862 Copyright (c) 2000-2016 the FFmpeg developers
www-0 built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
www-0 configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --mandir=/usr/share/man --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libfreetype --enable-gnutls --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvidstab
www-0 libavutil 55. 28.100 / 55. 28.100
www-0 libavcodec 57. 48.101 / 57. 48.101
www-0 libavformat 57. 41.100 / 57. 41.100
www-0 libavdevice 57. 0.102 / 57. 0.102
www-0 libavfilter 6. 47.100 / 6. 47.100
www-0 libavresample 3. 0. 0 / 3. 0. 0
www-0 libswscale 4. 1.100 / 4. 1.100
www-0 libswresample 2. 1.100 / 2. 1.100
www-0 libpostproc 54. 0.100 / 54. 0.100
www-0 [png @ 0x3d7c4a0] Invalid PNG signature 0x46726F6D20506861.
www-0 [image2pipe @ 0x3d72780] decoding for stream 0 failed
www-0 [image2pipe @ 0x3d72780] Could not find codec parameters for stream 0 (Video: png, none(pc)): unspecified size
www-0 Consider increasing the value for the 'analyzeduration' and 'probesize' options
www-0 Input #0, image2pipe, from 'pipe:':
www-0 Duration: N/A, bitrate: N/A
www-0 Stream #0:0: Video: png, none(pc), 30 tbr, 30 tbn, 30 tbc
www-0 [buffer @ 0x3d81540] Unable to parse option value "0x0" as image size
www-0 [buffer @ 0x3d81540] Unable to parse option value "-1" as pixel format
www-0 [buffer @ 0x3d81540] Unable to parse option value "0x0" as image size
www-0 [buffer @ 0x3d81540] Error setting option video_size to value 0x0.
www-0 [graph 0 input from stream 0:0 @ 0x3d72600] Error applying options to the filter.
www-0 Error opening filters!
www-0 ]I really hope that I can find an answer here !
And sorry if there already is an answer for this. But I researched for days.Thank you in advance !
-
Nginx rtmp live stream with ffmpeg Transcoding , ffmpeg dont work
7 septembre 2016, par loip104Hy i am trying to receive a stream convert and give out on rtmp
my nginx config
#user nobody;
worker_processes 1;
error_log logs/error.log debug;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935;
chunk_size 8192;
application big {
live on;
exec ffmpeg -i rtmp://127.0.0.1/big/test -vcodec libx264 -preset veryfast -b:v 2000k -maxrate 2000k -bufsize 2000k -s 1280x720 -sws_flags lanczos -r 60 -acodec copy -f flv rtmp://127.0.0.1/live/test;
}
application live {
live on;
}
}
}Her is the nginx log file , nginx start —> OBS connected
2016/09/07 20:57:49 [notice] 9841#0: using the "epoll" event method
2016/09/07 20:57:49 [notice] 9841#0: nginx/1.9.15
2016/09/07 20:57:49 [notice] 9841#0: built by gcc 4.9.2 (Debian 4.9.2-10)
2016/09/07 20:57:49 [notice] 9841#0: OS: Linux 3.16.0-4-amd64
2016/09/07 20:57:49 [notice] 9841#0: getrlimit(RLIMIT_NOFILE): 65536:65536
2016/09/07 20:57:49 [notice] 9842#0: start worker processes
2016/09/07 20:57:49 [notice] 9842#0: start worker process 9843
2016/09/07 20:57:51 [info] 9843#0: *1 client connected '**.**.**.234'
2016/09/07 20:57:52 [info] 9843#0: *1 connect: app='live' args='' flashver='LNX 9,0,124,2' swf_url='' tc_url='rtmp://sb2.stream-booster.ovh:1935/live' page_url='' acodecs=4071 vcodecs=252 object_encoding=0, client: **.**.**.234, server: 0.0.0.0:1935
2016/09/07 20:57:52 [info] 9843#0: *1 createStream, client: **.**.**.234, server: 0.0.0.0:1935
2016/09/07 20:57:52 [info] 9843#0: *1 play: name='test' args='' start=-2000 duration=0 reset=0 silent=0, client: **.**.**.234, server: 0.0.0.0:1935
2016/09/07 20:58:17 [info] 9843#0: *2 client connected '**.**.**.234'
2016/09/07 20:58:17 [info] 9843#0: *2 connect: app='big' args='' flashver='FMLE/3.0 (compatible; obs-studi' swf_url='rtmp://sb2.***.ovh/big' tc_url='rtmp://sb2.***.ovh/big' page_url='' acodecs=0 vcodecs=0 object_encoding=0, client: **.**.**.234, server: 0.0.0.0:1935
2016/09/07 20:58:18 [info] 9843#0: *2 createStream, client: **.**.**.234, server: 0.0.0.0:1935
2016/09/07 20:58:18 [info] 9843#0: *2 publish: name='test' args='' type=live silent=0, client: **.**.**.234, server: 0.0.0.0:1935
2016/09/07 20:58:18 [info] 9843#0: *2 exec: starting managed child 'ffmpeg', client: **.**.**.234, server: 0.0.0.0:1935
2016/09/07 20:58:18 [info] 9843#0: *2 exec: child 9844 exited; ignoring, client: **.**.**.234, server: 0.0.0.0:1935
2016/09/07 20:58:18 [info] 9843#0: *2 exec: terminating child 9844, client: **.**.**.234, server: 0.0.0.0:1935
2016/09/07 20:58:18 [notice] 9843#0: signal 17 (SIGCHLD) received
2016/09/07 20:58:18 [notice] 9843#0: unknown process 9844 exited with code 1
2016/09/07 20:58:18 [info] 9843#0: epoll_wait() failed (4: Interrupted system call)But i dont get a Output on "rtmp ://127.0.0.1/live/test"
if i start ffmpeg on terminal all work fine , i think nginx dont execute the command ?
how i get this ?