Codec Timebase Is Very

Strange ffmpeg error when ProRes encoding

[Libav-user] Why container and codec has different time base?

As I known some formats require specific timebases like MPEGTS streams

so, you can not manipulate with them. But you can manipulate with

CodecContext and can set time base that you need. For example, if FPS equal

to 25, you can set coder time base to 1/25 and simple increment PTS by 1

If you known russian, you can read my note regard time-bases and PTS:

AVPacket PTS and DTS filelds readed from stream have a Stream time-base

AVFrame PTS field decoded from Packet have a Coder time-base

It is my opinion after reading ffmpeg docs and code so more detail info

from ffmpeg develop team welcomed

2012/11/29 Morduhaev, Igor igorm at stats.com igorm at stats.com

I used ffmpeg to get video info. The output is

Duration: :57.00, start: 0.000000, bitrate: 611 kb/s Stream

0:0 und : Video: h264 High avc1 / 0x31637661, yuv420p, 808x610, 609

kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc

The time base is used to somehow this is also my another question

calculate when to decode and show the frame, right. So whose time base is

used, container 12800 or codec 50.

The another question is why tbn 12800 and not 90000.

_______________________________________________

-------------- next part --------------

An HTML attachment was scrubbed

More information about the Libav-user

H264 timebase question. Hello The background of the problem: I m trying to use FFmpeg to save time during bulk exports of videos from Avid Media Composer. I ve got a.

Hello, I am getting the strangest error when I try to encode an m2ts video to prores for editing in PP:

ffmpeg -i input.m2ts -vcodec prores -profile:v 2 -q:v 1 -an output.mov

The following message appears prior to encoding:

WARNING codec timebase is very high. If duration is too long,

the file may not be playable in quicktime. Specify a shorter timebase

or choose a different container.

Well, I don t really care if the file is unplayable in quicktime because I want to edit it in PP. But after ffmpeg finishes encoding, ffmpeg spits out the following:

FATAL error, the file duration is too long for timebase, this file will not be

playable with quicktime. Choose a different timebase or a different

Sure enough, the encoded mov kicks off an error when I try to import into PP. However, if I use this same script on a short 20 second shot, the same warning appears but no FATAL error and the file is easily brought into PP.

So I am guessing it has something to do with resulting file size. The only thing is, I haven t a clue how to choose a different timebase or otherwise solve this problem. Any ideas on how to get this to work with the standard prores profile.

First, most MPEG 2 transport streams play and edit fine in Premiere. Why do you need to transcode.

Second, ProRes is a lousy choice for PCs, even though it is now technically possible. The reverse engineering is imperfect and compatibility is less than ideal. Cineform or DNxHD is better.

Third, what is your source time base.

This is a decoding error, has nothing to do with ffmpeg/libav prores implementation

Post the whole console log, both of the long test, and the 20 second test

You can try setting the timebase with settb

https://www.ffmpeg.org/ffmpeg-filters.html settb_002c-asettb

Thank you for your response. I will try to respond to each point. First, while you are correct in that most m2ts play fine in PP, the reason I am trying to transcode is that of all the video I had, this one was choking in PP. Don t ask me why. So I thought I would try a different codec. Second, I am looking into prores because I am thinking of getting an Atomos Ninja for my cam. Third, if I understand the term correctly, my source s timebase is 1440x1080i30 or 29.97 fps.

A decoding error. Hmm, very interesting. I would not have guessed that. I will be happy to post the whole console log once I am back at my computer this evening. I would love to use ffmbc but it doesn t support avisynth scripts

I would love to use ffmbc but it doesn t support avisynth scripts

You can compile with avs support, or there are windows binaries with avs support

The atomos ninja records DNxHD natively also.

poisondeathray to the rescue. Thanks so much. I was able to encode after downloading the windows binary with avs support using the following:

ffmbc -i input.avs -vcodec prores -profile std -b 145000k -pix_fmt yuv422p10le -an output.mov

The only thing I noticed is sometimes the q value during the encoding was around 7 or 8. Should I be concerned with that. When I set -qscale to 1, instead of limiting the bit rate to 145M, the file was too big imo, 350M bitrate.

I was able to bring into PP and now PP can handle the video just fine whereas PP was choking on the m2ts version. Thanks.

Or you can set qscale to different, higher value like 6 or 7. That s more like VBR encoding. Complex frames get allocated more proportional bitrate. Simple frames e.g. blank wall, black frame etc get less

Specifying a -b for bitrate is more like CBR encoding. It might decode very slightly faster due to CBR, but complex frames will be lower in quality, simple frames overallocated

Originally Posted by poisondeathray

Thanks for the tutorial. I really don t understand what -qscale is all about and what sort of values to use. So your insight is greatly appreciated.

WARNING codec timebase is very high. If duration is too long, file may not be playable by quicktime. Specify a shorter timebase or choose different container.

FFmpeg-user capturing. dnx together with -segment Bouke WARNING codec timebase is very high. If duration is too long, file may not be playable by quicktime.

H.264 or MPEG-4 Part 10, Advanced Video Coding MPEG-4 AVC is a video coding format that is currently one of the most commonly used formats for the recording.

codec timebase is very codec timebase is very

Capturing. dnx together with -segment. Trying to capture to raw DNxHD . dnx while using the -segment option. WARNING codec timebase is very high.

Timebase should be 1 / frame_rate increases coding efficiency in very low bandwidth situations such as encoding of on the shared FFmpeg codec.