
Recherche avancée
Médias (39)
-
Stereo master soundtrack
17 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Audio
-
ED-ME-5 1-DVD
11 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Audio
-
1,000,000
27 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Demon Seed
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
The Four of Us are Dying
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Corona Radiata
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (53)
-
Gestion générale des documents
13 mai 2011, parMédiaSPIP ne modifie jamais le document original mis en ligne.
Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...) -
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page. -
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 (...)
Sur d’autres sites (4791)
-
How can I delete all folders of a specific name without deleting Contents in it [on hold]
17 janvier 2015, par ChatcafeHow do I delete all Folders with a specific name (e.g. 128Kbps_Songs) without deleting its files
For example if I have directory "MP3_SONGS" with subdirectories "A", "B", "C" and each subdirectory has MANY directory Contains Film Name "FILM_NAME1", "FILM_NAME2", "FILM_NAME3" in it, In That Each Film NAme I have specific Folder NAme (128Kbps_Songs) in this "128Kbps_Songs" Folder I have That Film mp3 Songs Files
how can I remove the Folder "128Kbps_Songs", in Each Film_Name directory and Have to get these mp3 songs in that FILM_NAME.. ( Have to Delete 128Kbps_Songs Folder in all FILM_NAME without deleting the mp3 Songs in it, have to get the mp3 in FILM_NAME Directory..
MP3_SONGS (Parent Directory) ------ A , B, C
A (Sub Directory1) ------ FILM_NAME1 , FILM_NAME2
B (Sub Directory2) ------ FILM_NAME3 , FILM_NAME4
c (Sub Directory3) ------ FILM_NAME5 , FILM_NAME6
FILM_NAME1 (Directory) ---- 128Kbps_Songs (Directory) ------ FILM_NAME1(MP3 Files)
FILM_NAME2 (Directory) ---- 128Kbps_Songs (Directory) ------ FILM_NAME2(MP3 Files)
FILM_NAME3 (Directory) ---- 128Kbps_Songs (Directory) ------ FILM_NAME3 MP3 Files
FILM_NAME4 (Directory) ---- 128Kbps_Songs (Directory) ------ FILM_NAME4 MP3 Files
FILM_NAME5 (Directory) ---- 128Kbps_Songs (Directory) ------ FILM_NAME5 MP3 Files
FILM_NAME6 (Directory) ---- 128Kbps_Songs (Directory) ------ FILM_NAME6 MP3 Files
Need Files in:
FILM_NAME1 (Directory) ------ FILM_NAME1 MP3 Files
FILM_NAME2 (Directory) ------ FILM_NAME2 MP3 Files
FILM_NAME3 (Directory) ------ FILM_NAME3 MP3 Files
FILM_NAME4 (Directory) ------ FILM_NAME4 MP3 Files
FILM_NAME5 (Directory) ------ FILM_NAME5 MP3 Files
FILM_NAME6 (Directory) ------ FILM_NAME6 MP3 Files
> if 128Kbps_Songs directory exits there only want this changes -
Problems accessing codecs with ggplot and gganimate
19 décembre 2016, par noLongerRandomUsing gganimate. Can’t figure out how to properly access functionality of ffmpeg, specifically I want to change the codec I’m using in the video file I’m outputting.
# load packages
library(ggplot)
library(animation)
library(gganimate)
# Here's my data.frame
myDf <- data.frame(
year = c(1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014),
bottom50 = c(0.195, 0.191, 0.187, 0.192, 0.196, 0.205, 0.207, 0.210, 0.209, 0.204, 0.203, 0.204, 0.205, 0.203, 0.202, 0.200, 0.200, 0.201, 0.199, 0.195, 0.190, 0.183, 0.179, 0.179, 0.177, 0.172, 0.169, 0.169, 0.168, 0.166, 0.158, 0.159, 0.158, 0.154, 0.151, 0.148, 0.149, 0.148, 0.146, 0.149, 0.148, 0.145, 0.142, 0.138, 0.135, 0.137, 0.137, 0.136, 0.130, 0.127, 0.123, 0.127, 0.125), top1 = c(0.126, 0.127, 0.129, 0.128, 0.126, 0.123, 0.122, 0.115, 0.110, 0.111, 0.111, 0.109, 0.106, 0.105, 0.105, 0.107, 0.108, 0.111, 0.107, 0.110, 0.112, 0.115, 0.125, 0.125, 0.122, 0.133, 0.149, 0.145, 0.145, 0.139, 0.150, 0.146, 0.147, 0.153, 0.160, 0.166, 0.169, 0.177, 0.183, 0.173, 0.171, 0.172, 0.183, 0.194, 0.201, 0.199, 0.195, 0.185, 0.198, 0.196, 0.208, 0.196, 0.202)
)
#Basic plot
p <- ggplot(myDf, aes(x = year, y = bottom50, frame = year)) +
geom_line(color = "dodgerblue") +
geom_line(aes(y = top1), color = "darkred")The non-animated version gets me what I want :
And I get an animation version output to video with :
gganimate(p, interval = .1, title_frame = FALSE, "income.mp4")
That’s fine, but I want to change some the output parameters, specifically : alter the dimensions, the frame rate, and use a different codec.
# change some of the options
ani.options(ani.height = 1080, ani.width = 1920,
interval = 0.04166667, other.opts = "-vcodec qtrle -f mov")
# re-animate
gganimate(p, title_frame = FALSE, "income.mov")That gives me the following error :
Error in animation_saver(saver, filename) :
Don't know how to save animation of type movI’m using ’.mov’ as my file extension because I’m trying to change to the Animation codec (so it’s no longer a .mp4 wrapper). I’ve got ffmpeg installed, so this is probably a syntax issue. But the documentation isn’t very clear here ; gganimate doesn’t have any documentation on changing codecs (or outputting any video besides an mp4), and the animation package is light on specifics as well.
-
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 !