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

burek burek021 at gmail.com
Wed Nov 23 03:05:01 EET 2016


[00:05:19 CET] <voip_> unkmar, yes i need audio and video. I am using Linux servers without GUI. So I need grab videos form YouTube, (maybe transcode) and sent live strams to my Wowza server
[00:10:32 CET] <markvandenborre> voip_: if you can grab the dash fragments from youtube, you may be able to concat them using ffmpe
[00:10:35 CET] <markvandenborre> g
[00:10:45 CET] <markvandenborre> then throw them at nginx-rtmp
[00:11:09 CET] <iive> voip_: you can embed youtube video on any site, the browser would play it from youtube
[00:12:22 CET] <markvandenborre> voip_: it _would_ help if you would explain what you are really trying to accomplish though
[00:13:34 CET] <voip_> markvandenborre, how to grab dash framgents and live stream with ffmpeg ?
[00:14:28 CET] <voip_> iive, i cant, my users dont using browsers (iptvbox)
[00:24:14 CET] <llamapixel> raking youtube for iptv users sounds like you are running a little media station of sorts.
[01:11:06 CET] <maletor> How do I send a stream directly to ALSA? For example, I have a receiver that can decode proprietary formats like Atmos/DTS:X and I just want to send them directly to the receiver. How can I use ffmpeg to do that/
[01:19:08 CET] <llogan> ffmpeg has an ALSA output device. not sure if that's what you want or not
[01:19:28 CET] <maletor> perhaps it is
[01:19:31 CET] <llogan> http://ffmpeg.org/ffmpeg-devices.html#alsa-1
[01:20:01 CET] <maletor> llogan: thx
[01:42:52 CET] <fling> [nut @ 0x55602754bb60] decoding for stream 2 failed
[01:43:06 CET] Action: fling is trying to remux a nut file without an index
[01:43:17 CET] <fling> But it plays fine in mpv!
[01:53:55 CET] <llogan> try a newer ffmpeg
[01:55:06 CET] <llogan> if it still fails try with "--enable-libnut" (not sure what is any different compared to native nuts)
[01:57:24 CET] <fling> Is not it because of the interesting stream order?
[01:58:29 CET] <fling> #0:0: Video, #0:1: Audio, #0:2: Video
[01:58:35 CET] <vayvanne> hello ppl. my "read and copy to null" test setup survives only 4 h 28 secs of run. then I get [RTMP_ReadPacket, failed to read RTMP packet header] message. what could be the reason for this?
[01:59:22 CET] <fling> llogan: but the resulting video is missing stream #0:0 from the original and it has #0:2 intead of it!
[02:00:32 CET] <llogan> fling: hard to say much else without seeing your command & complete console output (via pastebin), and a link to an example file.
[02:01:33 CET] <vayvanne> no note, that is not the network or media server or stream issue. it is ffmpeg because I run multiple instances and the run time is always 4h 28s. or about 400k frames.
[02:01:43 CET] <vayvanne> to note, that is not the network or media server or stream issue. it is ffmpeg because I run multiple instances and the run time is always 4h 28s. or about 400k frames.
[02:09:54 CET] <AssPirate> vayvanne: when I was running long streams I ran out of memory and got oom killed. If it consistently dies at the same time that might not be the case though
[02:11:57 CET] <vayvanne> @AssPirate thanks for responce. memory consuming is all right, less than 18MB all the time. I run zeranoe 3.2 version build. the media server is adobe
[02:12:26 CET] <vayvanne> *response
[02:25:22 CET] <vayvanne> after RTMP_ReadPacker error I get also this: Larger timestamp than 24-bit: 0xfffffea0
[02:26:14 CET] <vayvanne> but guess that it is the follow-up of dropped stream
[02:52:25 CET] <fling> llogan:  http://dpaste.com/2HAHYER
[03:20:35 CET] <catsup> what is a 'video size abbreviation' (language from here: http://fountainheadfund.se/localdoc/ffmpeg/ffmpeg-devices.html#Options ) ?  is there a video size abbreviation for fullscreen?
[03:24:02 CET] <catsup> or more directly...  how can i get 'ffmpeg' to behave like 'ffplay -fs' ?
[03:25:51 CET] <DHE> catsup: there's a number of macros for certain image sizes, like "hd1080" for 1920x1080 and so on...
[03:26:17 CET] <furq> https://ffmpeg.org/ffmpeg.html#Options
[03:26:20 CET] <furq> why aren't you using this
[03:30:21 CET] <catsup> furq: that's the same thing
[03:30:54 CET] <catsup> furq: i had just searched the string 'video size abbreviation' after seeing it in the man page, and then i had gone to the second page of the google search by the time i pasted a random url with the man page on it
[03:31:09 CET] <catsup> DHE: none for fullscreen?
[03:32:01 CET] <DHE> catsup: it lets you specify weird resolutions by name instead of numbers. like "4k" or "xga". its' not related to full-screen mode
[03:32:27 CET] <catsup> btw to be clear, i have it in fullscreen mode, but if i don't specify a resolution i get a fullscreen window that contains a box
[05:47:53 CET] <ItWasntMe2013> does anyone know if I can frame count when doing draw text?  '%{localtime\:%T}'
[05:48:01 CET] <ItWasntMe2013> I can get the local time, but I cant get frames
[05:50:59 CET] <c_14> ItWasntMe2013:  n   the number of input frame, starting from 0
[08:43:19 CET] <bencc> for streaming h264 in a browser, should I use crf or min/max bitrate?
[08:43:35 CET] <bencc> quality is less important for me. I prefer smooth streaming
[08:44:03 CET] <furq> probably crf and the vbv
[08:44:11 CET] <JEEB> one is a primary rate control, the other is an additional rate control mechanism
[08:44:44 CET] <furq> yeah if you meant the vbv and not -b:v then you can use them both together
[08:44:51 CET] <furq> there's no point setting minrate though
[08:45:15 CET] <bencc> how does -bufsize work?
[08:45:22 CET] <bencc> does it force the viewer to buffer?
[08:45:27 CET] <furq> no
[08:46:20 CET] <furq> afaik if you have maxrate 1000k and bufsize 5000k then every 5000k of video will average out to be no more than 1000k
[08:46:32 CET] <furq> 1000kbps, obviously
[08:47:09 CET] <furq> it's rare that you actually need it if you have plenty of bandwidth
[08:47:23 CET] <bencc> this is reasonable?
[08:47:26 CET] <bencc> ffmpeg -i input.mp4 -c:v libx264 -preset slow -crf 28 -vf "format=yuv420p,scale=960:-1" -r 24 -c:a aac -strict experimental -b:a 96k -movflags +faststart out.mp4
[08:48:04 CET] <furq> seems fine, but don't set -r unless you need to
[08:49:15 CET] <bencc> I want to lower the bitrate as much as possible. if the input is 30fps I'm adding -r 24 to make it 24fps
[08:49:30 CET] <bencc> unless I don't understand how -r is used
[08:49:53 CET] <furq> that works
[08:49:59 CET] <bencc> thanks
[08:50:15 CET] <furq> i doubt you'll get a worthwhile bitrate saving from it though
[08:50:29 CET] <bencc> I'll test
[08:50:38 CET] <bencc> can it have negative effect?
[08:50:52 CET] <bencc> I mean noticeable negative effect
[08:50:55 CET] <furq> i doubt it
[08:54:28 CET] <bencc> 29 fps gives me 402kbps while 24fps gives me 388kbps
[08:54:44 CET] <bencc> not a big difference but I'll take every bit :)
[08:54:54 CET] <bencc> 100 viewers will watch the video at the same time
[08:59:13 CET] <Sircle> Hi
[08:59:23 CET] <ritsuka> is the video still smooth? dropping 6 fps should be noticeable
[09:00:40 CET] <Sircle> it seems I have a problem with ffmpeg and I cannot read videos https://pastebin.mozilla.org/8930460
[09:02:27 CET] <bencc> ritsuka: I'll check. in my case 100 users will view it at the same time so I prefer speed over quality
[09:02:39 CET] <Sircle> maybe this is the issue? https://github.com/bytedeco/javacv/issues/68
[09:02:51 CET] <Sircle> is there a way to split  a video via ffmpeg?
[09:02:55 CET] <ritsuka> you could just increase the crf to 29
[09:02:59 CET] <Sircle> split its frames to pictures
[09:03:54 CET] <furq> Sircle: -i foo.mp4 out%04d.png
[09:04:12 CET] <bencc> ritsuka: better to increase the crf than changing the frame rate/
[09:04:16 CET] <bencc> ritsuka: why not do both?
[09:04:57 CET] <ritsuka> because changing frame rate is harder to do right
[09:05:09 CET] <furq> 30 to 24 will just drop every sixth frame
[09:05:20 CET] <furq> if it doesn't look jerky to you then i guess that's fine
[09:06:09 CET] <bencc> ok. I'll try to keep the frame rate
[09:06:13 CET] <bencc> and just increase crf
[09:06:18 CET] <furq> every fifth frame, even
[09:06:47 CET] <furq> use a slower preset if you can tolerate it
[09:07:05 CET] <furq> veryslow gives significant improvements on some sources
[09:07:06 CET] <bencc> I'm using "-preset slow"
[09:07:14 CET] <bencc> great. I'll use veryslow
[09:11:20 CET] <bencc> HLS with 3 separate bitrates will ensure all the viewers have a decent experience?
[09:11:42 CET] <furq> only if 388kbps is your lowest target bitrate
[09:12:08 CET] <bencc> ok
[09:12:34 CET] <bencc> why 388kbps? is it a magic number?
[09:12:53 CET] <furq> 07:54:28 ( bencc) 29 fps gives me 402kbps while 24fps gives me 388kbps
[09:13:15 CET] <bencc> ok
[09:13:50 CET] <furq> if that's your lowest bitrate then sure, otherwise there's not much point
[09:15:06 CET] <bencc> I'll increase crf as much as I can while still having good enough quality
[09:17:50 CET] <bencc> furq: should I change the profile?
[09:18:02 CET] <bencc> furq: I currently don't set it so I think it's baseline by default
[09:18:25 CET] <furq> depends what people are viewing the stream in
[09:18:37 CET] <furq> pretty much anything modern will be fine with high
[09:18:55 CET] <bencc> furq: most will be on desktop. some on laptop/mobile
[09:19:04 CET] <bencc> but there could be old devices. not sure
[09:19:11 CET] <furq> old phones might need main or really old phones might need baseline
[09:19:45 CET] <bencc> old desktop and laptops will be fine with high? like a computer with XP
[09:20:03 CET] <furq> should be fine if it's sd
[09:20:11 CET] <furq> baseline will fuck up compressibility really badly
[09:20:33 CET] <bencc> ok
[09:43:26 CET] <Sircle> furq:  ever used opencv or javacv?
[09:59:33 CET] <furq> can't say i have
[10:13:05 CET] <Sircle> furq:  I used opencv in java as javacv and I guess there ffmpeg i snot working via jars. Is there an alternative?  https://pastebin.mozilla.org/8930460
[10:47:05 CET] <kerio> how do you even watch 388kbps video
[10:47:23 CET] <kerio> i have some vbr mp3s that are higher than that i think
[10:54:37 CET] <Mavrik> Good thing the video codecs are significantly better than mp3 :P
[10:55:29 CET] <furq> i expect you take what you can get if you've got 512k dsl
[11:15:13 CET] <Mavrik> or ya know
[11:15:14 CET] <Mavrik> 3G.
[11:15:29 CET] <Mavrik> or crappy thing that masquerades as LTE in some parts :P
[11:29:32 CET] <Sircle> anyone?  https://pastebin.mozilla.org/8930460
[11:54:49 CET] <termos> when printing out output information with av_dump_format I see that framerate is set MetaData, but when I rtmpdump my stream it's no longer set. Is this somehow removed during muxing?
[12:02:47 CET] <termos> it's as if the framerate metadata is removed by the flv muxer
[12:04:27 CET] <BtbN> Does flv even carry a framerate?
[12:08:10 CET] <termos> https://github.com/FFmpeg/FFmpeg/blob/d316b21dba227fa2a2bce0daf02a62f11821227f/libavformat/flvenc.c#L660-L662
[12:08:37 CET] <termos> these were the lines causing the issue, my AVStream.avg_frame_rate was not set by me before av_write_header
[13:10:33 CET] <JetbOo> Hi there
[13:10:47 CET] <JetbOo> When encoding with ffmpeg I get "100 buffers queued in output stream 0:0, something may be wrong."
[13:11:00 CET] <JetbOo> When playing the resulting video, it stays fixed like a picture ...
[13:12:07 CET] <JetbOo> Here is the pastebin http://pastebin.com/v1KvtWdZ
[13:13:12 CET] <JetbOo> An idea of whats wrong out there  ?
[13:33:12 CET] <termos> I had this issue when the filter in my filter graph could not process frames fast enough. Do you have the same problem without the scale filter?
[13:34:14 CET] <termos> also your fps filter looks wrong, it will default to 25 fps though
[13:53:30 CET] <JetbOo> termos: without the scale filter I cant encode because the resolution cannot be divided by 2
[13:54:45 CET] <JetbOo> termos: when I input fps=fps=2 the error disapears
[13:55:01 CET] <JetbOo> but the video remains like an image
[14:54:15 CET] <Eiken> when outputting an image sequence how can i make it not start on frame 0001?
[14:54:25 CET] <Eiken> ideally i want it to keep the frame numbers from the input image sequence
[14:58:11 CET] <ozette> hi i'm trying to troubleshoot something here
[14:59:07 CET] <ozette> what does it mean when ffprobe $file outputs: [h264 @ 0x1df5370] Increasing reorder buffer to 1
[15:00:35 CET] <ozette> i have a bunch of video files on my workstation, and my server can serve them all, except for the latest two which were uploaded
[15:01:00 CET] <ozette> my server just does not respond, and i don't see why
[15:02:08 CET] <ozette> when i give the name of the problematic video to an OK video it CAN be requested and replayed
[15:02:33 CET] <DHE> could be a corrupted stream. the number of frames the h264 decoder had to buffer changed unexpectedly
[15:02:49 CET] <DHE> or maybe someone combined two videos together that didn't have matching parameters
[15:06:10 CET] <ozette> interesting, because i CAN view the video locally on the workstation, and it does show two seperate angles
[15:06:15 CET] <ozette> as if it's meant for VR or something
[15:07:05 CET] <ozette> output of ffprobe with a working video, bearing the name of the problematic one: https://paste.fedoraproject.org/488465/79823534/raw/ ;; output of the problematic video: https://paste.fedoraproject.org/488464/82347714/raw/
[15:07:28 CET] <ozette> so it may be because it's some kind of combined video?
[15:11:21 CET] <ozette> but why would my server refuse to serve the video?
[15:15:41 CET] <Eiken> no one? must be more people that want same frame numbers
[15:18:52 CET] <ozette> this is what the two videos look like https://s18.postimg.org/7h9nt1uop/situation.png
[15:40:51 CET] <ozette> i think i found out the roblem
[15:40:57 CET] <ozette> problem*
[15:41:12 CET] <ozette> my server tries to determine the mime type
[15:41:27 CET] <ozette> with magic numbers
[15:41:56 CET] <ozette> but, it can't seem to determine the mime type of this type of video, so the request is never answered
[15:48:41 CET] <ozette> my server uses this file to determine mime type https://github.com/sindresorhus/file-type/blob/master/index.js
[15:48:43 CET] <ewl> I have a question; Can I convert .MXF to .MP4 with ffmpeg?
[15:49:10 CET] <ozette> there's quite some in there to determine .mp4, but it seems 'this' video is not in there
[15:53:37 CET] <kerio> ozette: seems like a garbage way of doing things
[15:53:46 CET] <kerio> ewl: can you ffprobe the .mxf?
[15:55:20 CET] <ewl> kerio; ffprobe?
[15:55:29 CET] <kerio> ffprobe whatever.mxf
[15:55:36 CET] <ewl> Hold
[15:55:40 CET] <kerio> also, when you say "convert"
[15:55:55 CET] <kerio> do you mean remux to change the container
[15:56:00 CET] <kerio> or actually transcoding video and/or audio?
[15:56:43 CET] <ewl> I need the whole video to be a playable mp4-file instead of .mxf.
[15:57:03 CET] <ewl> At work, we are going to have a Movie festival and one of the files we got was a xmf file.
[15:57:14 CET] <ewl> And our media player doesnt support that format.
[16:01:15 CET] <ewl> kerio: I did the ffprobe.
[16:01:25 CET] <ewl> What do you need from it?
[16:08:29 CET] <kerio> ewl: pastebin the output
[16:08:33 CET] <kerio> it's mostly about the codecs
[16:08:37 CET] <kerio> ...meh actually
[16:08:39 CET] <kerio> you know what
[16:08:54 CET] <kerio> ffmpeg -i whatever.mxf -codec copy whatever.mp4
[16:08:56 CET] <kerio> see if it works
[16:08:59 CET] <kerio> it should be fast
[16:09:08 CET] <ewl> Okay, hold.
[16:09:21 CET] <ewl> The file is ~40GB. Should it still be fast?
[16:10:32 CET] <kerio> ...well
[16:10:39 CET] <kerio> as fast as a 40gb file copy i guess
[16:10:58 CET] <kerio> a bit less than that
[16:11:27 CET] <ewl> http://pastebin.com/FQxaj9gY
[16:11:29 CET] <ewl> The ffprobe
[16:22:38 CET] <kerio> it expired already?
[16:22:43 CET] <ewl> hold
[16:24:55 CET] <ewl> kerio: http://pastebin.com/rhTYL4jB
[16:24:58 CET] <ewl> There you have
[16:25:30 CET] <kerio> that's mpeg2 and raw audio
[16:25:41 CET] <kerio> oh god it's split 7.1 audio
[16:25:59 CET] <kerio> who uses mpeg2video in 2016
[16:26:03 CET] <ewl> Dunno.
[16:26:20 CET] <ewl> It's a new Movie that was released to theaters this year.
[16:26:29 CET] <kerio> anyway, it should maybe kinda work
[16:26:39 CET] <ewl> with copy?
[16:26:40 CET] <kerio> but you need to merge the audio or it's not going to sound good at all
[16:26:44 CET] <kerio> yeah you can copy the video
[16:26:55 CET] <kerio> ...but honestly, just transcode it to h264
[16:27:17 CET] <kerio> https://trac.ffmpeg.org/wiki/AudioChannelManipulation
[16:27:58 CET] <kerio> i mean, it's apparently very high bitrate mpeg2
[16:29:22 CET] <ozette> kerio: why?
[16:29:35 CET] <ozette> you have to determine the mime type somehow
[16:29:48 CET] <kerio> ozette: how's failing to do anything a good idea for a web server?
[16:29:54 CET] <ewl> Hm, transcode the whole Movie tho h264 or just the audio and then merge it with the copy?
[16:30:03 CET] <ozette> it's not really failing
[16:30:04 CET] <kerio> ozette: application/octet-stream
[16:30:07 CET] <kerio> ez
[16:30:07 CET] <ozette> it's just not part of the list
[16:30:15 CET] <ozette> octet-stream has never ever worked for me
[16:30:38 CET] <ozette> i could transcode the uploaded video, and use some mime type i always know will be true
[16:30:45 CET] <ozette> but i currently don't
[16:31:14 CET] <ozette> well, i actually do, but not on this particular workstation, it's a branch of my original server
[16:31:24 CET] <kerio> ewl: transcoding will be expensive, cpu-wise
[16:31:30 CET] <kerio> but it will result in a reasonable size for your video
[16:31:58 CET] <ewl> size doesn't matter at all. I just need a functional .mp4-video that the media player can play.
[16:32:02 CET] <ozette> i can expand the list to include the magic number of this video, and send a pull request to the devs of this lib
[16:32:55 CET] <ewl> copy didn't work.
[16:33:05 CET] <kerio> ewl: what was the error?
[16:33:08 CET] <kerio> because it should've worked
[16:33:19 CET] <kerio> other than the fact that the audio is going to be borked
[16:33:39 CET] <ewl> [mxf @ 0000000000f66680] index entry 145177 + TemporalOffset 1 = 145178, which is out of bounds
[16:33:58 CET] <kerio> is that an actual fatal error
[16:34:43 CET] <ewl> [mp4 @ 0000000002874c80] Could not find tag for codec pcm_s24le in stream #1, codec not currently supported in container
[16:34:44 CET] <ewl> Could not write header for output file #0 (incorrect codec parameters ?): Invalid argumentStream mapping:
[16:34:44 CET] <ewl>   Stream #0:0 -> #0:0 (copy)
[16:34:44 CET] <ewl>   Stream #0:1 -> #0:1 (copy)
[16:34:44 CET] <ewl>     Last message repeated 1 times
[16:34:50 CET] <ewl> And that one.
[16:35:28 CET] <kerio> that is the error
[16:35:48 CET] <kerio> ewl: why do you keep putting out pastebins with expiration times
[16:35:50 CET] <kerio> jesus christ
[16:36:14 CET] <ewl> Sorry. Because it's workstuff, don't wanna forget to delete it
[16:36:57 CET] <ewl> http://pastebin.com/J03Cu0qd
[16:37:04 CET] <ewl> That's a new one, 1 hrs expiration
[16:37:23 CET] <kerio> anyway, as i told you
[16:37:28 CET] <kerio> https://trac.ffmpeg.org/wiki/AudioChannelManipulation
[16:37:56 CET] <kerio> you'll have to figure out how those 8 mono channels fit in a 7.1 audio stream
[16:38:07 CET] <kerio> and if they're actually 7.1
[16:38:14 CET] <ewl> Okay.
[16:38:18 CET] <kerio> rather than 4 different stereo languages or something
[16:38:50 CET] <kerio> after you do that, transcode that to aac or somethign
[16:38:59 CET] <kerio> you can keep the video as-is without transcoding
[16:40:13 CET] <ewl> Checked the audio, it ain't different languages, some background noice without voices and stuff
[16:41:08 CET] <ewl> I have to go for a while. I'll be back a bit later. Thanks for the help for now, kerio. I appriciate it very much.
[16:41:27 CET] <kerio> so it's probably 7.1 audio
[16:41:54 CET] <kerio> use the merge filter to put the channels together in the correct "place", transcode the audio to aac or something that can fit in a mp4, copy the video or transcode the video to h264
[16:55:48 CET] <MichaelVB> any news on a replacement for ffserver?
[16:56:49 CET] <joaopinto> Hello good afdternoon
[16:57:13 CET] <joaopinto> I am using ffplay in a demo and I detected a problem that might be a known issue for you
[16:57:24 CET] <joaopinto> when playing a video
[16:57:39 CET] <joaopinto> it is no able to detect its end
[16:57:49 CET] <joaopinto> and tpo stop ffplay I must CTRL+C
[16:58:05 CET] <joaopinto> and then in order to use ffplay again I have to restart the platform
[16:58:13 CET] <durandal_1707> hmm, share sample?
[16:58:13 CET] <joaopinto> is this a known issue for you?
[17:18:11 CET] <ozette> does anyone know this type of mp4 container? "MSNV MPEG-4 (.MP4) for SonyPSP" is that actually a video meant for the sony psp?
[17:21:47 CET] <joaopinto> ffplay: I make CTRL+C, and that aborts the application leaving the SDL mutex, from what I check in the code
[17:22:01 CET] <joaopinto> what is the right way to exit gracefully from ffplay?
[17:25:49 CET] <drv> hit 'q'
[17:42:55 CET] <ozette> kerio: have you ever played video over the web succesfully providing application/octet-stream as mime type?
[17:46:55 CET] <ozette> i can hardly believe it
[17:56:51 CET] <ozette> i've been streaming and videos over the web for months, never has providing application/octet-stream worked for playback of videos in any major browser
[17:58:42 CET] <ozette> determining by magic numbers is the only way, if you don't chose to transcode
[18:10:03 CET] <ozette> i have a video file, when i use --mime-type on it, it only shows audio/mp4, how's this possible? is the video stream not recognized?
[18:48:04 CET] <anime_ir1> Hi, I would like to ask a question regarding filter chains.
[18:49:11 CET] <anime_ir1> Lets say I have a "mpeg2video (Main), yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], 25 fps,
[18:50:09 CET] <anime_ir1> and wanted to deinterlace with yadif and then convert with hevc_vaapi
[18:53:26 CET] <Kafan> I cannot figure out how to google this properly, I just keep getting unrelated things.  I'm encoding from a DVD, using -vf crop.  ( command line: http://sprunge.us/DTRd )
[18:53:38 CET] <Kafan> This results in the subtitles being in the middl eof the video, however, instead of the bottom
[18:53:45 CET] <Kafan> Presumably because their offset was not adjusted in the cropping process.
[18:53:48 CET] <Kafan> How can I fix them?
[18:54:05 CET] <Kafan> They are image-based subtitles, given that they are dvdsub
[18:54:41 CET] <Kafan> Or, how do I google this properly.
[19:10:24 CET] <Kafan> Ok, so I can maybe use -filter_complex crop on the subs, but I think this turns them into video streams.  can I change them back somehow, or define the output codec of individual streams like that?
[19:43:20 CET] <gabrieliv> Hi, I need to compile and run some ffmpeg code on a remote machine where I don't have root access to install ffmpeg-devel package. I've copied the ffmpeg source code snapshot to the remote machine and tried to compile my code with gcc -I/path/to/snapshot but, however, this fails due to the missing .so libraries (e.g. libavformat.so, libavcodec.so etc) that need to linked together with the object files into my executable. Is there any way I could some
[19:43:20 CET] <gabrieliv> how obtain the .so files so that I'd could just use gcc -L and tell the compiler where to look for them and successfully build my code?
[19:45:41 CET] <Kafan> You can probably copy them from any compatible system.
[19:45:58 CET] <Kafan> If you have another system that's the same type (x86_64, etc) as the remote
[19:46:09 CET] <Kafan> as long as you're certain about getting the same version
[19:48:37 CET] <gabrieliv> OK, gonna have to try that
[19:49:50 CET] <Kafan> ->lunch
[19:49:50 CET] <Kafan> afk
[19:53:39 CET] <jmaister> Hi
[19:54:16 CET] <jmaister> Is it possible to start capturing a USB input device when video starts playing on the device, and trigger a script when video stops on the device?
[19:56:31 CET] <BtbN> don't capture devices allways output a stream, but just a black one or a no signal screen when nothing is coming in?
[19:57:42 CET] <jmaister> Yeah
[19:57:55 CET] <jmaister> So, I guess I need to "listen" for a non-black frame
[19:58:13 CET] <jmaister> then do the same for when the screen has been black for x seconds
[19:59:39 CET] <BtbN> well, but what if the thing you catpture is actually black for a moment?
[20:00:31 CET] <jmaister> Say, I set end-of-stream to 30 seconds. That should do it
[20:00:45 CET] <jmaister> Then just trim the last 30 seconds of the recording
[20:01:30 CET] <jmaister> Then reset and wait for another stream to start
[20:03:41 CET] <jmaister> Preferably trigger a script as well
[20:29:08 CET] <jmaister> Maybe it isn't possible to achieve
[20:51:54 CET] <styler2go> Hey everyone. I am trying to compile ffmpeg but get the error libmp3lame >= 3.98.3 not found. But i just downloaded, compiled and installed the latest libmp3lame from sourceforge. any idea?
[20:52:56 CET] <llogan> which OS? where did you install it? what is your ffmpeg configure?
[20:53:52 CET] <furq> styler2go: the actual error will be near the end of config.log
[20:54:01 CET] <furq> probably a header in the wrong place or something
[20:54:07 CET] <styler2go> os is ubuntu, cross compiling to mingw32_64. cconfigure is: https://p.styler2go.de/42420/ also tried something like: https://p.styler2go.de/1807862/
[20:57:04 CET] <styler2go> furq: seems to be: /tmp/ffconf.8FDZowF1.c:1:23: fatal error: lame/lame.h: No such file or directory
[20:57:16 CET] <llogan> you're using a patched source. FFmpeg does not have --enable-nvresize. nvenc does not need nonfree.
[20:57:39 CET] <styler2go> llogan: yes, it's patched
[20:57:53 CET] <llogan> officially we don't support unofficial sources
[20:58:01 CET] <styler2go> that sentence sounds funny
[20:58:09 CET] <styler2go> but i understand
[20:58:39 CET] <styler2go> but i don't think it's a problem with the patch.. more like some lame issue...
[20:58:54 CET] <llogan> what's the difference between nvresize and the supported scale_npp?
[20:59:45 CET] <styler2go> i don't need nvresize, all i need is nvenc
[21:00:03 CET] <llogan> then you don't need whatever outdated patch you used
[21:00:11 CET] <styler2go> i've removed nvenc and git reset
[21:00:27 CET] <styler2go> but yeah, i also need to checkout master again
[21:01:12 CET] <llogan> where did you install lame to?
[21:01:40 CET] <styler2go> ok, cleaned up that mess with the outdated nvidia patchfile
[21:02:28 CET] <styler2go> when i use locate libmp3lame.a it tells me: /usr/lib/x86_64-linux-gnu/libmp3lame.a
[21:02:55 CET] <furq> you need to compile all the dependencies with mingw
[21:03:26 CET] <styler2go> oh god... ok thanks
[21:05:29 CET] <llogan> you may find this helpful/intimidating: https://github.com/qyot27/mpv/blob/extra-new/DOCS/crosscompile-mingw-tedious.txt
[21:07:11 CET] <styler2go> ok that's too much for me.. but thanks anyway
[21:08:57 CET] <llogan> i mean you can pick and choose
[21:09:23 CET] <furq> you're only building with two external libs
[22:41:02 CET] <markvandenborre> is there any difference in forgiveness between an flv and an mp4 container, both with the same h264 video and aac audio
[22:41:22 CET] <JEEB> ISOBMFF has much better support with regards to timestamp timebase
[22:41:29 CET] <JEEB> FLV is always 1/1000
[22:42:30 CET] <furq> flv is a streaming container, mp4 usually isn't
[22:42:49 CET] <furq> although if you don't need rtmp support then mpegts is probably a better choice than flv
[22:45:08 CET] <JEEB> welcome to questions that aren't specific or aren't well worded :P
[22:45:21 CET] <JEEB> you get a lot of randomness that might not be what you were asking about
[22:46:21 CET] <furq> bless me, flv, for i have sinned
[22:47:59 CET] <markvandenborre> thing is, we do our distribution of streams to our streaming backends for fosdem using nginx-rtmp, so flv by definition
[22:48:22 CET] <markvandenborre> we then use nginx-rtmp to offer our users hls
[22:48:35 CET] <markvandenborre> which is rather well supported on most FOSS platforms
[22:48:48 CET] <markvandenborre> I want to make a dump of what we get there, and nginx-rtmp also provides for that
[22:49:21 CET] <markvandenborre> but it would be much more useful to have it in mp4 format immediately than to first save it as flv, then convert it
[22:49:46 CET] <markvandenborre> nginx-rtmp provides for fairly robust execution of external commands (ffmpeg...)
[22:50:45 CET] <markvandenborre> but if my stream dies hard (simulated it by sigkill on the process that feeds rtmp into the nginx-rtmp based streaming backend)
[22:51:09 CET] <markvandenborre> then even if ffmpeg closes properly with sigterm
[22:51:45 CET] <markvandenborre> it will in some/most/all? cases get a truncated, useless mp4 stream
[22:52:10 CET] <markvandenborre> JEEB: furq: hence my question if flv would be more robust than mp4
[22:53:02 CET] <markvandenborre> furq: your comment about flv being a streaming container seems to suggest that it will be a bit more forgiving
[22:53:02 CET] <JEEB> fragmented mp4 will give you everything but the last GOP if you fragment at IRAPs
[22:53:22 CET] <JEEB> (if a thing gets killed off suddenly)
[22:53:28 CET] Action: markvandenborre starts searching for GOP and IRAP
[22:53:29 CET] <JEEB> FLV depends on how the muxer writes it
[22:53:41 CET] <JEEB> Group Of Pictures, IRAP to the next IRAP
[22:53:49 CET] <JEEB> Intra Random Access Picture
[22:53:54 CET] <markvandenborre> cool, thx
[22:54:31 CET] <markvandenborre> so no idea why this sometimes gives me garble instead of something useful
[22:55:07 CET] <markvandenborre> JEEB: this is the ffmpeg command called from nginx-rtmp: 			exec_push ffmpeg -i rtmp://localhost/stream/$name -codec copy /tmp/$name.mp4;
[22:55:21 CET] <JEEB> because you don't fragment
[22:55:39 CET] <JEEB> without movie fragments you get a single index after the file has been fully written
[22:55:45 CET] <markvandenborre> I see
[22:56:01 CET] <markvandenborre> strange that I could get this to play then anyway...
[22:56:07 CET] <markvandenborre> in some circumstances
[22:56:22 CET] <markvandenborre> trying to understand where my thinkos are
[22:56:36 CET] <JEEB> you can only play that if the process finished in one way or another
[22:57:04 CET] <JEEB> -movflags empty_moov+frag_keyframe
[22:57:12 CET] <JEEB> will fragment at each IRAP
[22:57:28 CET] <markvandenborre> k, thx
[22:57:35 CET] <JEEB> you can actually do it even shorter so your loss is less if the process gets killed suddenly
[22:57:37 CET] <markvandenborre> ah, yes, I killed it with SIGTERM
[22:57:51 CET] <JEEB> yeah, if you let it do a proper stop then all's good
[22:58:05 CET] <JEEB> it will flush the muxer and write index
[22:58:05 CET] <markvandenborre> JEEB: suggestions welcome about this even shorter loss
[22:58:46 CET] <markvandenborre> trying out with the options you just suggested
[22:58:53 CET] <markvandenborre> really really thankful for your hints!
[22:59:17 CET] <furq> you could also use mpegts in that exec_push and then remux to mp4 for streaming
[22:59:35 CET] <JEEB> use -max_frag_duration of a single video frame if you're dealing with constant frame rate
[22:59:48 CET] <JEEB> that way each video frame gets its own fragment
[22:59:51 CET] <furq> fragmented mp4 is probably ok though
[22:59:53 CET] <JEEB> perverse, but works :P
[22:59:58 CET] <markvandenborre> :-)
[23:00:23 CET] <markvandenborre> you are both amazing!
[23:00:46 CET] <markvandenborre> JEEB: aaah, I love it when perversity works :p
[23:01:06 CET] <furq> what's wrong with nginx-rtmp's recording stuff
[23:01:19 CET] <JEEB> and frag_duration is in microseconds according to ffmpeg-all
[23:01:21 CET] <furq> i take it you'd rather not have to remux separetely
[23:01:27 CET] <JEEB> (it wasn't max_frag_duration)
[23:01:30 CET] <furq> separately
[23:01:39 CET] <JEEB> https://www.ffmpeg.org/ffmpeg-all.html#Options-38
[23:01:51 CET] <markvandenborre> furq: it only records to flv
[23:02:18 CET] <markvandenborre> and if we can, we want to use the nginx-http-mp4-module
[23:02:33 CET] <markvandenborre> to allow proper pseudocutting throughthe browser
[23:02:53 CET] <markvandenborre> for which we would need faststart
[23:03:00 CET] <markvandenborre> on mp4 files
[23:03:20 CET] <markvandenborre> so we would need to go through some kind of conversion anyway
[23:03:28 CET] <JEEB> fragments pretty much give you faststart :P
[23:03:43 CET] <JEEB> unless that module doesn't habla movie fragments
[23:10:07 CET] <markvandenborre> JEEB: I'm not claiming to understand it all, but... will the flags you just suggested to me (and that work brilliantly btw)
[23:10:31 CET] <markvandenborre> be mutually exclusive with -movflags +faststart in any way?
[23:10:45 CET] <markvandenborre> I understand that this moves the MOOV atom to the front
[23:10:57 CET] <markvandenborre> so I would expect that this might be problematic
[23:11:00 CET] <markvandenborre> or not so much?
[23:11:06 CET] <furq> i don't think fragmented mp4 has a moov atom
[23:11:15 CET] <furq> it has a moof atom in each fragment which does the same thing
[23:11:16 CET] <markvandenborre> I see
[23:11:48 CET] <JEEB> MOOV is the index, and fragments pretty much have their own smaller indexes
[23:12:00 CET] <JEEB> MOOF being movie fragment thing
[23:12:18 CET] <axdds34> hello
[23:13:33 CET] <markvandenborre> JEEB: so I would need to reindex the resulting file separately in any case
[23:13:42 CET] <JEEB> umm
[23:13:49 CET] <JEEB> fragmented ISOBMFF doesn't really need an index
[23:14:08 CET] <JEEB> the only issue is if your thing that you feed it to later doesn't support proper fragmented ISOBMFF
[23:14:12 CET] <markvandenborre> but we need it for this pseudocutting is relying on it
[23:14:17 CET] <markvandenborre> indeed
[23:14:35 CET] <JEEB> well, I recommend you try it first and then see
[23:14:42 CET] <markvandenborre> just did :-(
[23:14:47 CET] <JEEB> oh well
[23:15:12 CET] <JEEB> (*´
[23:15:16 CET] <axdds34> hello someone can help me with ffmpeg instalation?
[23:18:36 CET] <markvandenborre> axdds34: sorry mate, haven't used anything but linux in the last 20years...
[23:19:02 CET] <axdds34> no problem mark, thank you! ;)
[23:19:11 CET] <markvandenborre> so unless you are using a linux distro (in which case ffmpeg should be trivially available using your package manager, I won't be able to help you)
[23:20:31 CET] <furq> assuming he's using a newish distro
[23:21:02 CET] <axdds34> some one can send me simple code for try ffmpeg in ssh?
[23:21:05 CET] <unkmar> markvandenborre: not entirely.
[23:21:47 CET] <axdds34> im install it with yum install ffmpeg
[23:22:02 CET] <axdds34> maybe work ok, and now need some code for try :)
[23:23:11 CET] <markvandenborre> unkmar: ?
[23:28:45 CET] <markvandenborre> JEEB: I'm trying to understand conceptually what I could do to get to a reliable MOOV atom at the beginning of the file in as few steps as possible
[23:28:55 CET] <markvandenborre> (if that is possible at all)
[23:29:31 CET] <markvandenborre> without fragmenting, I will have an unreliable truncated mp4 with I suspect the MOOV atom somewhere near the end and garbled
[23:29:40 CET] <markvandenborre> with fragmenting, I get something usable
[23:30:27 CET] <markvandenborre> in the sense of technically ok mp4 container
[23:30:49 CET] <unkmar> I've had compatibility issues with...
[23:30:58 CET] <unkmar> I don't know what a MOOV atom is.
[23:30:59 CET] <markvandenborre> but the information I need is spread all over the file
[23:32:23 CET] <unkmar> I've had compatibility issues with my Debian 8.  Forced to use backports, and I get .. Eh, Probably could fix things if I just download and compile.  Right, Compile.  Because nothing should ever have to be compiled in a completed project.  Wait, apparently everything needs to be compiled every time.  Eh, Whatever.  I'll just run gentoo.  It always compiles.
[23:32:41 CET] <unkmar> Seriously.  I have plenty of rants.  This ffmpeg problem of mine is just one of them.
[23:34:44 CET] <markvandenborre> unkmar: are you a trollbot, or just don't know how to behave in an irc channel yet? if the second thing is the case: when asking a question, please be specific, listening and respectful
[23:36:00 CET] <markvandenborre> your ranting fails on all three criteria
[23:36:46 CET] <unkmar> Neither.  I'm a veteran to IRC and just absolutely tired of being burned by so many problems.  I'm not currently asking for help about a problem.  I don't have time to attempt to fix my ffmpeg issue at the moment.  It may be days before I get around to that again.
[23:37:16 CET] <unkmar> And furq has been exceptionally helpful.
[23:37:40 CET] <unkmar> I often have problems that just don't get fixed easily.  It is me, I should be a beta tester or something.
[23:37:44 CET] <markvandenborre> in that case, sorry to hear you had a bad day, and my hopes for the best
[23:37:58 CET] <markvandenborre> that they may get solved eventually
[23:38:27 CET] <markvandenborre> unkmar: https://webvideo.wikischolars.columbia.edu/H.264+HTTP+Web+Notes says something at least about the MOOV atom
[23:39:02 CET] <unkmar> markvandenborre: Thank you.  My most recent issue is with cordova and just getting the thing to use MY icon for the smartphone app instead of Cordova's default.  I managed to brute force past it for the moment.  But my fix is clearly the wrong way to do it.
[23:39:40 CET] <unkmar> And the #cordova channel has been....  Uh, Silent.  I guess they don't get many visitors.
[23:41:17 CET] <unkmar> markvandenborre: Holy crap.  Looks like you take on problems as big as I do.  Web streaming is why I'm here.  Well, a part of my problems I hope to fix.
[23:41:59 CET] <unkmar> Well, good luck with the MOOV atom.
[23:42:14 CET] <markvandenborre> :-)
[23:51:24 CET] Action: markvandenborre is looking up how I can distinguish a MOOF based/fragmented mp4 versus a MOOV based one
[23:51:49 CET] <markvandenborre> mediainfo and ffprobe seem not to yield any relevant info
[23:52:23 CET] <kerio> markvandenborre: cant you just -movflags +faststart
[23:57:58 CET] <markvandenborre> kerio: yes, that would work as a single, rather cpu and disk intensive postprocessing step
[23:58:10 CET] <markvandenborre> (I did have a look with qt-faststart)
[23:58:11 CET] <kerio> how's it cpu intensive?
[23:58:22 CET] <kerio> it's a remux
[23:58:30 CET] <furq> it's not cpu intensive but it does thrash your disk
[23:58:32 CET] <markvandenborre> sorry, meant disk intensive
[23:58:43 CET] <furq> running several at once on spinning rust is a good way to have a bad time
[23:58:56 CET] <kerio> the solution is obviously to use mkv in the first place :^)
[23:59:02 CET] <furq> ask me about my ill-advised xargs remuxing script
[23:59:10 CET] <kerio> hey furq
[23:59:13 CET] <kerio> i have a question for you
[23:59:20 CET] <furq> what is it my child
[23:59:27 CET] <markvandenborre> "what about your ill-advised xargs remuxing script"?
[23:59:30 CET] <kerio> what's your favourite gen 7 starter and why is it rowlet
[23:59:38 CET] <furq> it's popplio
[23:59:44 CET] <kerio> get the fuck outta here
[23:59:47 CET] <furq> i don't know what that is but i heard some people say it recently
[00:00:00 CET] --- Wed Nov 23 2016



More information about the Ffmpeg-devel-irc mailing list