
Recherche avancée
Médias (2)
-
Core Media Video
4 avril 2013, par
Mis à jour : Juin 2013
Langue : français
Type : Video
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (103)
-
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela. -
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
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 (...)
Sur d’autres sites (12061)
-
Senior Software Engineer to join Piwik Product Engineering team
10 janvier 2015, par Matthieu Aubry — JobsAt Piwik and Piwik PRO we develop the leading open source web analytics platform, used by more than one million websites worldwide. Our vision is to help the world liberate their analytics data by building the best open alternative to Google Analytics.
The Piwik platform collects, stores and processes a lot of information : hundreds of millions of data points each month. We create intuitive, simple and beautiful reports that delight our users.
Are you seeking a new challenge ? We are currently looking for a full time Software Developer to join our small and dedicated Product Engineering team.
At Piwik PRO we practise agile methodology, test driven development and fast release cycles. The main technologies we work with are PHP5, JavaScript (AngularJS, jQuery) and MySQL and our tools include PhpStorm, Github, Travis CI and Slack.
As a Software Developer for Piwik PRO, you will be writing open source code that will directly benefit 250,000+ Piwik users in 200+ countries and 50 languages.
Key Responsibilities
- Writing server-side code (PHP 5) and front-end code (JavaScript).
- Creating robust high-volume production applications and developing prototypes quickly.
- Tackling new problems as we continue to push technology forward.
- Assisting other developers by writing peer code reviews.
- Improving and updating our platform developer guides.
- Lead by example, able to self manage and use initiative to get things done.
Minimum qualifications
- Experience in product development, security, the open source philosophy and usable interface design.
- Understanding of, and practical experience with PHP5 and JavaScript application development.
- 3+ years experience building successful production software systems.
- Solid knowledge of testing principles and OOP.
- Strong analytical and coding skills.
- Strong written communication.
Location
- Offices based in Wellington, New Zealand or Wrocław, Poland.
- However remote work is also possible.
Apply online
To apply for this position, please Apply online here. We look forward to receiving your applications !
-
Using ffmpeg to capture frames from webcam and audio from micro and saving to file
19 septembre 2016, par SolidusFor the past few weeks I’ve been struggling with the ffmpeg API since I can not find a clear documentation and I also find it hard to search as all the solutions I find online involve not the c API but the ffmpeg.c command line program. I am creating a program which needs to capture video from a webcam and audio, show the frames on screen and record both the audio and frames to a video file. I am also using QT as a framework for this project.
I’ve been able to show the frames on the screen and even record them, but my problem is the record of both the audio and video. I’ve decided to create a simpler program for tests, that only saves the stream to a file without showing the frames on screen, starting from the remuxing.c example on the ffmpeg documentation. My code is as follows :
//This is the variables on the .h
AVOutputFormat *ofmt;
AVFormatContext *ifmt_ctx, *ofmt_ctx;
QString cDeviceName;
QString aDeviceName;
int audioStream, videoStream;
bool done;
//The .cpp
#include "cameratest.h"
#include <qtconcurrent></qtconcurrent>QtConcurrent>
#include <qdebug>
CameraTest::CameraTest(QString cDeviceName, QString aDeviceName, QObject *parent) :
QObject(parent)
{
done = false;
this->cDeviceName = cDeviceName;
this->aDeviceName = aDeviceName;
av_register_all();
avdevice_register_all();
}
void CameraTest::toggleDone() {
done = !done;
}
int CameraTest::init() {
ofmt = NULL;
ifmt_ctx = NULL;
ofmt_ctx = NULL;
QString fullDName = cDeviceName.prepend("video=") + ":" + aDeviceName.prepend("audio=");
qDebug() << fullDName;
AVInputFormat *fmt = av_find_input_format("dshow");
int ret, i;
if (avformat_open_input(&ifmt_ctx, fullDName.toUtf8().data(), fmt, NULL) < 0) {
fprintf(stderr, "Could not open input file '%s'", fullDName.toUtf8().data());
return -1;
}
if ((ret = avformat_find_stream_info(ifmt_ctx, 0)) < 0) {
fprintf(stderr, "Failed to retrieve input stream information");
return -1;
}
av_dump_format(ifmt_ctx, 0, fullDName.toUtf8().data(), 0);
avformat_alloc_output_context2(&ofmt_ctx, NULL, NULL, "test.avi");
if (!ofmt_ctx) {
fprintf(stderr, "Could not create output context\n");
ret = AVERROR_UNKNOWN;
return -1;
}
ofmt = ofmt_ctx->oformat;
for (i = 0; i < ifmt_ctx->nb_streams; i++) {
AVStream *in_stream = ifmt_ctx->streams[i];
AVStream *out_stream = avformat_new_stream(ofmt_ctx, in_stream->codec->codec);
if (ifmt_ctx->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO) {
videoStream = i;
}
else if (ifmt_ctx->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO) {
audioStream = i;
}
if (!out_stream) {
fprintf(stderr, "Failed allocating output stream\n");
ret = AVERROR_UNKNOWN;
return -1;
}
ret = avcodec_copy_context(out_stream->codec, in_stream->codec);
if (ret < 0) {
fprintf(stderr, "Failed to copy context from input to output stream codec context\n");
return -1;
}
out_stream->codec->codec_tag = 0;
if (ofmt_ctx->oformat->flags & AVFMT_GLOBALHEADER)
out_stream->codec->flags |= CODEC_FLAG_GLOBAL_HEADER;
}
av_dump_format(ofmt_ctx, 0, "test.avi", 1);
if (!(ofmt->flags & AVFMT_NOFILE)) {
ret = avio_open(&ofmt_ctx->pb, "test.avi", AVIO_FLAG_WRITE);
if (ret < 0) {
fprintf(stderr, "Could not open output file '%s'", "test.avi");
return -1;
}
}
ret = avformat_write_header(ofmt_ctx, NULL);
if (ret < 0) {
fprintf(stderr, "Error occurred when opening output file\n");
return -1;
}
QtConcurrent::run(this, &CameraTest::grabFrames);
return 0;
}
void CameraTest::grabFrames() {
AVPacket pkt;
int ret;
while (av_read_frame(ifmt_ctx, &pkt) >= 0) {
AVStream *in_stream, *out_stream;
in_stream = ifmt_ctx->streams[pkt.stream_index];
out_stream = ofmt_ctx->streams[pkt.stream_index];
/* copy packet */
pkt.pts = av_rescale_q_rnd(pkt.pts, in_stream->time_base, out_stream->time_base, (AVRounding) (AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX));
pkt.dts = av_rescale_q_rnd(pkt.dts, in_stream->time_base, out_stream->time_base, (AVRounding) (AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX));
pkt.duration = av_rescale_q(pkt.duration, in_stream->time_base, out_stream->time_base);
pkt.pos = -1;
int ret = av_interleaved_write_frame(ofmt_ctx, &pkt);
if (ret < 0) {
qDebug() << "Error muxing packet";
//break;
}
av_free_packet(&pkt);
if(done) break;
}
av_write_trailer(ofmt_ctx);
avformat_close_input(&ifmt_ctx);
/* close output */
if (ofmt_ctx && !(ofmt->flags & AVFMT_NOFILE))
avio_close(ofmt_ctx->pb);
avformat_free_context(ofmt_ctx);
if (ret < 0 && ret != AVERROR_EOF) {
//return -1;
//fprintf(stderr, "Error occurred: %s\n", av_err2str(ret));
}
}
</qdebug>The av_interleaved_write_frame returns an error with the video packets. The end file shows only the first frame but the audio seems to be ok.
On the console this is what is printed :
Input #0, dshow, from 'video=Integrated Camera:audio=Microfone interno (Conexant 206':
Duration: N/A, start: 146544.738000, bitrate: 1411 kb/s
Stream #0:0: Video: rawvideo, bgr24, 640x480, 30 tbr, 10000k tbn, 30 tbc
Stream #0:1: Audio: pcm_s16le, 44100 Hz, 2 channels, s16, 1411 kb/s
Output #0, avi, to 'test.avi':
Stream #0:0: Video: rawvideo, bgr24, 640x480, q=2-31, 30 tbc
Stream #0:1: Audio: pcm_s16le, 44100 Hz, 2 channels, s16, 1411 kb/s
[avi @ 0089f660] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead.
[avi @ 0089f660] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead.
[avi @ 0089f660] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 4396365 >= 4396365
[avi @ 0089f660] Too large number of skipped frames 4396359 > 60000
[avi @ 0089f660] Too large number of skipped frames 4396360 > 60000
[avi @ 0089f660] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 4396390 >= 4396390
[avi @ 0089f660] Too large number of skipped frames 4396361 > 60000
[avi @ 0089f660] Too large number of skipped frames 4396362 > 60000
[avi @ 0089f660] Too large number of skipped frames 4396364 > 60000
[avi @ 0089f660] Too large number of skipped frames 4396365 > 60000
[avi @ 0089f660] Too large number of skipped frames 4396366 > 60000
[avi @ 0089f660] Too large number of skipped frames 4396367 > 60000This seems to me like a simple problem to solve but I really am mostly clueless about the ffmpeg API, if someone could lead me to the right direction that would be great !
Thanks !
-
Install ffmpeg php on heroku and store files on AWS S3
14 février 2018, par eneneharrisonI run a php application on heroku and I store my files on AWS S3.
I would like to upload an audio file in any file format and convert it into .mp3
file using ffmpeg.How do I install ffmpeg on heroku ?
How do I write the code to upload the newly converted audio file to AWS S3 ?I will appreciate any code snippets or a link to an online resource for further research.
Thank you all.