
Recherche avancée
Autres articles (38)
-
L’utiliser, en parler, le critiquer
10 avril 2011La première attitude à adopter est d’en parler, soit directement avec les personnes impliquées dans son développement, soit autour de vous pour convaincre de nouvelles personnes à l’utiliser.
Plus la communauté sera nombreuse et plus les évolutions seront rapides ...
Une liste de discussion est disponible pour tout échange entre utilisateurs. -
Contribute to documentation
13 avril 2011Documentation is vital to the development of improved technical capabilities.
MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
To contribute, register to the project users’ mailing (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir
Sur d’autres sites (4542)
-
Why the source order matters on working with multiple media sources in a single AVFormatContext ?
24 avril 2024, par Mehmet YILMAZavformat_open_input()
deletes theAVFormatContext*
and returns-6
when the source order changes.

I am trying to open multiple media sources dynamically with different(mixed) formats and codecs in a single context (
AVFormatContext
).

My media sources are a BlackMagic DeckLink Duo SDI input as first source and an
mp4 file
orrtsp stream
as second.

When I order to open (
avformat_open_input()
) the source 2 (RTSP or MP4 file) at first and then open the BlackMagic DeckLink Duo, proceed as expected.

But when I change the order, and first open the DeckLink and then try to open RTSP stream or MP4 file, as I inspected in the step debugger ;
AVFormatContext*
deleting in theav_open_input()
function and it returns-6
as result.

Please find the simple error reproduction code snappet below ;


AVFormatContext* context{avformat_alloc_context()};
const char* url_source1{"DeckLink Duo (1)"};
const AVInputFormat* format_source1{av_find_input_format("decklink")};

const char* url_source2{"http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"};

// Open the first media input
int result = avformat_open_input(&context, url_source1, format_source1, NULL);

if(result < 0) {
 exit(1);
}

// Open the second media input
// This function in current order deletes the context and returns -6
result = avformat_open_input(&context, url_source2, NULL, NULL);
if(result < 0) {
 exit(1);
}

// Since the context has been deleted in previous step, segmentation fault accours here!
result = avformat_find_stream_info(context, NULL);
if(result < 0) {
 exit(1);
}

std::cout << "Total number of streams: " << context->nb_streams << std::endl;




But When I change the order and call the
avformat_open_input()
first for themp4
file and then theDeckLink
device as following it proceed as expected, no error.

AVFormatContext* context{avformat_alloc_context()};
const char* url_source1{"DeckLink Duo (1)"};
const AVInputFormat* format_source1{av_find_input_format("decklink")};

const char* url_source2{"http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"};


// Open the second media input
int result = avformat_open_input(&context, url_source2, NULL, NULL);
if(result < 0) {
 exit(1);
}


// Open the first media input
result = avformat_open_input(&context, url_source1, format_source1, NULL);

if(result < 0) {
 exit(1);
}


result = avformat_find_stream_info(context, NULL);
if(result < 0) {
 exit(1);
}

std::cout << "Total number of streams: " << context->nb_streams << std::endl;




-
ffmpeg pipe to mediainfo
16 octobre 2017, par Macheneso R.I need to get infos from the raw h264 track of a mkv file.
Some times ago, I used to extract the h264 raw stream, and analyze it by itself.
now, I would like to limit the disk usage, avoiding the extract process, so there are 2 choices :
-
use ffmpeg to pipe h264 to mediainfo
-
use a sort of ramdisk
I tried
ffmpeg -i original.mkv -map 0:v:0 -c copy -bsf:v h264_mp4toannexb -f h264 - | mediainfo -
but it returns none
where am I wrong ?
-
-
How to encode a picture into H264 using x264 API ?
23 novembre 2011, par cmm427I encode a picture following the link How to encode series of images into H264 using x264 API ? (C/C++), but every time x264_encoder_encode(encoder, &nals, &i_nals, &pic_in, &pic_out) returns 0.