
Recherche avancée
Médias (2)
-
Granite de l’Aber Ildut
9 septembre 2011, par
Mis à jour : Septembre 2011
Langue : français
Type : Texte
-
Géodiversité
9 septembre 2011, par ,
Mis à jour : Août 2018
Langue : français
Type : Texte
Autres articles (40)
-
Demande de création d’un canal
12 mars 2010, parEn fonction de la configuration de la plateforme, l’utilisateur peu avoir à sa disposition deux méthodes différentes de demande de création de canal. La première est au moment de son inscription, la seconde, après son inscription en remplissant un formulaire de demande.
Les deux manières demandent les mêmes choses fonctionnent à peu près de la même manière, le futur utilisateur doit remplir une série de champ de formulaire permettant tout d’abord aux administrateurs d’avoir des informations quant à (...) -
Modifier la date de publication
21 juin 2013, parComment changer la date de publication d’un média ?
Il faut au préalable rajouter un champ "Date de publication" dans le masque de formulaire adéquat :
Administrer > Configuration des masques de formulaires > Sélectionner "Un média"
Dans la rubrique "Champs à ajouter, cocher "Date de publication "
Cliquer en bas de la page sur Enregistrer -
Pas question de marché, de cloud etc...
10 avril 2011Le vocabulaire utilisé sur ce site essaie d’éviter toute référence à la mode qui fleurit allègrement
sur le web 2.0 et dans les entreprises qui en vivent.
Vous êtes donc invité à bannir l’utilisation des termes "Brand", "Cloud", "Marché" etc...
Notre motivation est avant tout de créer un outil simple, accessible à pour tout le monde, favorisant
le partage de créations sur Internet et permettant aux auteurs de garder une autonomie optimale.
Aucun "contrat Gold ou Premium" n’est donc prévu, aucun (...)
Sur d’autres sites (5468)
-
Official RealVideo Specifications
29 juillet 2010, par Multimedia Mike — GeneralA little birdie tipped me off to a publicly-accessible URL on the Helix community site (does anyone actually use Helix ?) that contains a bunch of specifications for RealVideo 8 and 9. I have been sifting through the documents to see exactly what they contain as the different files seem to be higher revisions of the same documents. Here is the title, date, and version of each PDF document :
- RNDecoderPerformanceARM.pdf : Decoder Performance on StrongARM and XScale ; May 12, 2003 ; Version 1.1
- rv89_decoder_summary.pdf : RealVideo 8/9 Combo Decoder Summary ; October 23, 2002 ; Version 1.0
- rv9_dec_external_spec_v14.pdf : RealVideo 9 External Specification ; November 7, 2003 ; Version 1.4
- rv8_dec_external_spec_v20.pdf : RealVideo 8 External Specification ; September 19, 2002 ; Version 2.0
- RV8DecoderExternalSpecificationv201.pdf : RealVideo 8 External Specification ; October 20, 2006 ; Version 2.01
- RV8DecoderExternalSpecificationv202.pdf : RealVideo 8 External Specification ; April 23, 2007 ; Version 2.02
- RV8DecoderExternalSpecificationv203.pdf : RealVideo 8 External Specification ; July 20, 2007 ; Version 2.03
- RV8DecoderExternalSpecificationv21.pdf : RealVideo 8 External Specification ; September 11, 2007 ; Version 2.1
- RV9DecoderExternalSpecificationv15.pdf ; RealVideo 9 External Specification ; January 26, 2002 ; Version 1.5
- RV9DecoderExternalSpecificationv16.pdf ; RealVideo 9 External Specification ; August 17, 2005 ; Version 1.6
- RV9DecoderExternalSpecificationv18.pdf ; RealVideo 9 External Specification ; September 11, 2007 ; Version 1.8
Additionally, there is an Excel spreadsheet entitled realvideo-faq.xls that appears to contain some general tech support advice for using Real’s official code. There are also 3 ZIP archives which contain profiling information about the official source code (post processing and entropy decoding top the charts which is no big surprise).
I guess the latest version of each document (the ones dated September 11, 2007) are worth mirroring. Unfortunately, those latest document versions use a terrible font.
-
ffmpeg codec error on audio file
31 juillet 2013, par foosionI have some m4a files that will not play properly using the google music player app on my Android phone, although they play fine on most everything else. I thought the problem was the container and thought "ffmpeg -i bad.m4a -codec copy good.m4a" might help. However, when I run on the problem files, I get error messages. Running this command on non-problem files has not generated error messages.
Please suggest ways to fix (other than re-encoding).
[D:\temp\dl]ffmpeg -i "01 - The Day Begins.m4a" -codec copy day.m4a
ffmpeg version N-55066-gc96b3ae Copyright (c) 2000-2013 the FFmpeg developers
built on Jul 29 2013 18:05:45 with gcc 4.7.3 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-
amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --
enable-libxvid --enable-zlib
libavutil 52. 40.100 / 52. 40.100
libavcodec 55. 19.100 / 55. 19.100
libavformat 55. 12.102 / 55. 12.102
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 82.100 / 3. 82.100
libswscale 2. 4.100 / 2. 4.100
libswresample 0. 17.103 / 0. 17.103
libpostproc 52. 3.100 / 52. 3.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000002da300] stream 0, timescale not set
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '01 - The Day Begins.m4a':
Metadata:
major_brand : m4a
minor_version : 0
compatible_brands: M4A mp4isom
creation_time : 2003-07-06 20:27:46
track : 1
genre : Rock
title : The Day Begins
artist : Moody Blues
album : Days of Future Passed
date : 1967
Duration: 00:05:50.83, start: 0.000000, bitrate: 166 kb/s
Stream #0:0(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 15
9 kb/s
Metadata:
creation_time : 2003-07-06 20:27:46
handler_name : Apple Sound Media Handler
Stream #0:1(eng): Data: none (mp4s / 0x7334706D)
Metadata:
creation_time : 2003-07-06 20:27:46
handler_name : Apple MPEG-4 Scene Media Handler
Stream #0:2(eng): Data: none (mp4s / 0x7334706D)
Metadata:
creation_time : 2003-07-06 20:27:46
handler_name : Apple MPEG-4 ODSM Media Handler
Stream #0:3: Video: png, rgb24, 240x240 [SAR 2834:2834 DAR 1:1], 90k tbr, 90
k tbn, 90k tbc
[ipod @ 000000000031dd40] track 0: could not find tag, codec not currently suppo
rted in container
Output #0, ipod, to 'day.m4a':
Metadata:
major_brand : m4a
minor_version : 0
compatible_brands: M4A mp4isom
date : 1967
track : 1
genre : Rock
title : The Day Begins
artist : Moody Blues
album : Days of Future Passed
encoder : Lavf55.12.102
Stream #0:0: Video: png, rgb24, 240x240 [SAR 2834:2834 DAR 1:1], q=2-31, 90k
tbn, 90k tbc
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, 159 kb/s
Metadata:
creation_time : 2003-07-06 20:27:46
handler_name : Apple Sound Media Handler
Stream mapping:
Stream #0:3 -> #0:0 (copy)
Stream #0:0 -> #0:1 (copy)
Could not write header for output file #0 (incorrect codec parameters ?): Error
number -1 occurred -
how to convert an MPEGTS file into an FLV file by programming with libavcodec
9 mai 2014, par Hexing BI wanna convert an MPEGTS file into an FLV file with libavcodec APIs(just transformat, video/audio codecs are not changed). Following is the code I found on web. After some hack, it can generate an FLV file, which could not be played. Any clue to fix this ?
#include
#include
#include
#include
#include <libavformat></libavformat>avformat.h>
#include <libavcodec></libavcodec>avcodec.h>
#include <libavutil></libavutil>avutil.h>
#include <libavutil></libavutil>rational.h>
#include <libavdevice></libavdevice>avdevice.h>
#include <libavutil></libavutil>mathematics.h>
#include <libswscale></libswscale>swscale.h>
static AVStream* add_output_stream(AVFormatContext* output_format_context, AVStream* input_stream) {
AVCodecContext* input_codec_context = NULL;
AVCodecContext* output_codec_context = NULL;
AVStream* output_stream = NULL;
output_stream = avformat_new_stream(output_format_context, 0);
if (!output_stream) {
printf("Call av_new_stream function failed\n");
return NULL;
}
input_codec_context = input_stream->codec;
output_codec_context = output_stream->codec;
output_codec_context->codec_id = input_codec_context->codec_id;
output_codec_context->codec_type = input_codec_context->codec_type;
// output_codec_context->codec_tag = input_codec_context->codec_tag;
output_codec_context->codec_tag = av_codec_get_tag(output_format_context->oformat->codec_tag, input_codec_context->codec_id);
output_codec_context->bit_rate = input_codec_context->bit_rate;
output_codec_context->extradata = input_codec_context->extradata;
output_codec_context->extradata_size = input_codec_context->extradata_size;
if (av_q2d(input_codec_context->time_base) * input_codec_context->ticks_per_frame > av_q2d(input_stream->time_base) && av_q2d(input_stream->time_base) < 1.0 / 1000) {
output_codec_context->time_base = input_codec_context->time_base;
output_codec_context->time_base.num *= input_codec_context->ticks_per_frame;
} else {
output_codec_context->time_base = input_stream->time_base;
}
switch (input_codec_context->codec_type) {
case AVMEDIA_TYPE_AUDIO:
output_codec_context->channel_layout = input_codec_context->channel_layout;
output_codec_context->sample_rate = input_codec_context->sample_rate;
output_codec_context->channels = input_codec_context->channels;
output_codec_context->frame_size = input_codec_context->frame_size;
if ((input_codec_context->block_align == 1 && input_codec_context->codec_id == CODEC_ID_MP3) || input_codec_context->codec_id == CODEC_ID_AC3) {
output_codec_context->block_align = 0;
} else {
output_codec_context->block_align = input_codec_context->block_align;
}
break;
case AVMEDIA_TYPE_VIDEO:
output_codec_context->pix_fmt = input_codec_context->pix_fmt;
output_codec_context->width = input_codec_context->width;
output_codec_context->height = input_codec_context->height;
output_codec_context->has_b_frames = input_codec_context->has_b_frames;
if (output_format_context->oformat->flags & AVFMT_GLOBALHEADER) {
output_codec_context->flags |= CODEC_FLAG_GLOBAL_HEADER;
}
// output_codec_context->strict_std_compliance = FF_COMPLIANCE_EXPERIMENTAL;
break;
default:
break;
}
return output_stream;
}
int main(int argc, char* argv[]) {
const char* input = argv[1];
const char* output_prefix = NULL;
char* segment_duration_check = 0;
const char* index = NULL;
char* tmp_index = NULL;
const char* http_prefix = NULL;
long max_tsfiles = 0;
double prev_segment_time = 0;
double segment_duration = 0;
AVInputFormat* ifmt = NULL;
AVOutputFormat* ofmt = NULL;
AVFormatContext* ic = NULL;
AVFormatContext* oc = NULL;
AVStream* video_st = NULL;
AVStream* audio_st = NULL;
AVCodec* codec = NULL;
AVDictionary* pAVDictionary = NULL;
av_register_all();
av_log_set_level(AV_LOG_DEBUG);
char szError[256] = {0};
int nRet = avformat_open_input(&ic, input, ifmt, &pAVDictionary);
if (nRet != 0) {
av_strerror(nRet, szError, 256);
printf(szError);
printf("\n");
printf("Call avformat_open_input function failed!\n");
return 0;
}
if (avformat_find_stream_info(ic, NULL) < 0) {
printf("Call av_find_stream_info function failed!\n");
return 0;
}
ofmt = av_guess_format(NULL, argv[2], NULL);
if (!ofmt) {
printf("Call av_guess_format function failed!\n");
return 0;
}
oc = avformat_alloc_context();
if (!oc) {
printf("Call av_guess_format function failed!\n");
return 0;
}
oc->oformat = ofmt;
int video_index = -1, audio_index = -1;
unsigned int i;
for (i = 0; i < ic->nb_streams && (video_index < 0 || audio_index < 0); i++) {
switch (ic->streams[i]->codec->codec_type) {
case AVMEDIA_TYPE_VIDEO:
video_index = i;
ic->streams[i]->discard = AVDISCARD_NONE;
video_st = add_output_stream(oc, ic->streams[i]);
if (video_st->codec->codec_id == CODEC_ID_H264) {
video_st->codec->opaque = av_bitstream_filter_init("h264_mp4toannexb");
}
break;
case AVMEDIA_TYPE_AUDIO:
audio_index = i;
ic->streams[i]->discard = AVDISCARD_NONE;
audio_st = add_output_stream(oc, ic->streams[i]);
if (audio_st->codec->codec_id == CODEC_ID_AAC && !audio_st->codec->extradata_size) {
audio_st->codec->opaque = av_bitstream_filter_init("aac_adtstoasc");
}
break;
default:
ic->streams[i]->discard = AVDISCARD_ALL;
break;
}
}
codec = avcodec_find_decoder(video_st->codec->codec_id);
if (codec == NULL) {
printf("Call avcodec_find_decoder function failed!\n");
return 0;
}
if (avcodec_open2(video_st->codec, codec, NULL) < 0) {
printf("Call avcodec_open function failed !\n");
return 0;
}
if (avio_open(&oc->pb, argv[2], AVIO_FLAG_WRITE) < 0) {
return 0;
}
if (avformat_write_header(oc, &pAVDictionary)) {
printf("Call avformat_write_header function failed.\n");
return 0;
}
int decode_done = 0;
do {
AVPacket packet;
decode_done = av_read_frame(ic, &packet);
if (decode_done < 0) {
break;
}
if (packet.stream_index == video_index && (packet.flags & AV_PKT_FLAG_KEY) && video_st->codec->opaque != NULL) {
AVPacket pkt = packet;
int a = av_bitstream_filter_filter(video_st->codec->opaque, video_st->codec, NULL, &pkt.data, &pkt.size,
packet.data, packet.size, packet.flags & AV_PKT_FLAG_KEY);
if (a == 0) {
memmove(packet.data, pkt.data, pkt.size);
packet.size = pkt.size;
} else if (a > 0) {
packet = pkt;
}
}
else if (packet.stream_index == audio_index && audio_st->codec->opaque != NULL) {
AVPacket pkt = packet;
int a = av_bitstream_filter_filter(audio_st->codec->opaque, audio_st->codec, NULL, &pkt.data, &pkt.size,
packet.data, packet.size, packet.flags & AV_PKT_FLAG_KEY);
if (a == 0) {
memmove(packet.data, pkt.data, pkt.size);
packet.size = pkt.size;
} else if (a > 0) {
packet = pkt;
}
}
nRet = av_interleaved_write_frame(oc, &packet);
if (nRet < 0) {
printf("Call av_interleaved_write_frame function failed\n");
} else if (nRet > 0) {
printf("End of stream requested\n");
av_free_packet(&packet);
break;
}
av_free_packet(&packet);
} while(!decode_done);
av_write_trailer(oc);
av_bitstream_filter_close(video_st->codec->opaque);
av_bitstream_filter_close(audio_st->codec->opaque);
avcodec_close(video_st->codec);
unsigned int k;
for(k = 0; k < oc->nb_streams; k++) {
av_freep(&oc->streams[k]->codec);
av_freep(&oc->streams[k]);
}
av_free(oc);
getchar();
return 0;
}