[FFmpeg-user] (no subject)
ffmpeg has the option to split file based on time. Say starting with time t and go for length l. I am thinking of basically computing the time windows which will result in the desired file size. Say a 1 min video of 20 MB will need to be split in parts roughly 6 sec each. Is there an option to pass desired file size directly into the command? ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] repeat a frame
On 2021-03-02 16:34, Jim DeLaHunt wrote: On 2021-03-02 13:13, Mark Filipak (ffmpeg) wrote: On 2021-03-02 15:18, Carl Eugen Hoyos wrote: …timebase is not 64bit, I believe this was already mentioned. No, it has not been mentioned. Mark, I can point to three times it has been mentioned, in the last month, in threads which you initiated. 1. https://lists.ffmpeg.org/pipermail/ffmpeg-user/2021-February/051961.html On 2021-02-14 17:28, Paul B Mahol wrote: You need TB aka timebase too. TB is rational. PTS is 64bit integer. 2. https://lists.ffmpeg.org/pipermail/ffmpeg-user/2021-February/052097.html On 2021-02-22 21:01, Jim DeLaHunt wrote: The Presentation Time Stamp (PTS) value which FFmpeg associates with video frames and audio data is a 64-bit integer. There is an associated time base attribute for each video or audio stream, which gives the number of seconds between successive values of PTS. This time base might be thought of as the resolution of PTS. Thus if you have two PTS values pts1 and pts2, then the difference in seconds between them is (pts2-pts1)*time_base. The time base can be represented as a rational number, e.g. 1001/3.… 3. https://lists.ffmpeg.org/pipermail/ffmpeg-user/2021-February/052161.html On 2021-02-26 17:32, Jim DeLaHunt wrote: As I told you back on 23. February, ffmpeg uses a timebase that is a rational number, and is an attribute of the video stream, and can take various values. The timebase could be 1/36, or 1/24, or 1001/24000. Thank you, Jim. To the best of my knowledge, rational is not a 'C' datatype. I need to know the dimension (or 'C' datatype) of TB as it is used in PTC calculations. ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] repeat a frame
On 2021-03-02 13:13, Mark Filipak (ffmpeg) wrote: On 2021-03-02 15:18, Carl Eugen Hoyos wrote: …timebase is not 64bit, I believe this was already mentioned. No, it has not been mentioned. Mark, I can point to three times it has been mentioned, in the last month, in threads which you initiated. 1. https://lists.ffmpeg.org/pipermail/ffmpeg-user/2021-February/051961.html On 2021-02-14 17:28, Paul B Mahol wrote: You need TB aka timebase too. TB is rational. PTS is 64bit integer. 2. https://lists.ffmpeg.org/pipermail/ffmpeg-user/2021-February/052097.html On 2021-02-22 21:01, Jim DeLaHunt wrote: The Presentation Time Stamp (PTS) value which FFmpeg associates with video frames and audio data is a 64-bit integer. There is an associated time base attribute for each video or audio stream, which gives the number of seconds between successive values of PTS. This time base might be thought of as the resolution of PTS. Thus if you have two PTS values pts1 and pts2, then the difference in seconds between them is (pts2-pts1)*time_base. The time base can be represented as a rational number, e.g. 1001/3.… 3. https://lists.ffmpeg.org/pipermail/ffmpeg-user/2021-February/052161.html On 2021-02-26 17:32, Jim DeLaHunt wrote: As I told you back on 23. February, ffmpeg uses a timebase that is a rational number, and is an attribute of the video stream, and can take various values. The timebase could be 1/36, or 1/24, or 1001/24000. Best regards, —Jim DeLaHunt ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] repeat a frame
On 2021-03-02 15:18, Carl Eugen Hoyos wrote: Am Di., 2. März 2021 um 20:51 Uhr schrieb Mark Filipak (ffmpeg) : On 2021-03-02 13:31, Carl Eugen Hoyos wrote: Am Di., 2. März 2021 um 17:50 Uhr schrieb Mark Filipak (ffmpeg) : I've searched the docs one-by-one. I seek a simpler way to repeat a frame. Increase the frame rate, either with the fps filter or the ffmpeg option "-r". They differ in their greediness and verbosity on the status line. Thank you, Carl Eugen, I have noted that reality. Since I've assumed that AVFrame *is* the format of the frames in the filter pipeline (and therefore int64_t), and based on an assumption that TB is also 64 bits, I've adopted TB = 1/(72 ticks/s)... timebase is not 64bit, I believe this was already mentioned. No, it has not been mentioned. What is the struct name of frames in the filter pipeline? What is the name of the struct that includes time base? ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] filter pipeline 'PTS' -- int64_t?
Am Di., 2. März 2021 um 21:42 Uhr schrieb Paul B Mahol : > > On Tue, Mar 2, 2021 at 8:59 PM Carl Eugen Hoyos wrote: > > There is no AVFrac in the (current) codebase. > > > Funny how he look at ultra old svn code dump, good luck with that, > > How he even managed to find links to svn stuff svn.ffmpeg.org is just an alias for ffmpeg.org, the documentation for old releases is available. Carl Eugen ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] filter pipeline 'PTS' -- int64_t?
On Tue, Mar 2, 2021 at 8:59 PM Carl Eugen Hoyos wrote: > Am Di., 2. März 2021 um 01:47 Uhr schrieb Mark Filipak (ffmpeg) > : > > > > The ffmpeg filter pipeline assigns a 'PTS' to each frame, > > frame by frame. > > This may not be completely unreasonable but some > comments are still necessary: > The sentence sounds to me as if the the filter pipeline always > assigns timestamps to frames, but this is neither true (many > filters do not care about timestamps and you do not have to > insert a filter which does) nor does it make the filter pipeline > special: Timestamps often come from the demuxer and / or > the decoder and may or may not change in the filterchain > (and - as I believe you realized by now - because of the > chosen output format; and also the chosen encoder - for > which you did not post a question yet). > > Frames may not have a timestamp assigned - you posted > the relevant part of the documentation. > > Concerning some of your other comments: > > The timestamps in MPEG streams may be negative. > > There is no AVFrac in the (current) codebase. > > Funny how he look at ultra old svn code dump, good luck with that, How he even managed to find links to svn stuff > Carl Eugen > ___ > ffmpeg-user mailing list > ffmpeg-user@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe". ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] repeat a frame
Am Di., 2. März 2021 um 20:51 Uhr schrieb Mark Filipak (ffmpeg) : > > On 2021-03-02 13:31, Carl Eugen Hoyos wrote: > > Am Di., 2. März 2021 um 17:50 Uhr schrieb Mark Filipak (ffmpeg) > > : > >> > >> I've searched the docs one-by-one. I seek a simpler way to repeat a frame. > > > > Increase the frame rate, either with the fps filter or the ffmpeg option > > "-r". > > They differ in their greediness and verbosity on the status line. > > Thank you, Carl Eugen, I have noted that reality. > > Since I've assumed that AVFrame *is* the format of the frames in the filter > pipeline (and therefore int64_t), and based on an assumption that TB is > also 64 bits, I've adopted TB = 1/(72 ticks/s)... timebase is not 64bit, I believe this was already mentioned. > ...so, for a 24fps CFR INPUT to a 24fps CFR OUTPUT for example, If your input is cfr and you want cfr output, there should be no reason to mess with timestamps. > ffmpeg -i INPUT -vf > settb=expr=1/72,setpts=N*3...setpts=N/24/TB,fps=24 OUTPUT In addition to above, note that setpts is rarely a good idea as it is supposed to break A/V sync. Using the filter several times does not improve the situation. Perhaps you should go back several (dozen) steps: You have already explained that you have little interest in becoming a C programmer (which is 100% reasonable), you therefore should not be interested in the internal representations of FFmpeg (no, you cannot improve them: The people who have written this code most likely understand analog video as good as you but they are light years ahead of you concerning digital video). It is possible you have found other bugs in FFmpeg (many exist and you have already found two or three). If you want us to improve the project, simply post the command line you tested including the complete, uncut console output and explain what you don't like in the output file. (You would have avoided a lot of flames lately...) The fact that you cannot force a timebase when writing to Matroska is not a bug that you have to report. Carl Eugen ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] filter pipeline 'PTS' -- int64_t?
Am Di., 2. März 2021 um 01:47 Uhr schrieb Mark Filipak (ffmpeg) : > > The ffmpeg filter pipeline assigns a 'PTS' to each frame, > frame by frame. This may not be completely unreasonable but some comments are still necessary: The sentence sounds to me as if the the filter pipeline always assigns timestamps to frames, but this is neither true (many filters do not care about timestamps and you do not have to insert a filter which does) nor does it make the filter pipeline special: Timestamps often come from the demuxer and / or the decoder and may or may not change in the filterchain (and - as I believe you realized by now - because of the chosen output format; and also the chosen encoder - for which you did not post a question yet). Frames may not have a timestamp assigned - you posted the relevant part of the documentation. Concerning some of your other comments: The timestamps in MPEG streams may be negative. There is no AVFrac in the (current) codebase. Carl Eugen ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] repeat a frame
On 2021-03-02 13:31, Carl Eugen Hoyos wrote: Am Di., 2. März 2021 um 17:50 Uhr schrieb Mark Filipak (ffmpeg) : I've searched the docs one-by-one. I seek a simpler way to repeat a frame. Increase the frame rate, either with the fps filter or the ffmpeg option "-r". They differ in their greediness and verbosity on the status line. Thank you, Carl Eugen, I have noted that reality. Since I've assumed that AVFrame *is* the format of the frames in the filter pipeline (and therefore int64_t), and based on an assumption that TB is also 64 bits, I've adopted TB = 1/(72 ticks/s)... ...so, for a 24fps CFR INPUT to a 24fps CFR OUTPUT for example, ffmpeg -i INPUT -vf settb=expr=1/72,setpts=N*3...setpts=N/24/TB,fps=24 OUTPUT sets a high resolution TB in the pipeline. With 'settb=expr=1/72,setpts=N*3' to prep the pipeline, and 'setpts=N/24/TB,fps=24' to terminate the pipeline, I've been doing temporally-perfect manipulations of frames and fields that don't produce VFR in the encoder. ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] filter pipeline 'PTS' -- int64_t?
On 2021-03-01 16:43, Mark Filipak (ffmpeg) wrote: The ffmpeg filter pipeline assigns a 'PTS' to each frame, frame by frame. Is *that* 'PTS' an int64_t? I don't know how to answer this question. I don't know of a single piece of code which is the "ffmpeg filter pipeline". I understand that term to refer to a collection of design parameters which organises the interaction of code modules. It is the code modules which store Presentation Timestamps (PTSs). It is meaningful, I believe, to ask if the code modules store PTS values as int64_t types. I believe the answer is generally "yes". The C++ standards define int64_t as a "signed integer type with width of exactly… 64 bits… with no padding bits and using 2's complement for negative values". Source: https://en.cppreference.com/w/cpp/types/integer . Thus data values of type int64_t are capable of storing negative integer values. Things I have found. https://ffmpeg.org/ffmpeg-filters.html#fps-1 "...trim any frames with a negative PTS." That implies that PTS can be negative (ergo, is a signed integer). Yes, I believe that FFmpeg will accept and generate streams which have negative values for PTS. http://svn.ffmpeg.org/doxygen/1.0/structAVFrame.html Is AVFrame the structure of frames in the filter pipeline? If so, then "int64_t pts " presentation timestamp in time_base units (time when frame should be shown to user) If "AV_NOPTS_VALUE then frame_rate = 1/time_base will be assumed." appears to answer my question, unless it's a different 'frame'... ...What exactly is 'AVFrame'? I am not sure. I won't try to answer this question. http://svn.ffmpeg.org/doxygen/1.0/avformat_8h-source.html "00320 typedef struct AVFrac { "00321 int64_t val, num, den; "00322 } AVFrac;" http://svn.ffmpeg.org/doxygen/1.0/structAVFrac.html#_details "The exact value of the fractional number is: 'val + num / den'." That appears to be a definition of something called "PTS" but seems to not be what's assigned to a frame in the filter pipeline. That code looks to me like it defines a data type for storing rational numbers. The copyright notice on that module says year 2001, and "Fabrice Bellard", the original developer of FFmpeg. That hints that this module is old code. A mention of PTS there is perhaps a statement of 20-year-old intentions, rather than a claim about what the current code does. The fact that the code defines a data type does not say whether the code actually uses that data type. The label (name) of what is actually assigned to frames in the filter pipeline as 'PTS' is unknown to me. I don't know how to answer this question. See above about the concept of a "filter pipeline". Best regards, —Jim DeLaHunt ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] repeat a frame
Am Di., 2. März 2021 um 17:50 Uhr schrieb Mark Filipak (ffmpeg) : > > I've searched the docs one-by-one. I seek a simpler way to repeat a frame. Increase the frame rate, either with the fps filter or the ffmpeg option "-r". They differ in their greediness and verbosity on the status line. Carl Eugen ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] repeat a frame
On 2021-03-02 11:53, Paul B Mahol wrote: On Tue, Mar 2, 2021 at 5:50 PM Mark Filipak (ffmpeg) wrote: I've searched the docs one-by-one. I seek a simpler way to repeat a frame. This: split[1][2],[1]setpts=(N+floor(N/4))/FR/TB[3],[2]select=eq(mod(n\,4)\,3),setpts=(N*5+4)/FR/TB[4],[3][4]interleave works, but perhaps there's an easier way that I'm just not seeing. What timestamps repeated frame should have? Hey Paul. Thanks. 'PTS's don't matter. I can manipulate 'TB' & 'PTS's as needed ...The stream is CFR. If 'shuffleframes' could insert frames, for example shuffleframes=0 1 2 3 +3 I'd do that, but 'shuffleframes' doesn't have a '+' operator. I do have a method that works (above). I'm just wondering whether there's a simpler way. Thanks! ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] repeat a frame
On Tue, Mar 2, 2021 at 5:50 PM Mark Filipak (ffmpeg) wrote: > I've searched the docs one-by-one. I seek a simpler way to repeat a frame. > > This: > > > split[1][2],[1]setpts=(N+floor(N/4))/FR/TB[3],[2]select=eq(mod(n\,4)\,3),setpts=(N*5+4)/FR/TB[4],[3][4]interleave > > works, but perhaps there's an easier way that I'm just not seeing. > What timestamps repeated frame should have? > > Suggestions are welcome. Thanks! > > - Mark. > ___ > ffmpeg-user mailing list > ffmpeg-user@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe". ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-user] repeat a frame
I've searched the docs one-by-one. I seek a simpler way to repeat a frame. This: split[1][2],[1]setpts=(N+floor(N/4))/FR/TB[3],[2]select=eq(mod(n\,4)\,3),setpts=(N*5+4)/FR/TB[4],[3][4]interleave works, but perhaps there's an easier way that I'm just not seeing. Suggestions are welcome. Thanks! - Mark. ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] Issue when adding a title to an audio stream within a mp4 file
On Mon, Mar 01, 2021 at 15:17:40 +0100, PPRJ01 wrote: > But ... I don't understand what you are planning to do. I'm not planning to do anything. I checked whether this could easily be fixed, but it cannot with my knowledge. > Please tell me if I'm right or wrong : > - ffprobe/ffmpeg will display the data contained in the "name" atom to > stdout/stderr No. When reading a file, ffmpeg does not understand it. > BUT > - ffmpeg will NOT be able to copy the audio stream "title" to a new MP4 > output file by using the -c copy option Correct, ffmpeg does not understand your title when reading, and can therefore also not convey it to an output file. An ffmpeg developer, especially one who knows their way around atoms, might be able to fix this. (I can give more details what my issues were, if anyone picks this up.) Moritz ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] [help]does ffmpeg support AJA kona as input devices
> Am 02.03.2021 um 07:37 schrieb 梦开始的地方 <382607...@qq.com>: > > I use it on linux,how to compile ffmpeg with video4linux support kona Every Linux binary by default comes with video4linux2 support, you have to actively disable it if you don’t want it. Carl Eugen ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] Linux 64 bit ffmpeg compilation
> Am 02.03.2021 um 03:41 schrieb KRISHNAKUMAR N K : > > I have followed ffmpeg compilation guide " > https://trac.ffmpeg.org/wiki/CompilationGuide/Centos; and its successful, > would like to know FFmpeg is 64bit by default (or) should i need to enable > any flags / properties. This only depends on your toolchain: If you don’t specify a compiler when calling configure the default system compiler will be used. On Intel 64bit systems, the system compiler most likely will default to 64bit. But this is not necessarily always the case, and on non-Intel 64bit systems it is common for the system compiler to default to 32bit. There is a configure option „--cc“ that you can use to force 32 or 64 bit compilation: ./configure --cc=gcc -m32 (Needs parentheses around gcc -m32!!) Carl Eugen ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".