[Ffmpeg-devel-irc] ffmpeg.log.20191027
burek
burek at teamnet.rs
Mon Oct 28 03:05:01 EET 2019
[01:57:11 CEST] <bluejaypop> hi, good afternoon, if i want to apply -af filter to downmix from stereo to mono can I do something like "pan=1c|mono" ? or how is the correct way to do it ?
[02:02:54 CEST] <another> -ac 1
[02:06:50 CEST] <furq> bluejaypop: just -af pan=mono is fine if you don't want to use -ac
[02:07:49 CEST] <bluejaypop> ok great, the "|" can be used with "pan=1c|mono" ?
[02:07:59 CEST] <bluejaypop> i'm just going to test
[02:10:13 CEST] <furq> no the params after the first | are channel specifications
[02:10:30 CEST] <furq> https://ffmpeg.org/ffmpeg-filters.html#pan-1
[02:11:04 CEST] <bluejaypop> gotcha, thank you guys.
[02:11:08 CEST] <furq> pan=mono should be the same as pan=mono|c0=FL+FR
[02:11:34 CEST] <bluejaypop> yes, i just checked the output and it's correct.
[06:57:30 CET] <isbae93> Guys, I just tried the `transcoding.c` example, but the result is twice the duration & half the framerate of the original video. Any thoughts?
[07:00:45 CET] <sector_surfer> test
[07:01:06 CET] <sector_surfer> Hi
[07:01:51 CET] <sector_surfer> When I download from a facebook live video, I get the error Non-monotonous DTS in output stream error
[07:01:55 CET] <sector_surfer> here is the commandline I use
[07:02:03 CET] <sector_surfer> minus the URL of the facebook video
[07:02:29 CET] <Reinhilde> show us the command line
[07:02:37 CET] <Reinhilde> sector_surfer: it should not be an error
[07:03:15 CET] <sector_surfer> ffmpeg -i "insert-url-here" -metadata service_name=" " -metadata service_provider=" " -c copy manifest.ts
[07:04:42 CET] <Reinhilde> sector_surfer: does non-monotonous dts terminate the recording?
[07:04:49 CET] <sector_surfer> no it doesn't
[07:05:59 CET] <Reinhilde> then it's fine
[07:06:05 CET] <Reinhilde> i've seen it a lot
[07:06:48 CET] <sector_surfer> but when I play the video back, parts of the audio repeat themselves a few times, like a stuck record
[07:07:35 CET] <sector_surfer> I mean both the video and audio repeat themselves
[07:10:44 CET] <sector_surfer> it'll be fine, then at a certain point in the video, the previous 3 seconds will be repeated 3 or 4 times before continuing on
[07:13:37 CET] <sector_surfer> Reinhilde, are you there?
[07:14:54 CET] <sector_surfer> [mpegts @ 039d8a80] Non-monotonous DTS in output stream 0:1; previous: 9165167, current: 9165045; changing to 9165168. This may result in incorrect timestamps in the output file.
[07:19:34 CET] <sector_surfer> sometimes I get 404 errors
[07:30:39 CET] <pink_mist> 404 errors is really not something ffmpeg can help you with
[07:31:02 CET] <pink_mist> if you get 404, the thing you're looking for simply isn't there
[07:31:07 CET] <pink_mist> nothing ffmpeg can do about it
[07:36:15 CET] <ponyrider> sector_surfer: youtube-dl can grab videos from facebook just fyi
[07:36:34 CET] <sector_surfer> are you able to help out with the resulting video coming out wrong though?
[07:37:10 CET] <sector_surfer> youtube-dl can't seem to do live videos while they're ... well. live, if you get my drift
[07:39:11 CET] <sector_surfer> https://video.fmel5-1.fna.fbcdn.net/hvideo-cln1-lla/_nc_cat-106/v/rjd4WgX2mD8SvoP4WlEOr/live-dash/dash-abr5/2577664765856573.mpd?_nc_rl=AfAvHCAs9kfiTSP4&oh=2fed0b16905903de63674e5632db4f7e&oe=5DB71CB3
[07:39:29 CET] <sector_surfer> when I youtube-dl on that url, it doesn't work, I get an error
[07:41:06 CET] <sector_surfer> error, no video formats found
[07:42:42 CET] <sector_surfer> pink_mist as for the 404 errors, they just happen occasionally when downloading the live stream with ffmpeg. then it's like like.. all fine again and the stream continues downloading
[07:44:17 CET] <Reinhilde> sector_surfer: it shuld not be a big deal
[07:45:27 CET] <sector_surfer> OK, so can you help me with parts of the video coming out wrong? also, can you help me with downloading the live feed with youtube-dl?
[07:47:07 CET] <ponyrider> sector_surfer: i am unable to download that link you sent me using youtube-dl
[08:01:32 CET] <sector_surfer> weird.
[08:02:56 CET] <sector_surfer> ffmpeg could download the stream fine, but for some reason, youtube-dl requires the use of a cookies.txt file to do it.
[08:03:00 CET] <sector_surfer> how odd
[11:02:20 CET] <haasn> Does MP3 have checksums? i.e. will ffmpeg complain to stderr about corrupt MP3 files?
[11:03:27 CET] <durandal_1707> MP3 is crap
[11:04:52 CET] <haasn> Is that a no?
[11:11:20 CET] <durandal_1707> haasn: mp2 have some kind of crc, mp3 probably not, at least not available via libmp3lame
[11:12:27 CET] <durandal_1707> haasn: actually it have, just ffmpeg wrapper never use it
[11:12:44 CET] <haasn> hmm
[11:13:15 CET] <haasn> I have some flac and mp3 files that might have been corrupted (partial download) and I want to test if this is the case; using ffmpeg -i FILE -f null /dev/null I get stderr spam on the corrupt flac files
[11:13:25 CET] <haasn> (and I'm pretty sure flac has checksums so that's what I'd expect)
[11:13:47 CET] <haasn> for the mp3 files I have to listen to them to the end to make sure they're fine, I guess?
[11:13:48 CET] <durandal_1707> haasn: try also with reference flac to be sure
[11:15:05 CET] <durandal_1707> mp3 have 2 bytes for CRC protection, but it is optional
[11:34:14 CET] <Lynne> haasn: there's a rejected patch on the ml from march which added the ability to check it
[11:34:43 CET] <Lynne> (was rejected because it wasn't useful according to a certain someone)
[11:35:44 CET] <Lynne> unfortunately a lot of mp3s lack crcs so I had to dig in my collection to find some
[11:36:32 CET] <Lynne> oh yeah and the crc only protected a small part of the header of a packet, not the full one
[11:36:43 CET] <durandal_1707> give libmp3lame wrapper ability to check crc
[11:37:14 CET] <Lynne> that's an encoder
[11:37:37 CET] <durandal_1707> yes, but there should be added first
[15:50:55 CET] <cards> What's a simple command to extract all subtitles from a .mkv container
[15:51:31 CET] <cards> like, are there any macros such as ffmpeg --extract-subs
[15:58:43 CET] <JEEB> if you don't want to touch the APIs but only utilize teh command line apps, I guess ffprobe -of json -show_streams -i blah.mkv + ffmpeg.c command based on that
[15:59:06 CET] <JEEB> since technically -map 0:s you can map all subtitle streams, but nothing will create one output file for each of them :P
[15:59:31 CET] <cards> hrm
[15:59:45 CET] <cards> so it's an involving process. no macros built in for common tasks
[16:01:51 CET] <JEEB> if you make a specific app for that use case with the API you can then of course call that easily, but no - there is no format that would then just generate you multiple outputs for all of your mappings :P
[16:02:10 CET] <JEEB> since ffmpeg.c (the command line app) generally works with inputs and outputs
[16:02:58 CET] <cards> right. i'm just using the compiled windows binaries. figured i'd look at using the simple cmd line tool instead of some cludgy GUI app written 10 years ago
[16:03:35 CET] <cards> ie, ffmpeg --extract_subs *;srt -i file.mkv or some such
[16:03:37 CET] <JEEB> what most people do is ffprobe the input with the -show_streams option and usually with something their scripting language can parse, like json
[16:04:01 CET] <JEEB> and then you can generate map + copy + output for each subtitle stream in the probed input
[16:04:50 CET] <JEEB> also since matroska can keep multiple subtitle formats there's the difference of whether you want it in a specific format and thus require conversion, or do you just want to keep whatever's in the container
[16:05:02 CET] <cards> correct
[16:05:03 CET] <JEEB> (since it's not necessarily SRT)
[16:05:19 CET] <cards> there would have to be some arguments to the macro for how to handle
[16:06:46 CET] <cards> think i'll give mkvextract a try first
[16:07:02 CET] <cards> rather wish 7zip handled mkv containers
[16:08:19 CET] <JEEB> I thought mkvextract had a similar thing where you had to define what you wanted, too? which is why mkvinfo has the option to work similarly to ffprobe
[16:08:29 CET] <JEEB> as in, give info on the tracks/streams within the container
[16:08:47 CET] <JEEB> (and have the indexes work so you can pass them to mkvextract)
[16:09:11 CET] <JEEB> but yea, don't remember exactly :P
[16:09:12 CET] Action: cards pokes around
[16:09:22 CET] <cards> also has a handy push-button GUI for windows
[16:09:33 CET] <JEEB> yea, that probably does that behind the scenes
[16:09:48 CET] <JEEB> I know mkvmergegui, but I haven't utilized the extract one
[16:10:09 CET] <cards> mkvtoolnix-gui.exe
[16:11:02 CET] <cards> sad. https://github.com/mbunkus/mkvtoolnix/ went 404
[16:12:29 CET] <JEEB> https://gitlab.com/mbunkus/mkvtoolnix
[16:12:37 CET] <JEEB> seems to have moved to gitlab at some point
[16:12:40 CET] <cards> le https://mkvtoolnix.downloada
[16:12:45 CET] <cards> ah hah
[16:13:04 CET] <cards> -a
[16:15:21 CET] <cards> rather insane versioning. from 9.9.0 to 38.0.0 in just 2 years
[20:00:50 CET] <t-mart> How can I specify "the audio stream with channel_layout=stereo" for use in a -map argument? The streams for my file look like this: https://pastebin.com/X3jqyfNy (I suppose it's possible there may be multiple streams that match...what would I do in that case? However, my example just has 1 matching stream)
[20:01:30 CET] <JEEB> you can only utilize stream index or ID for map I think
[20:01:44 CET] <JEEB> so the best a non-API user can do is to ffprobe -show_streams or so
[20:02:14 CET] <JEEB> (possibly with -show_programs to know which program those streams came from with inputs with separate programs in them)
[20:02:31 CET] <JEEB> then parse f.ex. json that comes out of -of json, and build a command based on that
[20:02:48 CET] <t-mart> right, I see
[20:03:00 CET] <t-mart> was hoping I didn't have to parse anything
[20:04:36 CET] <t-mart> I was more hopeful because https://ffmpeg.org/ffmpeg.html#Advanced-options shows a -map with "ffmpeg -i INPUT -map 0:m:language:eng OUTPUT" where "m" is a metadata specifier. I suppose the stuff I'm getting from that ffprobe isn't metadata, so I can't specify with it.
[20:05:19 CET] <t-mart> (FWIW, my file has no helpful metadata)
[20:11:22 CET] <JEEB> t-mart: you will get things like that out too
[20:11:49 CET] <JEEB> you can try with `ffprobe -v quiet -of json -show_streams -i INPUT`
[20:11:55 CET] <JEEB> it will push JSON into stdout
[20:14:39 CET] <t-mart> Yes, but that doesn't help me with stream specification for a -map, unless I'm misunderstanding you. I've tried to construct what the specifier might be at https://pastebin.com/MDCETfev (command is first line), but ffmpeg reports "Stream map '0:m:channel_layout:stereo' matches no streams."
[20:15:10 CET] <JEEB> yea, since that's not metadata
[20:15:25 CET] <JEEB> if you look at ffprobe output you'll see what are the metadata keys under streams
[20:15:56 CET] <JEEB> thus effectively you will have to do that decision on which stream or streams to pick on your side
[20:16:42 CET] <t-mart> Would metadata (if present) be in the output of the command you pasted above? I don't know if my file's streams have metadata, but I'm not seeing them in that command's output
[20:17:12 CET] <JEEB> yes, it should
[20:17:16 CET] <JEEB> stream-attached metadata should be tehre
[20:17:58 CET] <t-mart> Yeah, ok. There's none. So I need to do manual selection. Which is awful because I have 6 files to go through and choose 1. the correct audio stream 2. the correct subtitle stream. =(
[20:19:04 CET] <JEEB> well, at least ffprobe's output should give you the means for that
[20:19:18 CET] <t-mart> My player (VLC) doesn't show stream id's. Perhaps I will use ffplay to manually test all the streams and note the ones I want and finally build a command
[20:19:19 CET] <JEEB> stuff like order of the streams, their type etc
[20:19:36 CET] <JEEB> stream IDs are usually in things like MPEG-TS etc
[20:20:18 CET] <JEEB> http://up-cat.net/p/3d306da6
[20:20:23 CET] <JEEB> like this stream out of a broadcast
[20:20:49 CET] <JEEB> id is 0x114 and it was 3rd (0,1,2) in the stream list
[20:21:33 CET] <t-mart> yeah, but if the test has to be conducted manually (e.g. I need to actually listen to the audio to make sure it's the language I want, channel layout I want, etc), then I need a player that tells me which id I'm actually listening to
[20:22:01 CET] <JEEB> right, if you have multiple alternatives and they have no meaningful distinction in the input
[20:23:50 CET] <t-mart> well, I'm off to do some tedious work. Thanks for your help JEEB
[20:23:57 CET] <JEEB> np
[20:24:10 CET] <JEEB> but at first it felt like knowing if it was stereo or not was enough
[20:24:20 CET] <JEEB> in which case you could have used ffprobe's output for that
[22:56:52 CET] <phobosoph> hi
[22:57:08 CET] <phobosoph> So I start ffmpeg to stream rtsp source to rtmp youtube live
[22:57:18 CET] <phobosoph> it works for some hours and then suddenly the stream dies and I have to restart ffmpeg
[22:57:50 CET] <phobosoph> after some logging it appears that speed=1.0 which is nice - but then after some hours it drops to 0.23 or so - which explains why youtube doesn't recognize the stream anymore
[22:57:53 CET] <phobosoph> but why? there is no -re flag
[22:57:54 CET] <phobosoph> :/
[22:58:20 CET] <phobosoph> sure, I could write a script that auto-restarts ffmpeg all 12 hours or so - or checks the stream health - but this is a hack and not the solution
[23:01:38 CET] <phobosoph> frame=12211 fps= 30 q=-1.0 size= 306027kB time=00:06:46.83 bitrate=6162.2kbits/s speed= 1x
[23:01:41 CET] <phobosoph> this is nice, this is what I want
[23:01:54 CET] <phobosoph> but then, after some hours I check the stream on youtube and it dieed
[23:02:09 CET] <^Neo> hello, I have separate inputs from my video and audio, and sometimes my audio drops out causing weird PTS issues and when I then package it to HLS I'm finding Chrome / video.js fails to play the video due "skipping audio splice trimming at PTS=x. Found only 21us of overlap need at least 1000us."
[23:02:09 CET] <phobosoph> and I check the log of the ffmpeg command and I find speed=0.2x whatever
[00:00:00 CET] --- Mon Oct 28 2019
More information about the Ffmpeg-devel-irc
mailing list