Arnaud Bienner | 22 Dec 15:11 2014

Video scaling


Looking at the examples provided with ffmpeg (2.5) there are two examples to scale an image if I'm right: scaling_video.c but also filtering_video.c, which filter is "scale=78:24" so I assumed it is also doing some scaling.

I believe that once the filter will be parsed and interpreted, this will lead to same underlying code being executed, but I just wanted to be sure.
Or is there any reason to prefer on method over the other, regarding performance/features available? (except that filters are probably more convenient to use, but here I'm really interested in performance issues, or features missing when using filters and vice versa).

I think it might find the answer by looking at the code, but I'm afraid to miss something and I believe there are more experienced ffmpeg users here who might know well how all this is working.

In advance, thanks a lot!

Libav-user mailing list
szukw000 | 22 Dec 05:11 2014

Two problems with ffmpeg-2.5 while reading a video dvd

I have two problems reading a video dvd with 'ffmpeg-2.5'.

I have written a program (based on ffplay) with a FLTK gui.
When the program reads a dvd the following protocol is registered:

void DVDREADER_register_dvd_protocol(void)
    memset(&ff_dvd_protocol, 0, sizeof(URLProtocol)); = "dvd";
    ff_dvd_protocol.url_open = dvd_open;
    ff_dvd_protocol.url_read = dvd_read;
    ff_dvd_protocol.url_close = dvd_close;
    ff_dvd_protocol.priv_data_size = sizeof(DVDREADERINFO);



The first time the contents of the dvd is shown fairly good.
But when I stop the transfer and then restart reading the dvd,
nothing is shown: the function 'dvd_read()' is not called. I
must exit the program and restart it.

The second problem is with

static int dvd_open(URLContext *urlc, const char *path, int flags)
    dvdreader = (DVDREADERINFO*)calloc(1, sizeof(DVDREADERINFO));

    if(dvdreader == NULL) return -1;

    if(strncmp(path, "dvd://", 6) == 0)
     path += 6;

    if(dvdreader_open(path, dvdreader) == 0)
    dvdreader = NULL;
    return -1;
    urlc->priv_data = dvdreader;

    return 0; //OK


'urlc->priv_data' is not NULL when the program assigns 'dvdreader'.

Does anybody know how to solve the first problem?

Is the second problem normal?

Valentin Noël | 19 Dec 16:08 2014

Closed GOP structure problem

Hi to all,

I would like to encode MPEG-2 video with closed GOP of 12 frames, and a structure like IBBPBBPBBPBB.
For doing this, I am using these options :
-g 12 to set the GOP size
-bf 2 to set the max B frames between reference frames
-flags +cgop to use Closed GOP 
-sc_threshold 1000000000 to disable scene change detection

However, the result is a GOP of 10 frames IBBPBBPBBP, with two missing B frames.

How can I do to fix this ? Is there something missing ?

It seems that a "strict_gop" parameter (or "sgop" flag) used to exist in former versions of ffmpe to enforce GOP size. Is there an equivalent nowadays ?

Libav-user mailing list
Maziar Mehrabi | 18 Dec 13:08 2014

Re: Anchor frame distance in GOP structure


Have you tried -g and -keyint_min options?

Thank you,


Maziar Mehrabi,

Libav-user mailing list
francesco | 18 Dec 12:51 2014

Anchor frame distance in GOP structure

Hi to all
I am using libavcodec in order to compress in mpeg2 xdcam (4:2:2, long gop).
How can I set the distance, in the GOP, between two anchor frames, (that is the
M parameter of the GOP structure) ?
Saeed Vayghan | 17 Dec 16:49 2014

How to convert mp3, m4a or any music track to 8bit tracks.

Hello guys,
Please guide me how can i convert mp3 files to traditional 8bit tracks.
I mean the sounds which all of us have great memories with them in old game consoles like micro or cega.

Libav-user mailing list
Michel Mony | 16 Dec 20:40 2014

Using FFmpeg



My organization is currently interested in using FFmpeg for an app.

I was wondering who to contact to clarify legal matters?








Michel Mony

Chargé de projets / Project manager

T  418 529 9697    F  418 529 5869


Ce courriel pourrait contenir des renseignements confidentiels ou privilégiés. Si vous n'êtes pas le véritable destinataire, veuillez nous en aviser immédiatement. Merci.
This email may contain confidential or privileged information. If you are not the intended recipient, please notify us immediately.
Thank you.


Libav-user mailing list
王向伟 # | 17 Dec 07:41 2014

play mts(AVCHD) files

Hi all,

I want to play MTS(AVCHD) file from my Sony Handy camera in my iOS app, but I only got audio, there is no video decoded. 
the got_picture parameter of function avcodec_decode_video2 always return 0. 
my app works OK with other media files like mp4, m3u8.
generally the play logic in my app is almost same as ffplay application of ffmpeg.I played the same MTS file with ffplay in Windows, It plays well.
I am new to ffmpeg, does anyone knows the reason that my app can't play MTS file.

I used the libraries downloaded from

Here are some logs:

[mpegts <at> 0x14f842600] Format mpegts probed with size=2048 and score=100
[mpegts <at> 0x14f842600] stream=0 stream_type=1b pid=1011 prog_reg_desc=HDMV
[mpegts <at> 0x14f842600] stream=1 stream_type=81 pid=1100 prog_reg_desc=HDMV
[mpegts <at> 0x14f842600] stream=2 stream_type=90 pid=1200 prog_reg_desc=HDMV
[mpegts <at> 0x14f842600] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0
[mpegts <at> 0x14f842600] parser not found for codec hdmv_pgs_subtitle, packets or times may be invalid.
[mpegts <at> 0x14f842600] All programs have pmt, headers found
[mpegts <at> 0x14f842600] parser not found for codec hdmv_pgs_subtitle, packets or times may be invalid.
[mpegts <at> 0x14f842600] Non-increasing DTS in stream 2: packet 2 with DTS 87080, packet 3 with DTS 87080
[mpegts <at> 0x14f842600] Non-increasing DTS in stream 2: packet 5 with DTS 132125, packet 6 with DTS 132125
[mpegts <at> 0x14f842600] Non-increasing DTS in stream 2: packet 6 with DTS 132125, packet 7 with DTS 132125
[mpegts <at> 0x14f842600] Non-increasing DTS in stream 2: packet 7 with DTS 132125, packet 8 with DTS 132125
[mpegts <at> 0x14f842600] All info found
[mpegts <at> 0x14f842600] After avformat_find_stream_info() pos: 0 bytes read:1249424 seeks:2 frames:64
is_realtime entered
Input #0, mpegts, from 'file:///private/var/mobile/Containers/Bundle/Application/A33114F9-C221-44C2-BCC4-D4FCE03FDCB1/':
  Duration: 00:01:41.63, start: 1.033367, bitrate: 17317 kb/s
  Program 1 
    Stream #0:0[0x1011], 41, 1/90000: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(left), 1920x1080 (1920x1088) [SAR 1:1 DAR 16:9], 1001/60000, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0:1[0x1100], 13, 1/90000: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s
    Stream #0:2[0x1200], 10, 1/90000: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] / 0x0090), 1920x1080

detected 2 logical cores
[src <at> 0x14f626590] tb:1/48000 samplefmt:fltp samplerate:48000 chlayout:5.1(side)
[aformat <at> 0x14f627c80] Setting 'sample_fmts' to value 'fltp'
[aformat <at> 0x14f627c80] Setting 'sample_rates' to value '44100'
[aformat <at> 0x14f627c80] Setting 'channel_layouts' to value '0x3'
[aformat <at> 0x14f627c80] auto-inserting filter 'auto-inserted resampler 0' between the filter 'src' and the filter 'aformat'
[AVFilterGraph <at> 0x14f50b810] query_formats: 3 queried, 3 merged, 3 already done, 0 delayed
1.000000 0.000000 0.707107 0.000000 0.707107 0.000000 
0.000000 1.000000 0.707107 0.000000 0.000000 0.707107 
[auto-inserted resampler 0 <at> 0x14f62b3d0] ch:6 chl:5.1(side) fmt:fltp r:48000Hz -> ch:2 chl:stereo fmt:fltp r:44100Hz
[h264 <at> 0x15001a200] Missing reference picture, default is 65536
[h264 <at> 0x15001a200] Missing reference picture, default is 65536


Libav-user mailing list
Puneet B | 17 Dec 07:08 2014

Re: Welcome to the "Libav-user" mailing list

HI All,

I want to write a c code which records audio in mp3 format using ffmpeg library.
i am using ffmpeg2.4.3 static library. i am aware of using static library in c code.
Can anyone send some sample code or link for this?.


On Wed, Dec 17, 2014 at 11:34 AM, <libav-user-request-pYd9yefT/> wrote:
Welcome to the Libav-user <at> mailing list!

NOTE: If you reply to old mails (prior 16. mar. 2011) make sure the
address you reply to is libav-user <at> and if not change it.
Otherwise the mail will possibly not reach any subscribers. We
apologize for this inconvenience.

To post to this list, send your message to:


General information about the mailing list is at:

If you ever want to unsubscribe or change your options (eg, switch to
or from digest mode, change your password, etc.), visit your
subscription page at:

You can also make such adjustments via email by sending a message to:

  Libav-user-request <at>

with the word `help' in the subject or body (don't include the
quotes), and you will get back a message with instructions.

You must know your password to change your options (including changing
the password, itself) or to unsubscribe without confirmation.  It is:


Normally, Mailman will remind you of your mailing list
passwords once every month, although you can disable this if you
prefer.  This reminder will also include instructions on how to
unsubscribe or change your account options.  There is also a button on
your options page that will email your current password to you.
Libav-user mailing list
Jesper Taxbøl | 17 Dec 01:18 2014

Getting started streaming with libav

Hi Guys,

I am working on an Openframeworks program, where I aim at streaming video and audio to a Quicktime player across Gigabit LAN. Ultimately I need the image inside a Unity application.

I have made a test using Quicktime Broadcaster, using UDP streaming and describing the stream in a SDP file. I open the stream by directing Quicktime to the SDP file. Now I aim at building the same stream using libav.

The SDP file QuicktimeBroadcaster creates looks something like this:

o=- 23 3798418447 IN IP4
t=0 0
m=audio 5432 RTP/AVP 96
c=IN IP4
a=rtpmap:96 mpeg4-generic/8000/1
a=fmtp:96 profile-level-id=15;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1588
m=video 5434 RTP/AVP 97
c=IN IP4
a=rtpmap:97 H264/90000
a=fmtp:97 packetization-mode=1;profile-level-id=4D4029;sprop-parameter-sets=J01AKakYFAe2ANQYBBjCte98BA==,KN4JF6A=
a=framesize:97 640-480

Would that be possible at all?

Kind regards

Jesper Taxbøl

Libav-user mailing list
Daniel Kamil Kozar | 15 Dec 20:10 2014

Re-using the same AVInputContext and AVIOContext in calls to avformat_find_stream_info

I'm using doc/examples/avio_reading.c for experimenting with the libav
API. I wanted to check if it's possible to use the same AVInputContext
and AVIOContext for two calls to avformat_find_stream_info. However,
after putting two new calls to avformat_find_stream_info and
av_dump_format after the first two ones that are already in the
source, I'm getting a segmentation fault in avformat_find_stream_info.
gdb shows the following backtrace :

#0  0x00007ffff7b3e81a in has_codec_parameters (st=0x602fc0,
errmsg_ptr=0x0) at libavformat/utils.c:2559
#1  0x00007ffff7b40734 in avformat_find_stream_info (ic=0x602040,
options=0x0) at libavformat/utils.c:3060
#2  0x0000000000400f02 in main (argc=2, argv=0x7fffffffe918) at

Line 2559 of libavformat/utils.c resolves to 'if
(st->info->found_decoder >= 0 && avctx->pix_fmt == AV_PIX_FMT_NONE)'.
I'm using a custom-compiled ffmpeg 2.5, but the very same things
happen with my distribution's (Arch Linux) libraries.

The question is : is it allowed to issue two calls to
avformat_find_stream_info with the same input structures? I'm asking
since the documentation doesn't specify anything about this not being
allowed, and it does seem kind of weird to be forced to destroy the
old structures and allocate new ones describing pretty much the same
stream. If I recreate the structures, then everything works just fine.
I just wanted to know if recreating them is the expected usage of the
API. The second call to avformat_find_stream_info fails regardless of
whether the first one was successful or not.

Thank you in advance for any help,