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

burek burek021 at gmail.com
Sat Apr 14 03:05:01 EEST 2018


[00:34:06 CEST] <lemontea> Thanks JEEB again
[00:51:16 CEST] <wfbarksdale> is there a tool that lets you iterate through boxes in a media file? just kind of trying to get an understanding of what is the video files I am inputting and outputting. I started doing this by looking at the mp4 spec and going through with a hex editor, which is fun and all, but would be cool to have something that would let me go through quickly
[00:51:50 CEST] <wfbarksdale> in an ISOBMF file*
[00:57:12 CEST] <furq> wfbarksdale: boxdumper (from l-smash), atomicparsley
[00:57:15 CEST] <furq> probably some other stuff as well
[00:58:25 CEST] <wfbarksdale> excellent, glad I didn't have to roll my own
[00:58:29 CEST] <wfbarksdale> thanks so much
[00:59:03 CEST] <furq> http://vpaste.net/X6Tya
[01:00:28 CEST] <wfbarksdale> kind of surprised this functionality isn't built into ffprobe
[01:02:10 CEST] <furq> lavf is probably a bit too high-level for this kind of format-specific stuff
[01:49:04 CEST] <wfbarksdale> track in ISOBMFF = stream in ffmpeg?
[04:44:41 CEST] <FurretUber> Is there a way to make the streams recorded from screen, microphone and speakers start at the same instant? Each one starts in a different moment, and the last one may start 0,5 s after the first one, which causes sync issues: https://paste.ubuntu.com/p/8PBnqB4q48/
[05:22:42 CEST] <nopacien13> hi
[05:23:09 CEST] <nopacien13> anyone knows how to convert a GIF (normal) to whatsapp GIF (which is mp4 with some difrences) ? ?
[05:24:17 CEST] <nopacien13> (i have a GIF and want to send it via whats app)
[05:24:33 CEST] <nopacien13> but want to convert first
[05:24:59 CEST] <nopacien13> i checked the headers of the binary file.. they seem to include some stuff
[05:25:19 CEST] <nopacien13> that normal mp4 videos dont have.. ie. "loop"
[05:25:26 CEST] <nopacien13> something about loop
[05:37:34 CEST] <FurretUber> Changing from -f pulse to -f openal, -r to -framerate and adding -muxpreload 2 before the -acodec and -vcodec  greatly improved the situation. The delay that was 0,5 s is now 0,025 s. Impressively, the difference in audio is still perceptible. Are there additional options that can further improve this?
[11:35:08 CEST] <sine0> If I have a set of dimensions like 400x269 how can i work out what the AR is
[11:35:17 CEST] <sine0> like 16:9 4:3 etc
[14:26:20 CEST] <kepstin> sine0: that's not enough information to figure it out, unfortunately
[14:26:46 CEST] <kepstin> sine0: you need to know the sample aspect ratio (i.e. whether the pixels are square or stretched)
[14:35:35 CEST] <DHE> otherwise the answer is 400:269 (since those numbers are coprime and cannot be reduced)
[14:57:04 CEST] <atbd> hi, does ffmpeg support output ring file to store 1h of stream for example?
[14:57:20 CEST] <Mavrik> Hmm, not as such
[14:57:30 CEST] <Mavrik> But HLS protocol can do that when live streaming I think
[14:57:34 CEST] <Mavrik> You just need to keep 1H worth of chunks
[14:57:42 CEST] <furq> you can use the segment muxer
[14:57:47 CEST] <Mavrik> It's not really a streaming tool, streaming servers do that :)
[14:58:17 CEST] <Mavrik> Will segment muxer be able to truncate file at the start?
[14:58:17 CEST] <furq> actually nvm i guess the segment muxer doesn't have delete_segments
[14:58:22 CEST] <Mavrik> Yeah.
[14:58:27 CEST] <furq> that's dumb
[14:58:50 CEST] <furq> i guess the hls muxer is fine if you don't mind being restricted to the codecs hls supports
[14:59:08 CEST] <DHE> with mp4 support I thought HLS was actually kinda okay now
[14:59:13 CEST] <Mavrik> I'd just use ffmpeg for transcoding and push data to something like nginx-rtmpd or wowza or something that's equipped to deal with that.
[14:59:18 CEST] <Mavrik> ugh
[14:59:24 CEST] <Mavrik> MP4 for streaming, eww :)
[14:59:30 CEST] <klaxa> ^
[14:59:35 CEST] <furq> yeah i'd just stick with ts
[14:59:43 CEST] <DHE> I know... but mpegts has a rather high muxer overhead at around 10%
[14:59:44 CEST] <atbd> thanks
[14:59:59 CEST] <atbd> i use mpegts ^^
[15:00:11 CEST] <DHE> oh I use it as well. I just grumble as I do it.
[15:00:14 CEST] <DHE> :)
[15:00:20 CEST] <Mavrik> Yeah, it has a bit overhead, but can be mitigated a bit depending on how commonly you send tables :)
[15:01:51 CEST] <atbd> so it would be possible to limit in size output file with ts?
[15:03:00 CEST] <DHE> Mavrik: it's not a matter of the tables. it's a matter of the ATM-style chunking at a fixed 184 bytes of payload with 4 byte headers and the fact that a short chunk has to be padded to meet its size requirement.
[15:34:33 CEST] <saml> so, -r vs -filter_complex fps
[15:34:48 CEST] <saml> fps filter works on video stream only
[15:35:10 CEST] <saml> -r is smart enough to take audio stream into account ?
[15:35:44 CEST] <JEEB> -r shouldn't affect audio
[15:35:52 CEST] <JEEB> I mean, you're only changing the video frame rate
[15:36:03 CEST] <JEEB> (whatever that does in the context you have)
[15:45:55 CEST] <saml> have you seen framerate  2568000/3050143  ?
[15:46:18 CEST] <saml> 0.8 fps what?
[15:50:34 CEST] <saml> hrm mjpeg even has 0/0 frame rate
[15:50:41 CEST] <saml> what is all this magic
[15:51:00 CEST] <Mavrik> Maybe one of those dumb "1 frame and all music" videos? :)
[15:51:24 CEST] <Mavrik> I've also seen some radio stations broadcast with like 0.5fps (album art)
[15:53:40 CEST] <saml> yeah exactly
[15:54:02 CEST] <saml> how would you encode those videos?
[15:54:19 CEST] <saml> for public consumption. say, you're developing something like youtube
[15:56:42 CEST] <saml> like, how would you encode .m4a  to .mp4?
[16:15:36 CEST] <furq> if this is m4a then the mjpeg stream is probably just jpeg album art
[16:15:48 CEST] <furq> so no wonder it has no framerate
[16:25:01 CEST] <saml> during 3 hour talk, speaker only used 2 slides.  how can I create a video with only 2 frames? I know the timestamp the slide changed.
[16:25:10 CEST] <saml> I want the video to be slides. audio is full 3 hour
[16:28:44 CEST] <kepstin> a lot of video players won't handle a 3 hours video with 2 frames very well, if at all. You'd probably want to make a video at a normal framerate of the first slide looped, a second video of the second slide looped, then concatenate them.
[16:30:17 CEST] <saml> oh i see thanks
[16:30:30 CEST] <saml> is there the lowest framerate most video players can play?
[16:30:40 CEST] <saml> like 0.000001 fps
[16:30:47 CEST] <azarus> depends?
[16:30:59 CEST] <azarus> I doubt media players are alike in that regard
[16:31:05 CEST] <bindi> do you need to make it into a video?
[16:31:10 CEST] <bindi> two pictures and a mp3..
[16:31:20 CEST] <klaxa> my uni implemented their own ogg-extension + java player to get around that :S
[16:31:26 CEST] <saml> yeah i'm building youtube
[16:31:29 CEST] <saml> a video site
[16:31:30 CEST] <kepstin> you probably don't want to go too far below around one frame per second or so.
[16:31:47 CEST] <klaxa> i think they ditched it now
[16:31:52 CEST] <saml> i see
[16:31:52 CEST] <kepstin> and even that's kinda low, and might give strange results when seeking
[16:32:22 CEST] <kepstin> honestly? build a web page with an audio tag and some javascript that swaps the 2 images at the right timestamp
[16:32:23 CEST] <saml> so i'm just worried about video file size if i add a lot of frames
[16:32:43 CEST] <saml> yeah that's a different startup
[16:33:31 CEST] <kepstin> the video codecs will optimize repeated frames pretty well, but you still need regular keyframes for seeking, so yeah, it's gonna be a lot larger than just the 2 images.
[16:33:58 CEST] <saml> vp1, fix it
[16:34:14 CEST] <saml> make video interactive as well. it's flash or html
[16:37:13 CEST] <saml> hrm maybe realtime encoding
[16:37:32 CEST] <saml> like, encode video and generate hls  on the fly for that 3 hour speech
[16:41:44 CEST] <saml> nah just encode once
[16:44:17 CEST] <Chuck_> Hello, I am trying to replicate the scaling implementation of ffmpeg to understand the whole process. In case of bicubic upsampling i get the same results of ffmpeg with the exception that ffmpeg's result has a lot of ringing. Why does this happen? Does ffmpeg uses some kind of sharpen filter after scaling? ps: i am using the same coefficients for the interpolation formula
[17:03:22 CEST] <DHE> Chuck_: are you outputting to a lossy video format? that sounds like it could be encoding artifacts
[17:03:49 CEST] <DHE> some players, including ffplay and mpv, support ffmpeg filters and you could have the filter output rendered directly to your screen instead
[17:06:14 CEST] <Chuck_> Hello, I am trying to replicate the scaling implementation of ffmpeg to understand the whole process. In case of bicubic upsampling i get the same results of ffmpeg with the exception that ffmpeg's result has a lot of ringing. Why does this happen? Does ffmpeg uses some kind of sharpen filter after scaling? ps: i am using the same coefficients for the interpolation formula
[17:06:25 CEST] <Chuck_> Sorry I copy pasted the same message
[17:06:34 CEST] <Chuck_> I am using a lossless format
[17:06:51 CEST] <Chuck_> I am converting an .yuv image with swsscale()
[17:07:01 CEST] <Chuck_> So it should not use any type of encoders
[17:29:48 CEST] <shtomik> Hi to all guys, who knows, can I grab screen with libavdevice/format and avfoundation in different resolutions? I know about https://www.ffmpeg.org/ffmpeg-devices.html#avfoundation, but -video_size for screen ignored, output frame always 2560x1600 ;(
[17:31:03 CEST] <shtomik> I need maybe 1280x800 maximum. Thanks ;)
[17:31:39 CEST] <shtomik> For webcams -video_size worked...
[17:33:36 CEST] <BtbN> scale it down afterwards.
[17:33:45 CEST] <kepstin> shtomik: with avfoundation screen grab, you always get the full screen at its original resolution
[17:33:48 CEST] <BtbN> The capture source will always give you the actual resolution
[17:38:26 CEST] <shtomik> BtbN: with filters? filter for 2560x1600 CPU load (
[17:38:58 CEST] <BtbN> Why would it be any lighter if the filtering was done in the source?
[17:41:27 CEST] <shtomik> @BtbN in the source?
[17:41:53 CEST] <shtomik> @BtbN After grab push to filter and than use?
[17:42:04 CEST] <shtomik> @BtbN So sorry about my English
[17:57:38 CEST] <shtomik> Thanks guys!
[18:01:55 CEST] <bbert> I have some .mxf files which I believe have corrupt headers.  One file is around 140GB, but ffplay (and vlc and other players) sees the video stream as only 3 seconds long.  The file size should correspond to around 90~120 minutes, which is the typical length we record.  Is there a way to attempt to ignore the header and try to read the data beyond 3 seconds?
[18:04:34 CEST] <furq> bbert: maybe try using mxflib or some other tool
[18:07:20 CEST] <bbert> furq: I'll take a look.  Thanks.
[18:19:00 CEST] <[E]sc> i'm trying to strip an mp3 of the metadata, specifically the album image.  however, when i do this, it keeps reverting back to the original image after i edit the metadata like the name and artist.  is there a way to make that stop?  i'm using ffmpeg 3.4. 1
[18:22:13 CEST] <atomnuker> -vn
[18:35:32 CEST] <[E]sc> atomnuker, are you referring to my situation?
[18:37:05 CEST] <atomnuker> yes, just add -vn
[18:38:03 CEST] <[E]sc> atomnuker, thank you, i will try that out.
[18:39:21 CEST] <kiroma> If the installed version of OpenCV is too new, configure will fail with error "opencv not found using pkg-config"
[18:39:47 CEST] <kiroma> But the error is not true, as the test fails due to lack of C++11 support.
[18:40:53 CEST] <BtbN> ffmpeg is C, and OpenCV decided to no longer support C
[18:41:14 CEST] <BtbN> So not much to be done. The result of recent discussions was that OpenCV support will eventually be dropped
[18:44:04 CEST] <kiroma> Aw
[18:54:01 CEST] <kiroma> Okay so another problem, fully static builds fail every time.
[18:54:15 CEST] <kiroma> Lots of undefined references.
[18:54:26 CEST] <kiroma> Is this known?
[18:55:35 CEST] <BtbN> blame incomplete pkg-config files of various libds
[18:55:36 CEST] <BtbN> -d
[19:05:41 CEST] <DHE> or distros that just don't ship .a files for many packages. for example go install glibc-static and zlib-static on rhel/centos
[19:05:57 CEST] <DHE> but for more exotic packages...
[19:10:15 CEST] <kiroma> Oh I thought it was building the .a libs internally.
[19:10:32 CEST] <kiroma> So I need to compile everything myself manually to be able to link it all statically?
[19:10:47 CEST] <furq> you do if your distro doesn't provide static libs
[19:11:07 CEST] <kiroma> Well I want to do LTO builds.
[19:11:18 CEST] <kiroma> But I don't think Ubuntu distributes static libs.
[19:11:38 CEST] <kepstin> regular static libs wouldn't help with lto builds anyways
[19:12:06 CEST] <kiroma> Yeah I know.
[19:12:17 CEST] <furq> ubuntu absolutely does distribute static libs
[19:12:28 CEST] <kiroma> Alright
[19:12:32 CEST] <furq> the -dev packages should always include them
[19:12:41 CEST] <furq> emphasis on should, obviously
[19:13:14 CEST] <furq> i take it you have --extra-ldflags="-static" --pkg-config-flags="--static"
[19:15:53 CEST] <kiroma> Nope
[19:16:27 CEST] <kiroma> Again, I thought static build meant internally static, not that it pulled .as from outside of the build directory
[19:16:44 CEST] <furq> that's what --enable-static does
[19:17:01 CEST] <furq> you said "fully static" though which implies no external dependencies
[20:36:45 CEST] <giaco> hello
[20:38:10 CEST] <giaco> I'm using a named pipe as ffmpeg input. It works, but it stops as soon as the source pipe is silent. I'd like ffmpeg to just wait for more input before proceeding and keep going forever. How to achieve this? Thank you
[20:39:56 CEST] <JEEB> there's a retry/timeout thing which is also applicable to the "file" protocol, which most likely what the named pipe is  being read with
[20:40:29 CEST] <giaco> eg. mkfifo infifo & mkfifo outfifo & ffmpeg -i infifo -f mp3 outfifo. If I do "cat my.mp3" it works but ffmpeg terminates as soon as it has concluded
[20:40:37 CEST] <JEEB> http://git.videolan.org/?p=ffmpeg.git;a=commit;h=933dec0e29ec4d2cb83474279a6c52d62fdb7310
[20:42:43 CEST] <giaco> JEEB: thank you!
[20:50:56 CEST] <giaco> JEEB: am I doing it wrong? ffmpeg -i temp1 -follow 1 -f ogg pipe:1  (where temp1 is fifo)
[20:51:18 CEST] <JEEB> input options go before -i
[20:51:29 CEST] <saml> teach me all about av sync
[20:58:20 CEST] <nopacien13> anyone have seen whatsapp GIF ? its an MP4
[20:58:29 CEST] <nopacien13> however its not a standard MP4
[20:59:05 CEST] <nopacien13> i would like to create an mp4, and send it via whatsapp as "GIF" (which is a modified mp4 in whatsapp)
[20:59:30 CEST] <nopacien13> if i send the usual mp4, it goes out as mp4 and not gif
[21:19:11 CEST] <nopacien13> no one knows ?
[21:39:10 CEST] <Anonrate> I'm on Debian Stretch x64 latest (Installed lastnight) (No DE) with Backports enabled.  I'm running through VMWare on Windows 10 Enterprise x64 updated.  I have installed pacakges frei0r-plugins and the dev package.  I am crosscompiling using x86_64-w64-mingw32 and I am literally enabling everything (SNS).  I have target-os set to win64 crosscompile enabled.  host-cc=x86_64... Same as what I previously
[21:39:13 CEST] <Anonrate> mentioned except I have appended '-' at the end.  host-os=linux arch=x86_64  I have also cloned the frei0r repo and installed that.  When compilng with --enable-frei0r I'm prompted that ffmpeg can't  find frei0r.h.  I have looked myself in /usr/include and I have verified that frei0r.h is there.  I have added extra-cflags=-I/usr/include and am still given the same error.
[21:40:51 CEST] <Anonrate> Don't waste your time reading that..  I checked the config.log and I'm missing gnu/stubs.h..  Sorry. I should have read the log first.
[21:55:39 CEST] <IsntFunny> hes everyone. I would like to "archivate" all video files in a folder. to do that i want to shrink them to 1280x720 and reduce the image quality just a bit. any ideas how i can do that for a full folder?
[21:56:10 CEST] <DHE> shell scripting
[22:09:38 CEST] <nopacien13> for loops
[22:10:16 CEST] <nopacien13> for file in * ; do ffmpeg -i $file ..ffmpeg options -o $file.new.mp4 . done
[22:11:20 CEST] <Anonrate> I have aom built and installed from the source and the lib is located in /usr/local/lib..  How would I go about and linking that with ffmpegg?  Would that be --extra-ldflags?
[22:12:09 CEST] <furq> --enable-libaom
[22:12:29 CEST] <BtbN> I guess setup your pkg-config path properly
[22:12:32 CEST] <Anonrate> I've got that, but it doesn't seem to be finding where it's istalled.
[22:12:35 CEST] <furq> and probably PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
[22:12:42 CEST] <furq> or wherever your .pc is
[22:14:07 CEST] <Anonrate> I've never done anything with pkg_config, will changing the current value interfere with anything else?  Most of the libs I have gotten from my package manager.
[22:14:37 CEST] <furq> PKG_CONFIG_PATH prepends to the default path, it doesn't replace it
[22:15:11 CEST] <furq> so as long as you don't have any conflicting packages in /usr/local it should be fine
[22:16:32 CEST] <Anonrate> So I would just do 'export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig'?
[22:16:45 CEST] <furq> sure
[22:17:30 CEST] <Anonrate> That's not very convincing..
[22:17:57 CEST] <Anonrate> That is where the .pc file is located.
[22:27:17 CEST] <saml> how do I cut video properly so that there is no av sync issue
[22:29:01 CEST] <saml> I  have 3 hour video. when I cut first 10 seconds of it (ffmpeg -i a.mov -c copy -t 10 cut.mov),  video is different.
[22:29:13 CEST] <Anonrate> I have checked pkg-config --list-all | grep aom and it does show that it's there, however, ffmpeg still can not seem to find aom >= 0.1.0 via pkg-config
[22:29:26 CEST] <saml> original video is black until few seconds. but cut.mov is not blank at all
[22:37:25 CEST] <klaxa> saml: using -c copy only cuts at keyframes
[22:39:23 CEST] <nopacien13> anyone knows how to do this with ffmpeg ? https://stackoverflow.com/questions/44893316/whatsapp-video-as-gif-sharing-on-android-programatically
[22:40:34 CEST] <klaxa> don't think you can do that with ffmpeg
[22:41:32 CEST] <nopacien13> right
[22:51:54 CEST] <furq> nopacien13: if you just want a video that loops in browsers then you can only do that with video tags
[22:52:11 CEST] <furq> there's no property you can set on a file that'll make it loop
[22:55:25 CEST] <nopacien13> video tags?
[22:56:23 CEST] <furq> html tags
[22:56:31 CEST] <roxlu> hi, is it possible to use ffprope to dump some info about an incoming rtp stream?
[22:56:42 CEST] <roxlu> like if it received a fu-a, etc.. ?
[22:58:20 CEST] <ChocolateArmpits> furq, really? https://www.w3schools.com/tags/att_video_loop.asp
[22:58:48 CEST] <furq> yes?
[22:59:01 CEST] <ChocolateArmpits> there's a loop tag for the video item
[22:59:03 CEST] <furq> right
[22:59:06 CEST] <furq> that's what i just said
[22:59:06 CEST] <ChocolateArmpits> and it works
[22:59:14 CEST] <furq> by "property" i meant like an mp4 header or something
[22:59:18 CEST] <ChocolateArmpits> oh snap
[22:59:20 CEST] <ChocolateArmpits> sorry misread
[23:39:46 CEST] <giaco> I am trying to achieve a 1to1 audio streaming from file. The source file is un amr format (awb). The point is that I am succeeding in it but the quality is very low, the audio stutters and there's a lot of noise that is absent in the source file. Here's the line: ffmpeg -re -follow 1 -i myfile.awb -codec:a libmp3lame -qscale:a 2 -f rtp "rtp://192.168.1.101:2000?fifo_size=1000 . What's wrong? Thank you
[23:41:20 CEST] <spicypixel> can ffmpeg generate DASH HLS manifest files?
[23:41:45 CEST] <furq> those are two different things
[23:42:07 CEST] <furq> but yes to both
[23:42:15 CEST] <spicypixel> yeah sorry
[23:42:20 CEST] <spicypixel> I meant hls manifest files
[23:42:26 CEST] <furq> !muxer hls
[23:42:26 CEST] <nfobot> furq: http://ffmpeg.org/ffmpeg-formats.html#hls-2
[23:43:23 CEST] <spicypixel> thanks!
[23:44:05 CEST] <spicypixel> this looks to be for making it by splitting an existing large file, can it make a manifest for existing HLS or DASH segments?
[23:44:41 CEST] <furq> no
[23:45:24 CEST] <furq> hls manifests are just m3u8 playlists though so it shouldn't be too hard to script
[23:46:03 CEST] <spicypixel> ah okay
[23:50:36 CEST] <spicypixel> ah okay so confirmed I'm needing dash not hls, which is xml by the looks of it and adds complexity, sigh
[23:58:28 CEST] <Anonrate> ffmpeg is saying lilv-0 can't be found via pkg-config, but I have checked pkg-config lilv-0 --exists --print-errors and I get no errors..
[00:00:00 CEST] --- Sat Apr 14 2018


More information about the Ffmpeg-devel-irc mailing list