[Ffmpeg-devel-irc] ffmpeg.log.20190321

burek burek021 at gmail.com
Fri Mar 22 03:05:02 EET 2019


[00:05:45 CET] <retal> furq,  thank you !
[00:06:46 CET] <retal> furq, Unknown option "--enable-cuda-nvcc"
[00:08:10 CET] <furq> that's a configure option
[00:09:54 CET] <retal> furq, yes. i receive error when try  configure : ./configure --enable-nvenc --enable-libx264 --enable-gpl --enable-cuda --enable-cuvid --enable-cuda-nvcc
[00:10:26 CET] <furq> weird
[00:10:28 CET] <furq> https://github.com/FFmpeg/FFmpeg/blob/master/configure#L323
[00:10:49 CET] <furq> you do need --enable-nonfree for that but that should give a different error
[00:14:48 CET] <retal> furq, with  --enable-nonfree same error
[00:18:33 CET] <furq> weird
[00:18:41 CET] <furq> i don't have an nvidia card so i can't really test
[00:19:18 CET] <retal> :(
[00:23:53 CET] <faLUCE> is there a way to remove extradata from an avpacket? something that converts framed stream to bytestream ....
[00:24:45 CET] <faLUCE> retal: paste the error
[00:26:47 CET] <retal> faLUCE, ffmpeg-4.1.1# ./configure  --enable-nonfree --enable-nvenc --enable-libx264 --enable-gpl --enable-cuda --enable-cuvid --enable-cuda-nvcc
[00:26:48 CET] <retal> Unknown option "--enable-cuda-nvcc".
[00:27:47 CET] <faLUCE> retal: try --enable-cuda-sdk
[00:27:56 CET] <furq> oh
[00:28:01 CET] <furq> yeah it's still --enable-cuda-sdk in 4.1.1
[00:28:07 CET] <furq> i guess it only just got changed
[00:29:41 CET] <retal> ERROR: cuda_sdk not found
[00:30:21 CET] <faLUCE> retal: do you use linux? which distro
[00:30:22 CET] <faLUCE> ?
[00:30:37 CET] <retal> Ubintu 18.04
[00:31:09 CET] <faLUCE> wait
[00:33:04 CET] <faLUCE> retal: https://developer.nvidia.com/cuda-downloads
[00:33:11 CET] <faLUCE> then install it
[00:34:57 CET] <retal> so i need download and install CUDA SDK also ?
[00:35:35 CET] <faLUCE> what should I do in order to convert framed stream to/from bitstream? is it really necessary to use a filter? something like  AVBitStreamFilter ?
[00:35:38 CET] <faLUCE> retal: yes
[00:35:57 CET] <retal> tnx
[00:48:06 CET] <ginel> I'd like to have audio in the output from this:
[00:48:07 CET] <ginel> http://paste.debian.net/1074018/
[00:48:27 CET] <ginel> and input 2 (http://site.me:8081/) is an HTTP audio stream
[00:48:36 CET] <ginel> I'm not sure how to do it
[01:01:03 CET] <ginel> when I try "ffmpeg -i http://site.me:8081/ test.mp3" ffmpeg does identify that input #0 is an mp3 audo stream after a short delay but doesn't actually write anything to file.
[01:08:42 CET] <ginel> I figured out the problem. my HTTP stream wasn't working properly
[01:18:42 CET] <ginel> is there a way to make ffmpeg continue processing even if an input (an HTTP stream) stops working?
[01:19:19 CET] <ginel> I like that it reconnects when it's available again but I don't like that the output just pauses until it does
[01:36:07 CET] <retal> faLUCE, I installed CUDA SDK, add /usr/local/cuda-10.1/lib64 to /etc/ld.so.conf
[01:36:07 CET] <retal> run ./configure --enable-nonfree --enable-gpl --enable-nvenc --enable-libx264 --enable-cuda-sdk
[01:36:07 CET] <retal> Copied headers feom Samples/common/inc/*.h /usr/local/include
[01:36:07 CET] <retal> As result:
[01:36:07 CET] <retal> ERROR: cuda_sdk not found
[01:40:09 CET] <faLUCE> retal: which cuda headers do you have in /usr/local/include ?
[01:40:26 CET] <faLUCE> retal: also run "ldconfig"
[01:41:14 CET] <faLUCE> but... did you copy  manually the headers of cuda ???
[01:41:51 CET] <retal> ldconfig applied
[01:41:56 CET] <retal> i have: common.mk              ffnvcodec             helper_functions.h     helper_string.h  libavformat    multithreading.h  nvShaderUtils.h      rendercheck_d3d11.h  x264_config.h
[01:41:57 CET] <retal> drvapi_error_string.h  GL                    helper_gl.h            helper_timer.h   libavutil      nvMath.h          nvVector.h           rendercheck_d3d9.h   x264.h
[01:41:57 CET] <retal> dynlink_d3d10.h        helper_cuda_drvapi.h  helper_image.h         libavcodec       libpostproc    nvMatrix.h        paramgl.h            rendercheck_gles.h
[01:41:57 CET] <retal> dynlink_d3d11.h        helper_cuda.h         helper_math.h          libavdevice      libswresample  nvQuaternion.h    param.h              rendercheck_gl.h
[01:41:59 CET] <retal> exception.h            helper_cusolver.h     helper_multiprocess.h  libavfilter      libswscale     nvrtc_helper.h    rendercheck_d3d10.h  timer.h
[01:42:08 CET] <retal> yes i manualy copied
[01:42:31 CET] <faLUCE> retal: no, never manually copy!!
[01:42:49 CET] <faLUCE> why did you do that?
[01:42:59 CET] <retal> :)
[01:43:25 CET] <faLUCE> why did you do that?
[01:44:18 CET] <retal> i remember before cople years ago manualy copy files from Samples/common/inc/*.h to  /usr/local/include :)
[01:45:37 CET] <faLUCE> you don't have to do that. first of all, copying headers doesn't mean that a library is installed
[01:45:55 CET] <faLUCE> (you have to put in right places also the binary files)
[01:46:30 CET] <faLUCE> now, chech the install command of the install script, and execute that. But remove the manually copied headers firstly
[01:46:38 CET] <faLUCE> (check)
[01:47:24 CET] <jab416171> frame=  733 fps= 16 q=30.0 size=   27392kB time=00:00:18.72 bitrate=11985.5kbits/s dup=0 drop=1354 speed=0.401x
[01:47:29 CET] <jab416171> does this mean frames are being dropped? and why?
[01:47:49 CET] <retal>  sh cuda_10.1.105_418.39_linux.run
[01:47:50 CET] <retal> then copied files
[01:48:25 CET] <faLUCE> retal: you are not following what I said
[01:48:33 CET] <faLUCE> 1) remove the manually copied files
[01:48:39 CET] <retal> ok
[01:48:53 CET] <faLUCE> 2) use the INSTALL feature of the script
[01:49:05 CET] <faLUCE> I mean: don't copy manually the files
[01:56:29 CET] <retal> faLUCE, i removed files, uninstalled CUDA with cuda-uninstaller, and reinstalled with command: sh cuda_10.1.105_418.39_linux.run
[01:57:14 CET] <faLUCE> are sure they are installed? did you sudo the command?
[01:57:53 CET] <retal> = Summary =
[01:57:54 CET] <retal> ===========
[01:57:54 CET] <retal> Driver:   Installed
[01:57:54 CET] <retal> Toolkit:  Installed in /usr/local/cuda-10.1/
[01:57:54 CET] <retal> Samples:  Installed in /home/user/, but missing recommended libraries
[01:57:54 CET] <retal> Please make sure that
[01:57:56 CET] <retal>  -   PATH includes /usr/local/cuda-10.1/bin
[01:57:58 CET] <retal>  -   LD_LIBRARY_PATH includes /usr/local/cuda-10.1/lib64, or, add /usr/local/cuda-10.1/lib64 to /etc/ld.so.conf and run ldconfig as root
[01:58:33 CET] <faLUCE> ok, as said before, run ldconfig
[01:58:35 CET] <faLUCE> (as root)
[01:58:51 CET] <retal> alredy raned
[01:59:07 CET] <faLUCE> ok, now try to configure again
[01:59:53 CET] <retal>  ./configure --enable-nonfree --enable-gpl --enable-nvenc --enable-libx264 --enable-cuda-sdk
[01:59:53 CET] <retal> ERROR: cuda_sdk not found
[02:01:10 CET] <faLUCE> retal: [01:57] <retal> Samples:  Installed in /home/user/, but missing recommended libraries
[02:01:20 CET] <faLUCE> it seems that libraries are not installed
[02:01:54 CET] <faLUCE> now, look at /usr/local/cuda-10.1/bin,... what is there?
[02:02:21 CET] <faLUCE> in addition: did you SUDO the install script ?
[02:03:53 CET] <retal> Install script i run from root
[02:03:55 CET] <retal> bin2c        crt       cuda-gdb        cuda-install-samples-10.1.sh  cuda-uninstaller  fatbinary            nsight                       nvcc          nvdisasm  nvprof   nvvp
[02:03:56 CET] <retal> computeprof  cudafe++  cuda-gdbserver  cuda-memcheck                 cuobjdump         gpu-library-advisor  nsight_ee_plugins_manage.sh  nvcc.profile  nvlink    nvprune  ptxas
[02:04:22 CET] <faLUCE> ok, retal what's the output of:   echo $PATH
[02:05:15 CET] <retal> bash: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games: No such file or directory
[02:05:50 CET] <faLUCE> ok, and what is the output of:   "echo $LD_LIBRARY_PATH" ?
[02:08:56 CET] <faLUCE> (in short: you have to change that vars)
[02:09:16 CET] <retal> faLUCE, its empty :(
[02:09:33 CET] <faLUCE> ok, first of all:
[02:09:34 CET] <retal> but i added /usr/local/cuda-10.1/lib64 to /etc/ld.so.conf
[02:10:19 CET] <faLUCE> execute:    PATH=$PATH:/usr/local/cuda-10.1/bin
[02:10:47 CET] <retal> done
[02:10:53 CET] <faLUCE> then echo $PATH again and see if it outputs the cuda dir too
[02:11:14 CET] <retal> i see output
[02:11:26 CET] <faLUCE> do you see the cuda dir too, in the output?
[02:11:47 CET] <retal> yes - usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/cuda-10.1/bin
[02:11:56 CET] <faLUCE> ok, try to configure again ffmpeg
[02:12:10 CET] <faLUCE> if it fails we have to adjust LD_LIBRARY_PATH too
[02:13:33 CET] <faLUCE> also: be sure to not configure as root. and be sure that "echo $PATH" shows the cuda dir when executed as normal user (non root)
[02:15:21 CET] <retal> Aded LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.1/bin
[02:15:31 CET] <retal> again same error
[02:15:32 CET] <retal> :)
[02:16:15 CET] <faLUCE> no, this is not the library path
[02:16:39 CET] <faLUCE> this is the path for the executables
[02:17:07 CET] <XXXmaker> hy do i get 100 error when i convert  .wma to .opus   https://pastebin.com/pE62qS52
[02:17:13 CET] <faLUCE> you have to figure where the library is installed.  Check what is inside  /usr/local/cuda-10.1/
[02:17:26 CET] <faLUCE> if there are .so files
[02:18:17 CET] <retal> sorry shuld be /usr/local/cuda-10.1/lib64
[02:18:39 CET] <faLUCE> yes, check if inside that dir there are the libraries
[02:19:30 CET] <XXXmaker> hy do i get 100 error when i convert  .wma to .opus   https://pastebin.com/pE62qS52
[02:19:33 CET] <retal> yes its libs libaccinj64.so                libcuinj64.so.10.1       libnppc.so.10           libnppidei_static.a    libnppisu.so.10         libnvjpeg_static.a
[02:19:34 CET] <retal> libaccinj64.so.10.1           libcuinj64.so.10.1.105   libnppc.so.10.1.105     libnppif.so            libnppisu.so.10.1.105   libnvrtc-builtins.so
[02:19:34 CET] <retal> libaccinj64.so.10.1.105       libculibos.a             libnppc_static.a        libnppif.so.10         libnppisu_static.a      libnvrtc-builtins.so.10.1
[02:19:47 CET] <faLUCE> ok, now add THAT dir to LD_LIBRARY_PATH
[02:20:15 CET] <retal> added but same error
[02:20:24 CET] <faLUCE> run also ldconfig
[02:20:27 CET] <faLUCE> as root
[02:20:30 CET] <faLUCE> sudo ldconfig
[02:20:45 CET] <faLUCE> and configure again
[02:22:55 CET] <retal> doest work
[02:23:13 CET] <faLUCE> doesn't ?
[02:23:20 CET] <retal> no
[02:23:29 CET] <retal> echo $LD_LIBRARY_PATH
[02:23:30 CET] <retal> :/usr/local/cuda-10.1/bin:/usr/local/cuda-10.1/lib64
[02:23:44 CET] <retal> may be i shuld delete :/usr/local/cuda-10.1/bin
[02:23:47 CET] <retal> ?
[02:23:51 CET] <faLUCE> no, not necessary
[02:24:14 CET] <pink_mist> I don't think it'll work right with a leading :
[02:24:21 CET] <retal> from LIBRARY PATH i mean
[02:24:21 CET] <faLUCE> but try to add /usr/local/cuda-10.1   to  LD_LIBRARY_PATH
[02:24:30 CET] <faLUCE> without "lib64"
[02:24:55 CET] <faLUCE> pink_mist: right
[02:26:13 CET] <faLUCE> retal: then  just exec:    "LD_LIBRARY_PATH=/usr/local/cuda-10.1/bin:/usr/local/cuda-10.1/lib64:/usr/local/cuda-10.1"
[02:27:11 CET] <retal> same problem
[02:27:15 CET] <faLUCE> (anyway, something is strange/or broken in the installation from script... the user should not have to set these things)
[02:27:40 CET] <faLUCE> ok, wait, I try to install it
[02:27:59 CET] <retal> faLUCE, yes yestordrday i will try reinstall, sorry now i shuld go
[02:28:21 CET] <retal> faLUCE, at morning i wil retry from scrach
[02:28:26 CET] <retal> thank you !
[02:28:33 CET] <faLUCE> night
[02:28:57 CET] <retal> faLUCE, have good night
[02:30:36 CET] <XXXmaker> why do i get 100 error when i convert  .wma to .opus   https://pastebin.com/pE62qS52
[02:34:02 CET] <TheAMM> XXXmaker: Because the timestamps are non-monotonous
[02:34:17 CET] <TheAMM> If the opus sounds fine, you can probably just ignore the warnings
[02:34:24 CET] <TheAMM> wma is wma
[02:34:44 CET] <XXXmaker> theamm what does it mean if "timestamps are non-monotonous"
[02:35:02 CET] <TheAMM> "Queue input is backward in time"
[02:35:22 CET] <XXXmaker> TheAMM then explain why  converting .wma to .aac  only gives 2 errors
[02:35:35 CET] <XXXmaker> and  .wma to .flac  gives me 0 errors
[02:35:36 CET] <DHE> it means the dts between subsequent calls to av_write_frame() (with the same steam index) must be strictly larger than the previous
[02:35:45 CET] <another> also: https://en.wikipedia.org/wiki/Monotonic_function
[02:36:08 CET] <XXXmaker> only errors converting to .aac  ttps://pastebin.com/pE62qS52
[02:36:19 CET] <XXXmaker> i mean https://pastebin.com/HVGutYGx
[02:36:25 CET] <XXXmaker> https://pastebin.com/HVGutYGx
[02:36:36 CET] <XXXmaker> only 2 errors converting to .aac  https://pastebin.com/HVGutYGx
[02:36:41 CET] <TheAMM> Does the resulting file sound okay
[02:37:47 CET] <XXXmaker> TheAMM  2 hour audio so i haven't really tested it
[02:38:02 CET] <XXXmaker> theamm  explain why i get 0 error converting that same .wma to  .flac then
[02:38:18 CET] <TheAMM> Why so demanding
[02:38:33 CET] <XXXmaker> TheAMM sorry
[02:38:41 CET] <XXXmaker> i wasn't trying to
[02:38:53 CET] <TheAMM> Maybe flac can handle out of order samples or something, how would I know
[02:39:10 CET] <TheAMM> I just looked at your paste and read the warnings
[02:39:18 CET] <TheAMM> It's said all in there
[02:39:58 CET] <TheAMM> I do know you're working with wma and I do know not to expect anything good from wma
[02:40:26 CET] <TheAMM> Check your resulting files, if they sound fine then they sound fine and you can ignore the warnings and give it a rest
[02:45:29 CET] <XXXmaker> when i look up mediainfo on  .flac file,  it tells you the  bit depth  whether it's  16bit or 24bit or 8bit,   how do i tell the bit depth of  .opus or .aac file
[02:47:03 CET] <another> afaik bit depth doesn't really apply to lossy audio
[03:04:03 CET] <kepstin> yeah, "bit depth" just refers to the storage size and quantization of pcm audio, but lossy codecs take the audio apart with transformations, filters, mdct and whatnot and then quantize and reduce the result of that... so there's no real way to assign any number of bits in the result to a certain sample.
[03:04:35 CET] <kepstin> fwiw, i think many of the decoders for lossy codecs in ffmpeg actually end up returning floating point (32bit) samples after decoding.
[05:06:48 CET] <XXXmaker> strong-intra-smoothing=x    rect=x    for these 2 options  should i use  1 or 0 ?
[05:36:41 CET] <kepstin> XXXmaker: where do you see those option names? they're not something i recognize
[05:36:58 CET] <XXXmaker> i see them in x265 options
[05:38:19 CET] <kepstin> don't bother manually setting x265 options, just use the presets
[05:40:37 CET] <kepstin> the x265 docs say the strong-intra-smoothing option is on by default, and the rect option is enabled starting with the "slow" preset.
[06:12:29 CET] <XXXmaker> kepstin are you ffmpeg dev ?
[07:04:34 CET] <XXXmaker> why doesn't ffmpeg aac_fdk  support VBR ?
[10:01:36 CET] <spotter> I'm having a weird issue with ffmpeg when I'm trying to use it to cut an mp4.  namely, I'm using -ss and -t to specify the cut and using -c:v copy and -c:a copy as not a transcode.  I'd expect the cut to start on an iframe (-ss man page seems to indicate that its adjusted to go to the last iframe before the -ss timestamp) but it doesn't seem to be happening.  I get audio without video till it hits the next iframe.
[10:11:54 CET] <pink_mist> spotter: that might depend on if you place the -ss and -t before or after the -i
[10:12:11 CET] <pink_mist> I think
[10:13:55 CET] <JEEB> the cuts should always be at samples noted as RAPs
[10:14:02 CET] <JEEB> (random access points)
[10:14:35 CET] <XXXmaker> is there any good  GUI frontend for ffmpeg ?
[10:15:14 CET] <JEEB> XXXmaker: FFmpeg (adn even the example CLI API client ffmpeg.c) does so many things you can't possibly have a good front-end that tries to do all things :P
[10:15:32 CET] <XXXmaker> okay
[10:15:36 CET] <XXXmaker> why doesn't ffmpeg aac_fdk  support VBR ?
[10:15:49 CET] <JEEB> probably because the fdk-aac library doesn't?
[10:15:58 CET] <JEEB> it's just a wrapper around fdk-aac after all
[10:16:14 CET] <XXXmaker> you mean fdk_aac doesn't support VBR?
[10:16:21 CET] <JEEB> spotter: the one thing that can lead to funky stuff is the google-added "advanced edit list" stuff
[10:16:35 CET] <JEEB> try setting -advanced_editlist 0 before input
[10:18:45 CET] <JEEB> spotter: but as far as I know with mp4 output it can also attempt to use a simple edit list on the output side to make things work. so it cuts at the start of the GOP which contains the timestamp you note. and then adjusts the time line so that video only starts playing at the point where you requested
[10:18:55 CET] <JEEB> too bad many players ignore that thing
[10:23:35 CET] <JEEB> if you actually are getting cuts on a non-RAP then something's wrong of course :P
[10:23:46 CET] <JEEB> either the input is borked, or FFmpeg is borked
[10:24:11 CET] <JEEB> but yea, try disabling the GOOG-authored advanced edit list stuff first
[13:37:38 CET] <ncouloute> So this file is still giving me issues. I noticed that using h264 decoder it is only decoding 16067 frames; compared to using h264_qsv (17248) or h264_cuvid (17250).. Any idea how to go about fixing that?
[13:39:35 CET] <Mavrik> You're not flushing it perhaps?
[13:39:46 CET] <Mavrik> That is, passing null packets until it stops emitting frames?
[13:39:55 CET] <Mavrik> Although 1000+ frames difference is a lot :)
[13:43:17 CET] <ncouloute> Not sure what that means exactly but I'm using "ffmpeg -i path-to-mp4 vsync 0 -f null -" Tried to take out everything possible to narrow it down.
[14:07:11 CET] <ncouloute> I'm assuming you are talking about the ffmpeg api perhaps? Time is correct but several frames are missing when I output to a file. Error wise I have 5 "reference picture missing during reorder/Missing reference picture default is x" errors that pop up and 1 Application provided invalid non monotonically increasing dts to muxer in stream 0: 960>=960
[14:29:47 CET] <ncouloute> meh got disconnected
[14:33:13 CET] <dongs> nobody answered your question anyway .
[14:33:20 CET] <ncouloute> lol :(
[14:36:56 CET] <JEEB> ncouloute: either different handling of broken packets (more likely) or the google advanced edit list feature for some reason only breaks the internal decoder. latter you can check by defining -advanced_editlist 0 before the input
[14:37:17 CET] <JEEB> in theory it should break both the hardware decoders and the sw one the same way
[14:51:56 CET] <ncouloute> Same thing with -advanced_editlist 0. I also tried using -enable_er 1. So what options do I have. I tried playing around with *synth apps but getting similar results after deinterlacing. =/
[14:52:48 CET] <JEEB> then I would guess the only way to figure out would be to make a bug ticket about it with a sample where this happens and that can be shared with the community
[14:54:55 CET] <debianuser> XXXmaker: "why doesn't ffmpeg aac_fdk  support VBR ?" -- It does. I use it all the time: `-acodec libfdk_aac -vbr 3 -cutoff 20000`
[15:03:15 CET] <ncouloute> gotcha so I need to make a bug ticket. I can use the gpu decoders for now as a workaround.
[15:06:22 CET] <JEEB> well we still don't know which way it goes. do the hw decoders output useful pictures in those failure cases?
[15:06:32 CET] <JEEB> but as I said, further stuff isn't possible without a sample
[15:09:09 CET] <aboxer> Can anyone comment on state of FFMpeg's closed captioning support ?
[15:09:24 CET] <aboxer> cea 608, cea 708 ,  SEI ?
[15:10:16 CET] <aboxer> I have a MOV that I think has 708 CCs, and with ffprobe, I get  "Unsupported codec with id 0 for input stream 2"
[15:10:42 CET] <aboxer> Stream #0:2(eng): Data: none (tmcd / 0x64636D74) (default)
[15:12:21 CET] <JEEB> aboxer: FFmpeg supports the in-video stream stuff from MPEG-2 Video, AVC and HEVC
[15:12:33 CET] <JEEB> the problem is that streams within a stream are kind of special
[15:12:41 CET] <JEEB> and thus ffmpeg.c doesn't work with them
[15:12:57 CET] <JEEB> tmcd I'm not sure if they're captions
[15:13:06 CET] <JEEB> would have to check my MOV/ISOBMFF references
[15:13:53 CET] <aboxer> thanks JEEB
[15:14:33 CET] <DHE> I know mpv can play those video-embedded captions based on my own over-the-air broadcasts received by local hardware
[15:14:50 CET] <aboxer> thanks, I got this playing with VLC also
[15:15:03 CET] <JEEB> yes. they're side data and mpv (and other FFmpeg API clients) dynamically create a new track as they receive the side data
[15:15:12 CET] <JEEB> ffmpeg.c is just so static
[15:15:13 CET] <aboxer> can ffprobe identify the type of CCs in separate stream ?
[15:15:25 CET] <aboxer> right
[15:15:36 CET] <DHE> you'll see "Closed captions" indicated by ffprobe on the video stream line
[15:16:00 CET] <JEEB> aboxer: if the mapping for that kind of stream is available, it should be noted as subtitles and the codec should be the caption one
[15:16:34 CET] <aboxer> ahhh, so the fact that the codec is unknown means that there is no mapping ?
[15:17:26 CET] <JEEB> yes
[15:17:32 CET] <JEEB> tmcd IIRC were just timecodes though
[15:17:38 CET] <aboxer> yes time codes
[15:17:43 CET] <JEEB> if I recall my MOV stuff
[15:17:49 CET] <aboxer> so that isn't the CC stream then
[15:17:51 CET] <aboxer> ?
[15:17:59 CET] <JEEB> loldunno
[15:18:10 CET] <aboxer> ok, thanks guys
[15:18:11 CET] <JEEB> I'm at $dayjob so I am not going start going through specs right now
[15:18:15 CET] <ritsuka> yes tmcd is timecode
[15:18:26 CET] <aboxer> haha got it
[15:18:36 CET] <ritsuka> closed caption is c608 or c708
[15:18:42 CET] <JEEB> yes, that's how I remember it
[15:18:49 CET] <JEEB> thank you for reminding me :)
[15:20:05 CET] <aboxer> so what is stored in tmcd then?
[15:20:12 CET] <aboxer> time codes for what ?
[15:20:22 CET] <JEEB> I think it was just the initial time code and then the frame rate type
[15:20:28 CET] <aboxer> aha ok
[15:21:05 CET] <aboxer> so, the fact that VLC plays CCs for this file, but ffmpeg does not, can we deduce the type of CCs ?
[15:21:16 CET] <JEEB> not without further info
[15:21:19 CET] <aboxer> they are not separate stream
[15:21:28 CET] <JEEB> ah
[15:21:35 CET] <JEEB> use ffprobe and -show_packets with the video stream :P
[15:21:44 CET] <JEEB> output json or so to make it more readable
[15:22:47 CET] <JEEB> ffprobe -i welp.mov -of json -show_packets -show_streams -select_streams ':2' > welp.mov.json
[15:22:53 CET] <JEEB> argh no
[15:23:01 CET] <JEEB> ffprobe -i welp.mov -of json -show_packets -show_streams -select_streams v > welp.mov.json
[15:23:05 CET] <JEEB> that
[15:23:07 CET] <JEEB> :V
[15:23:12 CET] <JEEB> since you don't want 0:2 which is the tmcd track
[15:23:15 CET] <JEEB> but you want the video track
[15:23:23 CET] <JEEB> now you can start crawling through that and checking the side data
[15:23:31 CET] <JEEB> (did this require decoding?)
[15:25:12 CET] <faLUCE> Hello. I would like to extract the extradata value from a sequence of h264 bitstream encoded avpackets. How could I do that? I see that there are filters, which one should I call?
[15:25:35 CET] <aboxer> thanks! will give that a go
[15:26:49 CET] <JEEB> AV_FRAME_DATA_A53_CC
[15:26:53 CET] <JEEB> ok, it requires decoding
[15:27:01 CET] <JEEB> switch from show_packets to show_frames
[15:27:14 CET] <JEEB> and you can limit the frame count to decode if it's a long file
[15:27:59 CET] <JEEB> oh there's also AV_PKT_DATA_A53_CC ?
[15:28:04 CET] <JEEB> (´4@)
[15:28:13 CET] <JEEB> if it shows up in AVpackets (show_packets) great
[15:29:11 CET] <aboxer> AV_PKT_DATA_A53_CC would show up in json ?
[15:29:15 CET] <ncouloute> JEEB: the output from sw decoder is not smooth it locks up between scene changes during playback. the output from hw decoders is smooth. I can see if I can get another file as a sample as this file cant be distributed.
[15:29:21 CET] <JEEB> yes, under side data
[15:29:47 CET] <JEEB> aboxer: it should list the types of side data attached to packets (or frames, with show_frames)
[15:30:47 CET] <aboxer> oh, great!  I see this now
[15:31:00 CET] <aboxer> "side_data_type": "ATSC A53 Part 4 Closed Captions"
[15:31:03 CET] <JEEB> yup
[15:31:16 CET] <aboxer> fantastic, thanks
[15:33:14 CET] <aboxer> so, ffmpeg  doesn't support display for these ATSC A53 captions ?
[15:45:41 CET] <DHE> a quick source search doesn't turn up an obvious CC decoder. the raw data is there, but no obvious means of using it beyond copying them unmodified during transcodes
[15:46:40 CET] <JEEB> there's a decoder
[15:47:07 CET] <JEEB> aboxer: ffmpeg.c is so static that it cannot just make up a new stream (and utilize it) during runtime
[15:47:46 CET] <aboxer> thanks DHE
[15:47:48 CET] <JEEB> there's one way to utilize them, but it's basically using an input thing that auto-generates a subtitle stream for captions
[15:47:51 CET] <JEEB> even if there are no captions
[15:47:58 CET] <JEEB> that way the subtitle stream is always there
[15:48:05 CET] <aboxer> JEEB: so the decoder could store to separate file, but not display ?
[15:48:15 CET] <aboxer> store the CCs
[15:48:23 CET] <JEEB> no, having a decoder means you get the text
[15:48:29 CET] <JEEB> and that's why mpv can show them
[15:48:31 CET] <JEEB> DHE: libavcodec/ccaption_dec.c
[15:49:00 CET] <JEEB> you have to at the very least make your own AVPackets from the side data, and initialize a decoder
[15:49:03 CET] <JEEB> that's what mpv does
[15:49:18 CET] <aboxer> right. I get it. So, as currently designed, ffmpeg cannot display CCs stored as side data ?
[15:49:27 CET] <aboxer> but it can store as text
[15:50:19 CET] <JEEB> uhh
[15:50:24 CET] <JEEB> ffmpeg.c has limitations
[15:50:26 CET] <JEEB> FFmpeg doesn't
[15:51:13 CET] <aboxer> aha, I see
[15:51:38 CET] <JEEB> there's some examples how to utilize the captions through ffmpeg.c
[15:52:13 CET] <aboxer> great, it's very useful just being able to identify the type of CC
[15:53:11 CET] <aboxer> one other question: could cea608 be also stored in side data? Or can I be sure this is 708 ?
[15:53:28 CET] <aboxer> I understand that cea608 is usually in line 21
[15:54:46 CET] <JEEB> the stuff in video streams usually is 708, but what 99% of all people utilize is the mandatory 608 data in 708
[15:55:45 CET] <aboxer> oh, interesting, so 708 is superset of 608
[15:56:01 CET] <JEEB> well, the digital captions are required to have 608
[15:56:03 CET] <JEEB> IIRC
[15:56:07 CET] <JEEB> I might be incorrect of course
[15:56:44 CET] <aboxer> ok, so line 21 for analog, and side data 708 for digital video
[15:56:56 CET] <JEEB> you can also have line 21 in digital video still
[15:57:00 CET] <JEEB> but that's harder to probe for :P
[15:57:06 CET] <aboxer> oh,
[15:57:08 CET] <aboxer> yeah
[15:57:16 CET] <aboxer> great, thanks
[15:57:21 CET] <JEEB> usually it shows up like the video being of higher resolution than usual etc
[15:57:41 CET] <aboxer> right, so height is larger
[16:00:55 CET] <DHE> JEEB: OOOooo... decoder...
[16:01:08 CET] <JEEB> there's no encoder tho, unfortunately
[16:01:22 CET] <JEEB> I've been looking into if there was some well established library that we could base on
[16:01:33 CET] <DHE> that's okay. I actually have a different reason to be interested
[16:01:35 CET] <JEEB> since internet streaming, esp. live streams, are still a shitshow
[16:01:51 CET] <JEEB> and somehow US style closed captions are the least insane way of getting things done
[16:01:52 CET] <DHE> filters that affect the framerate (eg: some deinterlacers) effectively corrupt the closed caption stream right now
[16:02:00 CET] <JEEB> yea
[16:02:16 CET] <DHE> that's something I want to fix.
[16:02:39 CET] <DHE> I have a custom git branch here with 2 or 3 tiny fixes I also need to publish to the mailing list or something.
[16:03:18 CET] <kepstin> if you see a 486 line height ntsc video capture, then line 21 will be the second line in the frame. 480 line ntsc video usually cuts the top 5 or 6 lines off.
[16:04:14 CET] <aboxer> so, line 21 == line 2,  nice :)
[16:05:20 CET] <kepstin> (iirc, a bunch of pro capture stuff, especially things dealing with sdi, will have 486 line capture modes - mostly to preserve captions and other stuff encoded in those lines)
[16:05:58 CET] <aboxer> very interesting, thanks
[16:16:12 CET] <kepstin> consumer capture cards - at least the pci ones i've used - typically don't include the caption line in the image frame but instead have an api to retrieve it separately.
[17:22:06 CET] <spotter> JEEB, getting back to earlier Q, advanced_editlist doesn't exist in my ffmpeg (3.4.4 provided by ubuntu)
[17:24:26 CET] <spotter> what I'm trying to do is remove the "quiet time" from videos (albiet with a second or so of the quiet time left in so it doesn't have as much of a jarring impact of incongruous sound to sound
[17:25:31 CET] <spotter> so trying to use silencedetect to figure out the sections and then cut and stich together, but when I play my cuts, it video doesn't start at t=0
[17:28:01 CET] <cc0> hey, what does "program" mean in ffprobe? as in "-show_programs"
[17:35:04 CET] <pink_mist> I believe it's something related to transport streams
[17:35:07 CET] <pink_mist> .ts files that is
[17:43:55 CET] <JEEB> cc0: if the input has AVPrograms, it shows those. MPEG-TS programs are the initial thing where those were utilized
[17:50:23 CET] <DHE> mpegts is a bit of a special snowflake in that regard. a single mpegts stream can carry multiple TV channels. Around here some over-the-air broadcasts may contain both an HD and SD version of the same channel on the same frequency.
[17:50:32 CET] <DHE> those would be 2 different programs
[17:56:58 CET] <aboxer> JEEP: what about 608 inside of 708 ? is there support for this ? and a way of detecting this ?
[17:57:14 CET] <aboxer> JEEB
[17:58:09 CET] <aboxer> I mean 608 stored in side data
[17:58:17 CET] <aboxer> no 708
[17:58:22 CET] <spotter> the answer to my problem seems to be that its picking the iframe "after" -ss and setting pkt_pts_time to the delta between tht frame at -ss (so pkt_pts_time for first frame isn't 0)
[18:00:41 CET] <spotter> closet I can get for first frame is pkt_pts_time=0.035000
[18:03:42 CET] <spotter> i.e. if I set -ss to be 10, and the next iframe is at 11, it will use tht iframe as the first frame with a pkt_pts_time as 1
[18:04:22 CET] <spotter> if there's an iframe at 9, I really want it to pick that frame as as the first frame and set its pkt_pts_time to 0 (not -1)
[18:44:35 CET] <intrac> is there a way to change the default 10 sec seek time for left/right keys with ffplay?
[18:44:40 CET] <intrac> (GOP structure permitting)
[18:44:54 CET] <intrac> I'd like to seek in 5 sec steps
[18:47:53 CET] <kepstin> intrac: ffplay is a demo player, consider using something like mpv which can be programmed to do that sort of thing.
[18:49:57 CET] <|szn-r|> why doesn't ffmpeg aac_fdk  support VBR ?
[18:50:29 CET] <furq> how many nicks do you need
[18:50:42 CET] <|szn-r|> huh
[18:51:33 CET] <pink_mist> |szn-r|: <debianuser> XXXmaker: "why doesn't ffmpeg aac_fdk  support VBR ?" -- It does. I use it all the time: `-acodec libfdk_aac -vbr 3 -cutoff 20000`
[18:51:56 CET] <intrac> kepstin: ah, great. I wasn't aware of that. I tried mplayer but the seek performance was poor
[18:52:00 CET] <intrac> mpv is similar to ffplay. nice.
[18:52:09 CET] <|szn-r|> what does "-cutoff" do
[18:53:31 CET] <kepstin> |szn-r|: it adjusts a lowpass filter in the encoder. By default fdk_aac uses a kind of low frequency limit at lower bitrates, and depending on audio content, it might sound better with a higher cutoff.
[18:54:01 CET] <|szn-r|> kepstin i see, are you a ffmpeg dev?
[18:54:40 CET] <kepstin> |szn-r|: i have made a couple patches that have been merged, but i don't have commit access or anything.
[18:54:43 CET] <|szn-r|> pink_mist then why do i get this error:  [libfdk_aac @ 040d6920] Note, the VBR setting is unsupported and only works with some parameter combinations
[18:54:53 CET] <|szn-r|> kepstin i see
[18:55:20 CET] <pink_mist> I haven't the faintest idea. I'm not the one that claimed it supported it. that was debianuser. I only copied his line to you since it seemed like you had missed it when he said it.
[18:55:29 CET] <intrac> kepstin: thanks
[18:55:30 CET] <|szn-r|> pink_mist i see
[18:55:40 CET] <kepstin> |szn-r|: bad wording in the message. "unsupported" here means that we can't help you if it breaks - there's no user support
[18:58:35 CET] <|szn-r|> kesptin okay, then why does only libfdk show that warning message and not the other codecs
[19:02:49 CET] <kepstin> |szn-r|: because that's a message specific to the libfdk-aac codec
[19:05:09 CET] <|szn-r|> kepstin  it doesn't work:   Bit rate mode                            : Constant
[19:05:22 CET] <kepstin> |szn-r|: where do you see that?
[19:05:32 CET] <|szn-r|> https://superuser.com/questions/1326239/encoding-aac-from-wav?rq=1    somebody else is having same problem as me
[19:05:37 CET] <|szn-r|> that's not my post
[19:05:57 CET] <|szn-r|> kepstin  mediainfo
[19:05:57 CET] <kepstin> that person's setting a different profile
[19:06:07 CET] <kepstin> it should work fine in aac_lc (the default)
[19:06:45 CET] <|szn-r|> ffmpeg -i jake.mp3 -acodec libfdk_aac -vbr 3 jake.m4a
[19:07:21 CET] <furq> mediainfo is wrong as usual
[19:08:36 CET] <|szn-r|> furq what makes you think mediainfo is wrong?
[19:09:06 CET] <|szn-r|> furq do you get the same error when you use  libdk_aac ?
[19:13:54 CET] <|szn-r|> what does this do?  -f lavfi
[19:14:53 CET] <faLUCE> is mpv made with lavc ?
[19:15:06 CET] <kepstin> |szn-r|: sets the format to lavfi
[19:15:27 CET] <|szn-r|> kepstin and if i don't use that option , then what happens?
[19:15:48 CET] <kepstin> faLUCE: mpv uses libavcodec,libavformat, etc. for most of its file reading and decoding (some of the filtering uses libavfilter too)
[19:16:34 CET] <kepstin> |szn-r|: if you don't specify any -f option, ffmpeg attempts to autodetect format from filename/protocol/probing
[19:16:57 CET] <|szn-r|> what other format is there other than lavfi  that ffmpeg supports?
[19:17:11 CET] <JEEB> -demuxers lists them
[19:17:14 CET] <JEEB> for input
[19:17:21 CET] <JEEB> -muxers for output
[19:17:30 CET] <furq> oh fun
[19:17:42 CET] <furq> so mediainfo is still wrong but apparently the ffmpeg m4a muxer is setting a flag wrong
[19:17:44 CET] <JEEB> and yes, those include libavdevice things
[19:17:49 CET] <furq> at least differently to l-smash
[19:18:15 CET] <furq> https://clbin.com/ikLiu
[19:18:24 CET] <|szn-r|> jeeb  that list like 25+ ; i am so confused
[19:18:28 CET] <furq> ffmpeg on the left obviously
[19:18:47 CET] <|szn-r|> why would somebody use this option -f lavfi ?
[19:19:06 CET] <JEEB> because they want their input to come from the lavfi libavdevice
[19:19:14 CET] <JEEB> which utilizes libavfilter blah blah
[19:19:59 CET] <|szn-r|> is lavfi  the most popular  format ?
[19:20:18 CET] <JEEB> it is a thing for very specific use cases
[19:20:19 CET] <kepstin> lavfi isn't a real format at all, it's a virtual input device for special use cases
[19:20:40 CET] <JEEB> in most cases you just point libavformat at a file name and it will probe/figure out what your input is :P
[19:20:40 CET] <|szn-r|> then what is most popular format?
[19:20:44 CET] <kepstin> in theory, most of the stuff you can do with -f lavfi you can also do with -filter_complex, but sometimes creating a virtual input device makes more sense for a particular use case.
[19:20:46 CET] <JEEB> why would you care?
[19:20:54 CET] <kepstin> how would we know?
[19:20:54 CET] <JEEB> your input is what your input is
[19:21:17 CET] <JEEB> unless you're trying to make a specification for what you will take in as input
[19:21:19 CET] <JEEB> or something
[19:21:26 CET] <JEEB> as in, what other people pass on to you
[19:21:27 CET] <JEEB> :P
[19:22:25 CET] <|szn-r|> furq , so are you convinced that it's mediainfo's fault?
[19:24:34 CET] <kepstin> |szn-r|: well, your audio is definitely vbr, it's just that ffmpeg doesn't seem to be indicating that in the file in the way mediainfo understands.
[19:25:52 CET] <|szn-r|> kepstin do you also get this error?  Note, the VBR setting is unsupported
[19:26:04 CET] <kepstin> that's not an error
[19:26:14 CET] <|szn-r|> kepstin do you also get this warning?  Note, the VBR setting is unsupported
[19:27:31 CET] <kepstin> it's a message printed whenever you use the -vbr option with the libfdk_aac codec, indicating that the vbr option doesn't work with all parameter combinations, and is thus its use is not supported (meaning: "user support is not provided") by ffmpeg devs.
[19:28:40 CET] <kepstin> but if you're not doing anything really unusual - sticking to stereo audio at common sample rates - it should be fine.
[19:30:05 CET] <aboxer> how common is it to have cea608 closed captions in the mpeg side data, instead of 708 ?
[19:30:11 CET] <|szn-r|> ffmpeg -f lavfi -i sine -c:a aac -q:a 1 -t 40 aac.aac   why does this work?  but  ffmpeg -i sine -c:a aac -q:a 1 -t 40 aac.aac   this doesn't
[19:31:15 CET] <|szn-r|> why is that
[19:32:15 CET] <kepstin> |szn-r|: because in once case you're creating a filter chain with a "sine" filter as a virtual input, and in the other you're trying to read from a presumably non-existant file named "sine"
[19:33:03 CET] <|szn-r|> then how do i create  sine  without using  lavfi format
[19:33:39 CET] <kepstin> aboxer: not sure, but there's probably a fair amount of digitized legacy content where that's done, since mpeg standards crop out the line where cea608 captions would have been stored in the video
[19:34:05 CET] <aboxer> kepstin: thanks, that makes sense
[19:34:41 CET] <aboxer> can ffmpeg differentiate between 608 and 708 in side data ?
[19:35:44 CET] <|szn-r|> ffmpeg -f lavfi -i sine -c:a aac -q:a 1 -t 40 aac.m4a -y  is showing   BitRate_Mode/String              : Constant   too
[19:37:01 CET] <faLUCE> kepstin and others: but which are the most common players that intesively use lavc/lavf other that vlc and mpv ?
[19:37:11 CET] <kepstin> |szn-r|: yeah, since the flag mediainfo is reading is set by the muxer, i'd expect the codec implementation to make no difference
[19:37:49 CET] <|szn-r|> kepstin so whose fault is this then?
[19:37:57 CET] <|szn-r|> mediainfo or ffmpeg
[19:38:29 CET] <kepstin> |szn-r|: unclear at this point, someone would have to go and check some specs.
[19:38:43 CET] <kepstin> |szn-r|: either way, issue is mostly cosmetic, only problem is that media info doesn't say vbr.
[19:38:52 CET] <|szn-r|> kepstin  how do i create  sine  without using  lavfi format
[19:39:28 CET] <kepstin> |szn-r|: find a book from pre-electronic-computer era with a sine table and manually type values in.
[19:39:49 CET] <|szn-r|> you are not taking my question seriously
[19:40:22 CET] <kepstin> |szn-r|: i'm not sure why you're asking. Using -f lavfi is a perfectly acceptable way of generating a sine wave audio in ffmpeg
[19:40:35 CET] <kepstin> there's no reason for you to not use -f lavfi
[19:41:00 CET] <|szn-r|> okay let me rephrase,  is there other format i can use other than lavfi to create a sine using ffmpeg
[19:41:36 CET] <kepstin> |szn-r|: lavfi is a virtual format that lets you use a filter chain as an input. Instead of doing that, you could use a filter chain in one of the other ways ffmpeg provides of doing filter chains.
[19:41:49 CET] <kepstin> like, -filter_complex for example
[19:42:03 CET] <|szn-r|> yes or no
[19:42:18 CET] <TheAMM> such demands
[19:42:22 CET] <kepstin> there's no format other than "lavfi" which allows you to generate a sine wave using avfitlers
[19:44:57 CET] <kepstin> beeep: its's kind of annoying that you keep changing your name, btw.
[19:48:46 CET] <kepstin> faLUCE: there's probably a fair number of people on windows with 'LAV Filters' or similar installed to do decoding for dshow-based apps.
[21:11:11 CET] <ossifrage> That's weird I turned B pictures back and now mpv is complaining, "[lavf] Edit lists are not correctly supported (FFmpeg issue)."
[21:12:32 CET] <JEEB> it should only do that if you have packets with the discard flag
[21:12:54 CET] <JEEB> did you specifically enable the google-made "advanced" edit list mode?
[21:12:59 CET] <JEEB> mpv should disable that by default
[21:13:07 CET] <ossifrage> Ah, I was setting the discard flag for B frames
[21:13:12 CET] <JEEB> right
[21:13:34 CET] <ossifrage> Err not discard, AV_PKT_FLAG_DISPOSABLE
[21:13:46 CET] <JEEB> yea, that's different I think?
[21:13:57 CET] <JEEB> relevant lines
[21:13:57 CET] <JEEB> demux/demux_lavf.c-    if (pkt->flags & AV_PKT_FLAG_DISCARD)
[21:13:57 CET] <JEEB> demux/demux_lavf.c:        MP_ERR(demux, "Edit lists are not correctly supported (FFmpeg issue).\n");
[21:14:13 CET] <ossifrage> I wasn't setting that....
[21:14:52 CET] <JEEB> interesting
[21:16:30 CET] <JEEB> the only thing that seems to set that flag is the mov/mp4 reader, and I think that's only in the case if the advanced edit list stuff is enabled
[21:17:09 CET] <JEEB> or hmm
[21:18:35 CET] <JEEB> ok, it might be setting the flags in the reader unconditionally
[21:21:02 CET] <JEEB> anyways, long story short - the mov/mp4 reader is the only one exporting that flag and often exported by the edit list related stuff
[21:21:13 CET] <JEEB> so it warns about it possibly leading to issues
[21:22:07 CET] <ossifrage> The B picture playback is still not working right, it doesn't seem smooth with ffplay
[21:22:32 CET] <JEEB> how do your sttc (I think that was it) look?
[21:22:33 CET] <ossifrage> I'm still faking the DTS, but I do have good PTS
[21:22:42 CET] <JEEB> also are you using negative CTS offsets?
[21:23:00 CET] <JEEB> I think the reader still doesn't support negative CTS offsets
[21:23:45 CET] <JEEB> FF_MOV_FLAG_NEGATIVE_CTS_OFFSETS
[21:24:06 CET] <JEEB> and I thikn currently it only gets enabled without you specifying it if you are outputting ismv
[21:24:10 CET] <ossifrage> I'm setting the DTS of the P-frames to the previous DTS + 1/2 frametime
[21:24:10 CET] <JEEB> since ismv has no edit lists
[21:24:28 CET] <JEEB> use l-smash's boxdumper
[21:25:05 CET] <JEEB> boxdumper --box file | less
[21:25:26 CET] <JEEB> (or you can redirect stdout to a text file)
[21:26:57 CET] <JEEB> ya, you take the timescale out of the relevant mdia, and then later within that structure you have the ctts
[21:27:44 CET] <JEEB> or well, first you check stts which tells you the dts coded in the mp4
[21:27:52 CET] <JEEB> in many cases for CFR you just have a single value there
[21:28:29 CET] <JEEB> I have a 2157 frame mp4 and I have a single entry in stts which says that each sample has a sample delta of 1001
[21:28:57 CET] <JEEB> so if the track starts at 0, then 0,1001,2002 etc
[21:29:33 CET] <JEEB> also now I remembered that you can also get these calculated values with boxdumper]s --timestamp
[21:30:26 CET] <JEEB> http://up-cat.net/p/4d39b1b9
[21:30:33 CET] <ossifrage> What is the relationship between PTS and CTS?
[21:30:38 CET] <JEEB> here's the video track I had as an example
[21:31:15 CET] <JEEB> in many cases CTS is pretty much what PTS is; some technical differences but Composition Timestamp in 99% of all cases means the Presentation Timestamp
[21:31:57 CET] <JEEB> possibly because you have then edit lists etc which can twist actual presentation time line
[21:32:10 CET] <ossifrage> boxdumper is printing out zero based timestamps (I'm assuming that is for presentation)
[21:32:33 CET] <JEEB> you can see how my example looks
[21:32:55 CET] <JEEB> it has b-frames and the DTS starts at zero
[21:33:11 CET] <ossifrage> http://up-cat.net/p/ce92175b
[21:36:03 CET] <JEEB> so that's about 60.002fps?
[21:36:14 CET] <JEEB> looking at the DTS delta
[21:36:48 CET] <ossifrage> It is 30fps, I'
[21:37:06 CET] <ossifrage> I'm faking the DTS for the P pictures (most likely incorrectly)
[21:37:32 CET] <JEEB> also you don't have b-frame delay there which does raise alarm bells if you have enabled b-frames
[21:38:38 CET] <JEEB> see how my sample has nonzero CTS for the first sample because you have to have the space to reorder
[21:39:17 CET] <JEEB> there's then a "simple" edit list that then moves the CTS 2002 to be the zero point of the time line
[21:40:07 CET] <ossifrage> For IDR/B I set dts = pts, for P I set dst = last dts + 1/2 frametime
[21:40:21 CET] <ossifrage> (which I pulled out of my ass)
[21:43:32 CET] <JEEB> try dumping some raw annex b H.264 out of your encoder and see how l-smash's muxer muxes it in with a frame rate
[21:44:19 CET] <ossifrage> IP only looks as you would expect: http://up-cat.net/p/eb3afea6
[21:44:28 CET] <JEEB> muxer -i file.264?fps=30/1 -o out.mp4
[21:44:36 CET] <JEEB> for 30hz
[21:45:44 CET] <JEEB> and check the timestamps there
[21:48:44 CET] <ossifrage> http://up-cat.net/p/3b30338e
[21:49:37 CET] <xxxmaker> is fdk_aac  really better than ffmpeg-aac or apple-aac ?
[21:50:36 CET] <ossifrage> I guess I can't get away with my lazy DTS generation. I was hoping to do it just using the (good) PTS without any buffering
[21:51:06 CET] <JEEB> indeed
[21:51:09 CET] <ossifrage> And it needs to work in the variable frame rate case and when the encoder parameters are changing at runtime
[21:53:15 CET] <ossifrage> I did manage to get chrome to playback my infinite mp4 file for 24 hours without blowing up (but that was just IP)
[23:38:50 CET] <ossifrage> The PTS/DTS stuff is even more annoying when the encoder can switch between encoding modes on the fly
[23:41:33 CET] <TheAMM> Is there any known reason why "ffprobe -show_chapters" has only a couple chapters, while "mkvextract file.mkv chapters out.xml" has them all?
[23:41:57 CET] <TheAMM> Although this is one of those weird playall files using ordered chapters with segment uids
[23:42:14 CET] <TheAMM> But mkvextract is not reading anything else than the mkv
[23:44:19 CET] <durandal_1707> ordered chapters are not supported, -- they are in separate files
[23:44:24 CET] <TheAMM> I know
[23:44:34 CET] <TheAMM> But the chapter metadata is in the file
[23:44:48 CET] <xxxmaker> durandal_1707 are you ffmpeg dev?
[23:45:08 CET] <TheAMM> The output for this particular file https://mygi.ga/O4V/aedNA.json https://mygi.ga/H2V/aedNB.xml
[23:45:17 CET] <TheAMM> JSON being ffprobe -of json
[23:46:47 CET] <TheAMM> Both commands ran with the file separated from the others, so it's not looking for them
[23:49:39 CET] <durandal_1707> xxxmaker: do you have bug to report?
[23:49:49 CET] <xxxmaker> yes
[23:50:17 CET] <xxxmaker> ffmpeg -f lavfi -i sine -c:a aac -q:a 1 -t 40 aac.m4a : it's showing as  constant bitrate
[23:51:01 CET] <jab416171> is it possible to turn 3 side-by-side videos into a 360 degree video? even a partial one?
[23:52:35 CET] <xxxmaker> ffmpeg -f lavfi -i sine -c:a aac -q:a 1 -t 40 aac.m4a : it's showing as  constant bitrate :  is this a bug?
[00:00:00 CET] --- Fri Mar 22 2019



More information about the Ffmpeg-devel-irc mailing list