[Ffmpeg-devel-irc] ffmpeg.log.20180412
burek
burek021 at gmail.com
Fri Apr 13 03:05:01 EEST 2018
[00:42:17 CEST] <wfbarksdale> its starting to seem like the concept of "frame rate" doesnt really exist at the lowest levels of video, but rather pts and time base. and framerate is just a generalization of this, is that accurate to say?
[00:44:54 CEST] <DHE> that's how ffmpeg abstracts it, yes. some formats may have internal requirements and ffmpeg will do its best to dance around them
[00:46:01 CEST] <JEEB> yes, a "frame rate" is a simple case of PTS + time base
[00:46:41 CEST] <JEEB> where all samples have a N+1 PTS, and their duration is the time base, which is 1/FRAME_RATE
[00:47:09 CEST] <wfbarksdale> there is no requirement that the distance between each PTS is a constant within the same stream
[00:48:10 CEST] <JEEB> no, and f.ex. many videos captured by modern mobile devices are actually variable frame rate
[00:48:53 CEST] <wfbarksdale> makes sense
[01:07:21 CEST] <JEEB> wfbarksdale: now think of the headache when a container has a hard-coded time base ;) (FLV has 1/1000, MPEG-TS has 1/90000)
[01:11:15 CEST] <DHE> iirc AVI has a fixed framerate, with the hack that you can skip some frames but you have to write a zero byte packet into the stream.
[01:11:43 CEST] <DHE> so VFR basically has overhead. it's best used in the situation where it's CRF but some specific frames are dropped
[01:15:07 CEST] <JEEB> yes, AVI is one of those without a real timestamp info
[01:15:22 CEST] <JEEB> that's the container most people get the idea of "frame rate" from
[01:15:25 CEST] <JEEB> since it has a field for that
[01:15:34 CEST] <JEEB> instead of modern timestamps
[01:20:26 CEST] <DHE> AVI is just deficiency after deficiency, but that just means you can bring it up as a counterexample to everything.
[02:19:36 CEST] <kiroma> Hey, I tried to compile a fully static build of ffmpeg and it failed with lots of undefined references.
[02:50:11 CEST] <wfbarksdale> I am trying to stitch some clips of videos together using the C++ API. It seems to be working, but for some reason its not playing in quicktime and I am wondering if there are any standard gotchyas for this?
[02:50:57 CEST] <wfbarksdale> here is the output of ffprobe: https://pastebin.com/aBBPcPV8
[04:09:26 CEST] <FurretUber> Hi, I am trying to record screen video and microphone and speaker audio. However, they are out of sync. I have noticed each stream is starting in a different moment: https://paste.ubuntu.com/p/zrw7mWq5RG/
[04:09:35 CEST] <FurretUber> Is there a way to make them start at the same instant?
[09:27:32 CEST] <alone-y> hello! can i do a several crops from one file and save it to new file?
[09:36:48 CEST] <dragmore88> Anyone have trouble getting x265 parameters to be passed through to the lib? im doing :hrd but the lib doesn want to use it.. i get no error tho.. anyone have any idea?
[09:37:08 CEST] <dragmore88> "ffmpeg -i source.mp4 -pix_fmt yuv420p -codec:v libx265 -x265-params rc-lookahead=50:keyint=100:min-keyint=50:hrd -preset slow -crf 20 -force_key_frames "expr:eq(mod(n,50),0)" -c:a copy -y test1.ts "
[09:37:32 CEST] <th3_v0ice> Hi guys! Does anyone know what could cause a green line to appear at the top of the video? Interestingly that green line only appears on some custom player, it doesnt appear on VLC, MPC, or even Chrome. Any help would be appreciated. By the looks of it some error concleament could be the problem but the stream is playing fine in other players.
[09:37:48 CEST] <dragmore88> mediainfo reports : / no-hrd /
[09:37:58 CEST] <th3_v0ice> dragmore88: Try :hrd=1
[09:38:05 CEST] <dragmore88> ok ill try now
[09:39:36 CEST] <dragmore88> th3_v0ice,same problem, "/ no-hrd /"
[09:40:52 CEST] <th3_v0ice> dragmore88: Are you using the latest version of the FFmpeg? Try also -log_level debug so you can see if the option is parsed at all.
[09:41:06 CEST] <dragmore88> ffmpeg nightly
[09:41:11 CEST] <dragmore88> from yesterdayt
[09:41:24 CEST] <dragmore88> ive tried 3 different versions from the last 2 months.. same problem
[09:42:02 CEST] <th3_v0ice> Use the latest version and try with log_level debuig.
[09:42:07 CEST] <th3_v0ice> *debug
[09:44:38 CEST] <dragmore88> not sure how to read the debug, i can only see a bunch of nal_ref_idc infos + the start and end of the encode
[09:45:09 CEST] <dragmore88> cant find a area spesifically mentioning what parameters sent to the library
[09:46:37 CEST] <dragmore88> saw this one : x265 [warning]: NAL HRD parameters require VBV parameters, ignored
[09:58:21 CEST] <th3_v0ice> dragmore88: Then you need to specify vbv maxrate and vbv bufsize.
[10:40:34 CEST] <dragmore88> well.. vbv_maxrate will kill the CRF ratecontrol... or one can set it artificially high tho.. 25mbps..
[13:11:35 CEST] <alone-y> hello, any one know how to add current time with seconds each frames while capturing?
[13:11:38 CEST] <alone-y> and windows..
[13:11:42 CEST] <alone-y> at windows.
[13:15:03 CEST] <dragmore88> th3_v0ice, it seems that did the trick!
[13:15:29 CEST] <th3_v0ice> Great! :)
[13:15:48 CEST] <dragmore88> now i just need to figure out how to enable HDR together with the nevenc_hevc lib
[13:15:56 CEST] <dragmore88> HRD* even ;)
[13:17:08 CEST] <dragmore88> Performance on nvenc is quite impressive really, 6.6X RT on my 1070gtx (1080p25 HEVC QP mode) vs. 0.2xRT on my 1800x Ryzen
[13:17:22 CEST] <JEEB> yea, they're for low latency and speed
[13:17:32 CEST] <JEEB> on the other hand they lack compression capabilities
[13:17:40 CEST] <dragmore88> well the VMAF score is almost exact on my test clip
[13:18:01 CEST] <JEEB> VMAF isn't really perfect and if you give them enough rate the difference will be smaller
[13:18:05 CEST] <alone-y> how to use local time right
[13:18:08 CEST] <alone-y> ?
[13:18:25 CEST] <alone-y> text=%%{localtime&&"
[13:18:26 CEST] <dragmore88> yea.. locked the QP at 21.. so it really gives the HEVC codec little work
[13:19:14 CEST] <dragmore88> CRF20 with HEVC can easily be transparent now in the 2-3mbps domain..
[13:19:23 CEST] <dragmore88> (1080p25)
[13:19:29 CEST] <dragmore88> quite impressive
[13:22:39 CEST] <alone-y> '%{localtime\:%H %M %S}' not working to
[13:40:41 CEST] <alone-y> why text=%%{localtime}
[13:40:51 CEST] <alone-y> only show one same time?
[13:40:56 CEST] <alone-y> without increment
[13:51:07 CEST] <c_14> probably needs :eval=frame
[13:51:44 CEST] <c_14> hmm, doesn't look like an option
[14:14:30 CEST] <alone-y> hi, can i put SEVERAL text at the video/
[14:14:31 CEST] <alone-y> ?
[14:59:13 CEST] <alone-y> .
[15:08:19 CEST] <zevarito> is it possible that sample_fmt gets overrided after open the context? for example Ive set s16 before open and after open I got fltp.
[15:21:03 CEST] <DHE> opening a decoder? it sets the sample_fmt
[15:21:20 CEST] <DHE> check the docs for the field. it indicates who sets/controls the value
[15:24:23 CEST] <zevarito> sorry, encoder, but just realized that libfdk_aac just support s16, that would be the reason I guess
[15:25:56 CEST] <zevarito> DHE: but in the case of decoding opus with libopus, the library supports s16 and flt, once Ive set s16 it gets overrided to flt
[15:27:17 CEST] <zevarito> actually FLTP, which is kind of weird considering that ffmpeg -h decoder=libopus display FLT,S16 only
[15:30:08 CEST] <spicypixel> hey, is it possible to take a filelist of 8000 tiles, use concat to combine them, but also use segment to split it into hourly chunks?
[15:30:12 CEST] <spicypixel> files*
[15:30:40 CEST] <spicypixel> like I have a lot of CCTV mp4 files but the source program (unifi video) writes them to disk in 5MB files
[15:30:54 CEST] <spicypixel> so over the period of a day you end up with nearly 10,000 files
[15:30:54 CEST] <FurretUber> I am trying to record screen video and microphone and speaker audio. However, they are out of sync. I have noticed each stream is starting in a different moment: https://paste.ubuntu.com/p/8PBnqB4q48/
[15:30:54 CEST] <FurretUber> Is there a way to make all streams start at the same instant?
[15:31:43 CEST] <spicypixel> I can do it with two lines, first doing the concat then segmenting the output file, but it's a 60GB file
[15:32:04 CEST] <spicypixel> so it chews a lot of space to have that + the 60GB source files + segmented output
[15:35:21 CEST] <DHE> zevarito: see request_sample_fmt
[15:37:57 CEST] <Bear10> If I have an hls that was generated with the live flag is there a way to easily convert it to a not live once it's done? Should I just modify the manifest myself by adding the ext-x-endlist at the end or does ffmpeg have a command that'll do this fast?
[15:43:22 CEST] <zevarito> DHE: should be called before or after open the context?
[15:50:01 CEST] <furq> spicypixel: have you actually tried doing it in one command
[15:50:08 CEST] <spicypixel> I'm trying it now
[15:50:11 CEST] <furq> it should just work exactly as one would expect
[15:50:55 CEST] <spicypixel> I think what was causing an issue was the source files have some missing framerate metadata, forced it with -r 30
[15:51:10 CEST] <spicypixel> since without it it was spitting it out in the same size chunks as the source
[15:52:01 CEST] <spicypixel> will report once it's chewed a bit of the file, doing 1 hour chunks out of a 60GB MP4 takes a while
[15:52:37 CEST] <spicypixel> on that note is there anything I can do to speed up concat? it's not hitting cpu or drive IO limits from what I can see, just chugging along at 50% on each
[15:53:27 CEST] <furq> are you reencoding
[16:04:07 CEST] <th3_v0ice> Does anyone know what could cause a green line to appear at the top of the video? Interestingly that green line only appears on some custom player, it doesnt appear on VLC, MPC, or even Chrome. Any help would be appreciated. By the looks of it some error concleament could be the problem but the stream is playing fine in other players.
[16:05:27 CEST] <Mavrik> Maybe the video size isn't multiple of 16 and the player can't handle that?
[16:16:23 CEST] <spicypixel> furq: no -c copy
[16:16:31 CEST] <spicypixel> and after some testing it works on some of the folders and not others
[16:16:35 CEST] <spicypixel> but no apparent error
[16:25:06 CEST] <th3_v0ice> Mavrik: Interesting point!
[16:27:25 CEST] <spicypixel> ok furq https://pastebin.com/raw/tHTn7rwG is the verbose log when it works, filelist.txt was generated the same way as the other folder, this newer folder however gives this: https://pastebin.com/raw/rA3LBW1n
[16:28:00 CEST] <spicypixel> radically different log output, in the first log it's creating the 1 hour segments from the 5MB source files, in the second it's just spitting out a 1:1 copy of the source files, albeit named output000.mp4 etc
[16:28:45 CEST] <spicypixel> command for reference: C:\ffmpeg.exe -loglevel verbose -auto_convert 1 -f concat -safe 0 -i filelist.txt -c copy -reset_timestamps 1 -segment_time 3600 -f segment output%03d.mp4
[16:30:10 CEST] <spicypixel> also sorry about log parsing, powershell is messing up newlines
[16:31:34 CEST] <spicypixel> but in the latter log you can see it's doing nothing but opening up lots of new files and dumping the data 1:1 without changing the segment size, it's opening 5MB files and making 5MB files
[16:32:38 CEST] <spicypixel> I'm wondering, can you put an -r flag for input as well as export?
[16:36:11 CEST] <spicypixel> just confused why it's doing the correct segmentation on otherwise very similar folders, in this case, two days ago CCTV vs yesterday
[16:36:20 CEST] <spicypixel> similar size of files, similar files, etc
[16:42:02 CEST] <spicypixel> it'd make a lot more sense if it didn't work at all
[16:44:19 CEST] <spicypixel> okay so I think the source timestamps/framerates are the issue
[16:50:49 CEST] <zevarito> is needed to re-sample audio frames when using the new avcodec_send_packet/avcodec_receive_frame/avcodec_send_frame/avcodec_receive_packet API ?
[16:57:28 CEST] <spicypixel> the segments are dash (iso6/avc1/mp41) if that matters
[17:09:20 CEST] <spicypixel> https://pastebin.com/raw/YhXSTpaS first source file vs https://pastebin.com/raw/Ue1GU126 the output, direct copy seemingly
[17:21:46 CEST] <Enverex> Hi all. I'm trying to build an old version of ffmpeg (3.4.2) and that used to build fine, but it's recently started failing with an "ERROR: gnutls not found using pkg-config" error which is a bit weird. Any ideas why jump to mind?
[17:24:30 CEST] <Enverex> I'm wondering if a new version of GCC broke it as the error in the config.log appears to be - gcc: error: AppKit: No such file or directory. gcc: error: unrecognized command line option '-framework'
[17:25:59 CEST] <Enverex> This is a Linux machine but oddly though the only thing I can find when searching for that is that the configure script thinks it's building for MacOS for some reason.
[18:11:23 CEST] <manj-gnome> Does anyone know how I can identify when a video has no sound?
[18:13:13 CEST] <Mavrik> Use ffprobe to see which streams it contains?
[18:13:24 CEST] <Mavrik> Unless you have a case where you have an audio stream just with no data
[18:16:43 CEST] <manj-gnome> is a YouTube video that when downloading recognizes the audio codec but does not contain sound.
[18:30:08 CEST] <manj-gnome> ?
[18:32:18 CEST] <manj-gnome> help me please
[18:39:20 CEST] <manj-gnome> Does anyone know how I can identify when a video has no sound? the video has audio codec but no sound
[18:44:46 CEST] <manj-gnome> Anyone?
[18:49:54 CEST] <klaxa> voldetect filter maybe?
[18:50:45 CEST] <manj-gnome> How is it used?
[18:51:15 CEST] <klaxa> https://www.ffmpeg.org/ffmpeg-filters.html#volumedetect
[18:52:19 CEST] <durandal_1707> klaxa: silencedetect too
[18:52:38 CEST] <klaxa> oh, even better probably
[18:53:29 CEST] <manj-gnome> Do you know what the syntax is?
[18:55:32 CEST] <klaxa> https://www.ffmpeg.org/ffmpeg-filters.html#silencedetect then see examples?
[18:56:15 CEST] <manj-gnome> I already found it, thank you very much
[19:22:32 CEST] <wfbarksdale> does an mp4 frame actually contain a duration? or is the duration populated by looking ahead in the stream?
[19:22:51 CEST] <JEEB> ISOBMFF has duration fields for all samples available
[19:23:26 CEST] <JEEB> so it is one of the few containers where you know for how long the last sample should be shown :)
[19:30:02 CEST] <wfbarksdale> that was a smart move
[19:33:31 CEST] <wfbarksdale> when stitching two videos together, is it advisable to force keyframes at the transition?
[19:36:09 CEST] <wfbarksdale> perhaps the encoding context handles this automatically
[19:43:08 CEST] <spicypixel> wfbarksdale: concat method will help dictate that I'd have thought? if you're remuxing it won't give you much choice right?
[19:45:27 CEST] <wfbarksdale> spicypixel: erm, i'm remuxing. doing everything "by hand" using avcodec_send_frame -> avcodec_receive_packet -> av_interleaved_write_frame
[19:45:55 CEST] <wfbarksdale> to be honest I totally missed the concat method
[19:46:00 CEST] <spicypixel> oh right
[19:46:11 CEST] <spicypixel> two of the same file type etc?
[19:46:21 CEST] <spicypixel> same codecs, encoding settings
[19:46:26 CEST] <spicypixel> if so just concat them
[19:47:23 CEST] <wfbarksdale> for my application, i can be restrictive on codecs, but not restrictive on resolution / framerate
[19:47:58 CEST] <wfbarksdale> will concat handle the changes in resolution?
[19:58:48 CEST] <spicypixel> when combining? you can re-encode with concat too
[19:59:02 CEST] <spicypixel> ideally you want all the source parts the same so you can remux
[19:59:26 CEST] <spicypixel> https://www.ffmpeg.org/faq.html#How-can-I-concatenate-video-files_003f
[19:59:37 CEST] <spicypixel> filter mode vs demuxer
[20:02:02 CEST] <spicypixel> I've spent too long today reading about concat in ffmpeg for any one to claim healthy, sigh
[20:21:28 CEST] <teratorn> so I'm working on a filter pipleline... I have a scale because I need to use scale to fix my SAR to as close to 1:1 as possible, then i setstar=1/1, then I scale again (keeping X/Y ratio the same) in order to reduce padding later... it seems like I ought to be able to combine both scales and still end up with a 1/1 SAR right?
[20:30:10 CEST] <kepstin> teratorn: yeah, just scale directly to whatever you decide the final size is
[20:30:24 CEST] <kepstin> and then do the setsar filter on it to clean up rounding
[20:30:31 CEST] <teratorn> yup, brilliant
[20:32:33 CEST] <kepstin> should be noticably faster than doing 2 scales, and probably look better too
[20:57:08 CEST] <ejr> is there a way to reduce the resolution of a video to e.g. half its original size, without specifying the explicit resolution?
[20:57:31 CEST] <c_14> scale=iw/2:-2
[20:57:57 CEST] <ejr> c_14: thanks!
[22:12:48 CEST] <ejr> follow up question, though not really related to the first one: whenever i convert video to audio with ffmpeg on gnu/linux and give the audio file to a friend who uses mac os, the length is portrayed twice as long to him in itunes/vlc/... .not sure if this is due to ffmpeg or the mac though?
[22:14:22 CEST] <kepstin> what codec/file format?
[22:15:15 CEST] <ejr> mp4 to mp3
[22:15:53 CEST] <kepstin> hmm. mp3 length is *weird*, particularly with vbr files, and some older versions of ffmpeg didn't write it correctly, i think
[22:23:39 CEST] <gh0st3d> Hey everyone, we are creating a video file using these 2 lines: https://apaste.info/K6fU, the first strips audio from one video and trims + fades it out, then the second line adds that audio to another video file. One of our users reported no audio in ipad safari, the only thing I can find is that they only support "low-complexity mp3"
[22:23:49 CEST] <gh0st3d> Is that something I have control of with these lines?
[22:26:33 CEST] <durandal_1707> gh0st3d: you mean low complexity aac?
[22:28:19 CEST] <gh0st3d> Ah yeah, I suppose I read their sentence differently than intended. "Safari on iOS supports low-complexity AAC audio, MP3 audio, AIF audio, WAVE audio, and baseline profile MPEG-4 video."
[22:29:32 CEST] <gh0st3d> Hmm, looks like maybe it's because the videos are created with "Main" profile... Is that something that could cause video with no audio?
[22:29:50 CEST] <kepstin> gh0st3d: no, a problem with the video would mean no video :)
[22:30:08 CEST] <gh0st3d> Sigh. I hate this stuff :(
[22:30:12 CEST] <kepstin> it might just not like mp3 audio in an mp4 container, you could try re-encoding to aac.
[22:30:37 CEST] <kepstin> (ffmpeg's builtin aac encoder does aac-lc)
[22:31:09 CEST] <gh0st3d> I'm looking up how to save the first videos audio to aac now
[22:32:14 CEST] <Mavrik> iPads easily support high profile and HE-AAC so you have another issue
[22:32:29 CEST] <Mavrik> also don't put mp3 in MP4 containers if you want applez to love you
[23:00:37 CEST] <gh0st3d> Well I've got it recreated with the aac file, let's hope it plays in stupid safari haha. Thanks for the info!
[23:00:48 CEST] <ariyasu> i never knew ffmpeg was a satelite tv broadcaster
[23:01:32 CEST] <ariyasu> https://i.imgur.com/LUstSfq.png
[23:04:37 CEST] <klaxa> lol
[23:56:15 CEST] <lemontea> I notice there is a lot of depracated functions, instead of av_register_all() what do you want us to call in order to initialize the codecs?
[23:56:43 CEST] <klaxa> nothing
[23:57:07 CEST] <klaxa> at least that worked for me?
[23:59:09 CEST] <JEEB> yes, that functionality is now done at build time
[23:59:19 CEST] <JEEB> so no such registration of things required during run time
[00:00:00 CEST] --- Fri Apr 13 2018
More information about the Ffmpeg-devel-irc
mailing list