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

burek burek021 at gmail.com
Sun Mar 20 02:05:02 CET 2016


[01:08:36 CET] <petecout_> metadata question for you folks. FFMPEG can encode metadata into mpegts segments. Has anyone ever been able to make the metadata dynamic for every segment? I can load it from a file but thats on launch and can't be updated.
[01:13:08 CET] <petecout_> Or if someone could help explain this line better: By default, global metadata is copied from the first input file, per-stream and per-chapter metadata is copied along with streams/chapters. These default mappings are disabled by creating any mapping of the relevant type. A negative file index can be used to create a dummy mapping that just disables automatic copying.
[01:14:13 CET] <J_Darnley> The last part: -map_metadata -1 disables copying all metadata
[01:14:21 CET] <c_14> I know of no way to make the metadata dynamic over segments other than maybe hacking into the segment/hls muxers
[01:14:21 CET] <J_Darnley> The rest...
[01:14:26 CET] <petecout_> More like the per-stream and per-chapter
[01:14:57 CET] <petecout_> c_14: Thank you, that was also something I assumed was the route to go. It would be a custom job. Or I would have to edit the segments after ffmpeg generates them.
[01:15:23 CET] <J_Darnley> Metadata can be attached to a whole file or any smaller part of one file right down to every frame
[01:15:35 CET] <petecout_> My input is a  live rtp stream though.
[01:15:45 CET] <petecout_> I was hoping that I could us the data / application channel
[01:15:53 CET] <petecout_> and send metadata that way
[01:15:58 CET] <petecout_> and have it encoded on the per frame
[01:16:15 CET] <J_Darnley> If ffmpeg doesn't understand that you need a decoder for the data stream
[01:16:45 CET] <J_Darnley> I don't think ffmpeg has any data stream decoders
[01:16:56 CET] <petecout_> Well I was thinking if I formated the metadata to match what ffmpeg needs.
[01:17:04 CET] <petecout_> Lol well that line above says it does
[01:17:09 CET] <petecout_> map_metadata
[01:17:17 CET] <petecout_> is how you either map to a static file or a dynamic stream
[01:17:58 CET] <petecout_> but it doesn't look like you can encode per frame.
[01:38:37 CET] <petecout_> J_Darnley: Do you have any good links on attaching metadata to a whole file?
[01:39:09 CET] <J_Darnley> Yes: the -metadata option
[01:39:16 CET] <J_Darnley> otherwise please be more specific
[01:40:20 CET] <petecout_> Oh nm
[01:40:33 CET] <petecout_> J_Darnley: I thought you knew like via bytearray
[01:40:50 CET] <J_Darnley> If you're using the API please say that.
[01:42:07 CET] <petecout_> I'm not. I wanted to do it via editing the file itself
[01:43:02 CET] <J_Darnley> What?  Like a hex editor?  Then you had better read about how the file format (mpeg TS is it) stores metdata.
[01:43:13 CET] <petecout_> yup
[01:43:19 CET] <petecout_> Hoped you had a link
[01:43:23 CET] <J_Darnley> No
[01:43:25 CET] <petecout_> Thank you anyhow though
[01:43:31 CET] <J_Darnley> Every format stores it differently
[01:44:14 CET] <J_Darnley> What I used for writing the flac muxer metadata support was https://xiph.org/flac/format.html
[01:44:25 CET] <petecout_> Also when you refer to api do you mean like something for java? I've only ever used the cli
[01:44:54 CET] <J_Darnley> Yes, the Application Programming Interface
[01:45:08 CET] <petecout_> Cheers!
[01:45:58 CET] <furq> speaking of audio metadata, did you ever get around to adding xing tags
[01:46:06 CET] <J_Darnley> Ha, no.
[01:46:08 CET] <J_Darnley> Sorry
[01:48:26 CET] <furq> damn
[01:48:42 CET] <furq> well then i guess i'll have to write a script three months ago
[01:48:51 CET] <J_Darnley> :)
[01:50:30 CET] <furq> is there any reason to use twolame over ffmpeg's native mp2 encoder
[01:50:46 CET] <J_Darnley> No idea
[01:50:55 CET] <furq> twolame is giving me a bunch of linker errors and i'm wondering whether or not i should care
[01:50:59 CET] <furq> i suspect not
[01:51:25 CET] <J_Darnley> I might be inclined to think that it would give better quality
[01:51:37 CET] <J_Darnley> but then it is only mp2
[01:51:51 CET] <furq> same deal with libwavpack i guess
[01:58:49 CET] <petecout_> Eureka!!! J_Darnley, I realized instead of writing a file parser and dealing with adding the id3 tags manually. I can just use ffmpeg to add the metadata after the file has been created! Doesn't give me per frame data but meh. I can deal with that. Thanks agian for your help.
[01:59:23 CET] <petecout_> Dunno why I didn't think of that before. Sorta a box within a box.
[01:59:25 CET] <J_Darnley> You're welcome and sorry it seems to have taken you so long to get what you wanted
[01:59:53 CET] <J_Darnley> or atleast close to what you wanted
[02:00:26 CET] <petecout_> Lol no this is fine. Figuring out how to get ffmpeg to encode a video and audio stream from a rtp server which was transcoding from webrtc was hard enough. This was pretty easy.
[03:21:19 CET] <mrmenacex> ok i'm having a hard time with drawtext can someone look at this for me ? http://pastebin.com/AVQyM3qZ
[03:23:33 CET] <J_Darnley> Glorious escaping hell
[03:23:58 CET] <J_Darnley> Try escaping the colon on the fontfile filename
[03:30:20 CET] <mrmenacex> J_Darnley , lol excaping hell yes that's where i am haha
[03:31:15 CET] <mrmenacex> J_Darnley, escaping the colon after C didn't work
[03:31:32 CET] <mrmenacex> it doesn't get rid of that colon though i can see the path in the error and it looks right ?
[03:33:10 CET] <J_Darnley> meh
[03:33:16 CET] <J_Darnley> I don't know then
[03:37:55 CET] <mrmenacex> J_Darnley, is that error usually from the font file not loading?
[03:39:12 CET] <mrmenacex> oh wow i just moved the font file to the folder i'm encoding in and it worked
[03:39:25 CET] <mrmenacex> so it's definitely the path
[05:56:57 CET] <apaul> Can someone help me how to write video frames to v4l2 device node like /dev/video0 .
[05:57:10 CET] <apaul> any idea....
[10:33:40 CET] <satinder___> Hi any one here which have experience on v4l2 devices I mean /dev/video0......nth devices
[10:34:30 CET] <satinder___> I have problem when open /dev/video0 with ffmpeg decoding-encoding example
[10:49:24 CET] <satinder___> fflogger : no sir I am not talking about ffmpeg commandline tool , I asking about ffmpeg api function . which function can open raw video format I mean /dev/video0 node
[10:49:25 CET] <satinder___> ??
[10:49:52 CET] <relaxed> satinder___: fflogger is a bot, I thought you had an ffmpeg question.
[10:50:32 CET] <satinder___> relaxed : ohh sorry ! I don't now
[10:51:09 CET] <satinder___> I asking about ffmpeg api , I want open my /dev/video0 node and recieve raw frames
[10:52:02 CET] <satinder___> Is there any example for that because which example is given in ffmpeg /ffmpeg/doc/examples/decoding_encoding.c that is not working
[10:52:10 CET] <satinder___> can you help me please
[10:52:17 CET] <satinder___> thanks in advance !!
[13:35:03 CET] <sea`> Does ffserver support 'copy' for the VideoCodec option?
[13:39:01 CET] <JEEB> sea`: if you are thinking of using ffserver for something, don't
[13:39:06 CET] <JEEB> unless you know the code
[14:16:03 CET] <hannes3> hey, i am trying to get with gribs on ffserver. streaming a webcam through it worked fine but now i want to add a -filter_complex.
[14:16:27 CET] <hannes3> it looks like doing so adds an additional stream and i cannot figure out how to get rid of it. ffserver tells me "Feed '/tmp/webcam1.ffm' stream number does not match registered feed"
[14:16:42 CET] <JEEB> hannes3: how do you guys end up looking into ffserver?
[14:17:04 CET] <JEEB> basically if you want to use it, be ready to maintain it
[14:17:04 CET] <Smilex> Hey. Is there a way to open audio only files with the C API? avformat_open_input fails unless it's a video file
[14:17:14 CET] <hannes3> googling through pages upon pages of people pasting crude raspberry pi "tutorials" that are incomplete and full of mistakes
[14:17:16 CET] <hannes3> ah poop
[14:17:28 CET] <hannes3> well, i also ended up in the ffmpeg wiki ;)
[14:17:50 CET] <JEEB> Smilex: there's even an example for that I think? although I *think* it should work similar to video files as long as you have the needed formats enabled
[14:18:43 CET] <Smilex> JEEB: I've been using multiple examples. However the reading function fails to read audio only files
[14:18:44 CET] <JEEB> hannes3: it's basically just kept compiling for now, and the next time an API bump happens it will just break and get removed
[14:19:03 CET] <hannes3> JEEB: ouch! what is the recommended alternative?
[14:19:12 CET] <Smilex> JEEB: Do you know about a function that takes audio data and returns the codec?
[14:19:26 CET] <JEEB> hannes3: any proper streaming server
[14:19:41 CET] <hannes3> got a recommendation for raspberry?
[14:19:56 CET] <JEEB> there's icecast, nginx-rtmp (which seems to have NIH'd DASH/HLS output) or just a normal web server if you can have the segments on disk
[14:20:41 CET] <JEEB> hannes3: basically ffmpeg itself can push things out in various ways and many streaming servers support taking that in and serving it
[14:21:25 CET] <JEEB> Smilex: I usually just use avformat_open_input, avformat_find_stream_info and then if I'm lazy I use av_find_best_stream
[14:21:32 CET] <hannes3> all i am looking for is getting the images from a usb webcam at the raspi to a decent pc in the network with low latency (well, anything <1s)
[14:22:12 CET] <Smilex> JEEB: Have you tried that on a .mp3 file?
[14:22:37 CET] <JEEB> no, but I'd be surprised if it didn't work since that's pretty much how ffmpeg.c does it
[14:23:12 CET] <Smilex> JEEB: Any chance you could try?
[14:23:20 CET] <Smilex> I've tried it with a .mp3 and a .flac
[14:24:07 CET] <JEEB> I could try later, but I'd be surprised if it would fail since that's pretty much the most standard stuff around...
[14:24:24 CET] <Smilex> I probably should try a stable release then
[14:25:01 CET] <JEEB> master should work just fine as long as FATE looks green for your arch
[14:25:09 CET] <JEEB> http://fatebeta.ffmpeg.org/
[14:26:44 CET] <Smilex> Well I'm getting a very clear error "Invalid data found when processing input", from files I've tested with VLC and clementine
[14:27:19 CET] <JEEB> how does `ffmpeg -i file` look like?
[14:27:29 CET] <JEEB> and how much customization did you put into your build?
[14:27:43 CET] <Smilex> none
[14:28:27 CET] <Smilex> http://paste.ubuntu.com/15424563/
[14:28:52 CET] <JEEB> ok
[14:29:07 CET] <JEEB> wonder if the default probing duration is different from what ffmpeg.c's default is
[14:30:38 CET] <Smilex> http://paste.ubuntu.com/15424593/ <- how I do it
[14:31:56 CET] <JEEB> my thingamajig that I did before https://github.com/jeeb/matroska_thumbnails/blob/master/src/matroska_thumbnailer.cpp#L113
[14:32:04 CET] <JEEB> see av_register_all vs avcodec_register_all
[14:32:44 CET] <JEEB> in my case I do custom IO but the general gist is the same :P
[14:32:50 CET] <Smilex> JEEB: woo! I got further now, thanks!
[14:33:23 CET] <Smilex> [mp3 @ 0x3451b60] Header missing <- that does result in error for me. Should it?
[14:36:03 CET] <JEEB> no idea, but your ffmpeg.c log doesn't sound too good either with the garbage skipped etc
[15:26:49 CET] <somaReverse> Hello! How can I do a screencast saving to a GIF?
[15:29:47 CET] <J_Darnley> ffmpeg -i whatever output.gif
[15:36:59 CET] <somaReverse> J_Darnley: Thanks. I'm using a tool called 'teiler' to create area screencast. Here is a profile it needs me to change http://ix.io/tNh. How can I make it produce gif?
[15:37:15 CET] <J_Darnley> Read it's manual
[15:38:14 CET] <somaReverse> This tool doesn't have a manual :-(
[15:38:39 CET] <J_Darnley> Then what use is it?
[15:38:56 CET] <J_Darnley> What you have provided shows conflicting options
[15:39:06 CET] <J_Darnley> How am I supposed to know which it uses
[15:39:38 CET] <J_Darnley> Perhaps delete evrything but the extension and set that to gif
[15:40:05 CET] <somaReverse> J_Darnley: Ok, I will try it.
[15:47:04 CET] <somaReverse> J_Darnley: It works. But the output file is huge (100 times bigger than mp4).
[15:47:33 CET] <J_Darnley> Wow(!)  You don't say(!)
[15:47:50 CET] <J_Darnley> I had no idea gif was in inefficient fortmat(!)
[15:48:31 CET] <J_Darnley> That would be the reason why every rubbish image host now serves up webm or mp4
[15:49:56 CET] <somaReverse> J_Darnley: Ok :)
[16:52:33 CET] <ffmpegerrorhog> Do I have to register first?
[16:53:10 CET] <J_Darnley> Register what and where?
[16:53:22 CET] <ffmpegerrorhog> some irc channels make you register first
[16:53:34 CET] <ffmpegerrorhog> thank God I found this
[16:53:54 CET] <J_Darnley> Right, I don't know why.
[16:55:58 CET] <ffmpegerrorhog> I'm having a horrible time with concat
[16:56:38 CET] <ffmpegerrorhog> any rules on how to paste error log in here?
[16:56:42 CET] <ffmpegerrorhog> it's really short
[16:56:56 CET] <J_Darnley> No.  Use a pastnin-like site
[16:57:00 CET] <J_Darnley> *bastebin
[16:57:05 CET] <J_Darnley> OMFG
[16:57:10 CET] <J_Darnley> I think you get it
[16:57:33 CET] <ffmpegerrorhog> http://pastebin.com/3v4DwZp0
[16:57:52 CET] <ffmpegerrorhog> I will happily paypal for the solution
[16:58:09 CET] <J_Darnley> That error comes from your shell, not ffmpeg.
[16:58:22 CET] <ffmpegerrorhog> Ok, that makes sense
[16:58:36 CET] <ffmpegerrorhog> but the command is proper
[16:58:38 CET] <J_Darnley> Does the for loop print correctly when run by itself
[16:58:40 CET] <ffmpegerrorhog> well, I think it is
[16:58:44 CET] <J_Darnley> ?
[16:59:01 CET] <ffmpegerrorhog> if I paste the ffmpeg code into my command line I get this
[17:00:05 CET] <kepstin> ffmpegerrorhog: what shell is that script running with? the <( ... ) thing is a bash extension, it won't work if you're using e.g. /bin/sh on a debian-based distro
[17:00:09 CET] <ffmpegerrorhog> http://pastebin.com/gTVrubBp
[17:00:17 CET] <ffmpegerrorhog> I am using Centos 6.7
[17:01:13 CET] <ffmpegerrorhog> I have #!/bin/bash the first line
[17:01:59 CET] <kepstin> but yeah, since that's a syntax error in your shell script, you really need help debugging your script, not your ffmpeg command.
[17:02:47 CET] <ffmpegerrorhog> http://pastebin.com/2j2E3WeE
[17:02:50 CET] <ffmpegerrorhog> here is the script
[17:03:21 CET] <J_Darnley> Wow.
[17:03:34 CET] <ffmpegerrorhog> Wow seems like a bad thing :)
[17:04:38 CET] <J_Darnley> Okay, maybe not a bad as I first thought]
[17:04:46 CET] <ffmpegerrorhog> lol
[17:04:49 CET] <J_Darnley> Fade in and out for each image
[17:04:54 CET] <ffmpegerrorhog> I accept all criticism!
[17:05:03 CET] <ffmpegerrorhog> constructive or not
[17:05:40 CET] <ffmpegerrorhog> yes, I had this working on another Centos 6.7 distro
[17:05:45 CET] <J_Darnley> In your first loop I would write out the filenames to a temporary file then just use that as the input for the second
[17:06:38 CET] <J_Darnley> for ...; ffmpeg ... ; echo "file $f" >> temp.txt; done
[17:06:53 CET] <ffmpegerrorhog> okay
[17:07:00 CET] <J_Darnley> uh, $f.mpg but that's the idea
[17:07:18 CET] <ffmpegerrorhog> but would that kill the original error?
[17:07:25 CET] <ffmpegerrorhog> that the bash script is kicking back?
[17:07:34 CET] <ffmpegerrorhog> I'm all for optimizing it, don't get me wrong
[17:07:49 CET] <J_Darnley> You avoid using the <() syntax
[17:07:51 CET] <ffmpegerrorhog> but right now if it ran one time and overheated a server to critical mass I'd be happy
[17:08:00 CET] <J_Darnley> Which is what is giving you the problem
[17:08:00 CET] <ffmpegerrorhog> (bow) You are a master
[17:08:06 CET] <ffmpegerrorhog> I see what you're saying
[17:08:11 CET] <ffmpegerrorhog> forgive me, it is noon here
[17:08:30 CET] <ffmpegerrorhog> I was up at 5:00 am yesterday and have been working on this project ever since with 3 hours down time
[17:08:44 CET] <ffmpegerrorhog> #pepsimax
[17:15:22 CET] <ffmpegerrorhog> anyone got experience with text overlays and font manipulation looking for a consulting gig?
[17:56:39 CET] <zafu> hi, is there a way to fix a corrupted .3gp file with ffmpeg? When I try to play it I get "moov atom not found"
[17:57:51 CET] <JEEB> if it has no index you're pretty much dead
[17:58:00 CET] <JEEB> any sort of fixing would have to assume a whole lot of things
[17:59:22 CET] <zafu> when I upload it to http://mp4repair.org they give a me an accurate preview of the file's contents, how can they do it?
[18:02:53 CET] <JEEB> most probably match it off other files written by similar/same writer
[18:03:18 CET] <JEEB> there's no automated way of doing it, you always need to have a reference when recreating something like that
[18:03:52 CET] <JEEB> automated as in without any predefined information that is :P
[18:04:07 CET] <JEEB> if you can spot files made by X and know how X writes its stuff, it becomes possible
[18:11:38 CET] <kepstin> man, poutting codec information and initialization data in the same "atomic" chunk as a variable-length index was such a bad idea in hindsight :/
[18:18:17 CET] <JEEB> kepstin: fragments kind of fix that at least, although that was adopted much much later (by some places)
[00:00:00 CET] --- Sun Mar 20 2016


More information about the Ffmpeg-devel-irc mailing list