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

burek burek021 at gmail.com
Mon Jan 13 02:05:02 CET 2014


[09:07] <tvkid> i have an embedded board with 454 MHz ARM9 processor and 64MB RAM...ethernet interface is 10Mbit it has a video input 640x480 at 30fps  can i transcode this input video to some codec so that i can output this stream using the ethernet interface...i am not sure whether this computer is fast enough to do that can someone confirm?
[09:08] <tvkid> this processor will be dedicated for this task..nothing else needs to be done
[12:25] <edoardo> Hi, how do I install ffmpeg on Ubuntu?
[12:25] <edoardo> Doing apt-get install ffmpeg installs avconv
[12:34] <JEEB> edoardo, you can either use the static binaries provided by some folk, or you can build yourself
[12:35] <edoardo> JEEB, i found a repo, ppa:jon-severinsson/ffmpeg, is it ok?
[12:35] <JEEB> no idea
[12:35] <edoardo> well i'll try and report then
[12:35] <edoardo> see you later
[12:38] <edoardo> yeah it works!
[13:24] <BtbN> Does ffmpeg support indexing flv files?
[14:19] <l_r> does h264 have timestamps?
[14:31] <albator> hello
[14:32] <albator> do you know why most of the time when i use the "filelist.txt"  in " -f -i "filelist.txt" blabla  , I get "impossible to open "file no such file or directory" ?
[14:32] <albator> -f concat -i filelist.txt sorry
[16:26] <albator> anyone? :D
[16:40] <BtbN> because it failed to open some file
[17:19] <albator> yes but why
[17:20] <albator> i push the command in the directory where both listfile.txt and video files are located
[17:20] <albator> i tried putting full path and it doesn't make any differences
[17:21] <BtbN> well, it doesn't find some of the input files obviously
[17:21] <albator> I got that obv.. but it doesn't explain why ;)
[17:21] <BtbN> there is no "why"
[17:22] <albator> ok
[17:22] <albator> maybe it s an ffmpeg bug
[17:22] <BtbN> just fix your filenames and paths..
[17:22] <albator> problem reading long list of caracters
[17:23] <albator> my filename and path are correct.. i run the command from the folder itself
[17:23] <BtbN> it wouldn't complain about it if it was
[17:29] <albator> u read me?
[17:48] <BtbN> albator, i can assure you, the concat demuxer is happy, even with extremely long lists of files. So the problem is somewhere on your end...
[17:48] <albator> i guess so
[17:57] <Turingi> I was trying to do something like this: ffmpeg -f mjpeg -i "http://camera-url" -crf 22 -c:v libx264 -preset ultrafast -tune zerolatency -y "capture.avi" -f image2 'mypipe.jpeg' (basically, create a video file from a network mjpeg stream and also spit out the individual frames into a pipe, where a serice is reading them for various processing)
[17:57] <Turingi> mypipe.jpeg is a pipe and not a real file
[17:58] <Turingi> s/serice/service/
[18:42] <bluebird> Hi, I'm trying to write a C program to encode some motion jpegs into an h264 video. I used doc/examples/decoding_encoding.c as a reference at it works fine. Now I am trying to make the frame rate variable but setting frame->pts or pkg.pts or pkt.duration doesn't seem to change anythin. Does someone have a simple example for encoding videos with variable frame rate?
[20:00] <Mavrik> bluebird, changing frame pts should of course make variable framerate video
[20:00] <Mavrik> (taking into account you have proper container and a player that can handle that)
[20:59] <thebombzen> why does the topic say that "FFmpeg 2.1.1 is released" if it doesn't say that on ffmpeg.org
[21:25] <jnvsor> thebombzen: Because it was. 2 months ago https://github.com/FFmpeg/FFmpeg/releases/tag/n2.1.1
[21:28] <thebombzen> Then why doesn't it say that on ffmpeg.org
[21:32] <DopeLabs> hello
[21:35] <jnvsor> thebombzen: http://ffmpeg.org/download.html#releases
[21:35] <DopeLabs> i was curious about something... when using a still image as the source for your video stream output using -loop 1 -i image.jpg      does ffmpeg continually read that file? for example, would i be able to start a stream up and just replace teh image file with a different one, if  ffmpeg will then start streaming frames from the new image mid stream... so i wouldnt have to restart the command
[22:02] <mikar> hey, quick question, what language is ffmpeg written in?
[22:02] <viric> c
[22:03] <viric> you can read, modify and redistribute it
[22:35] <albator> BtbN i think i found out.. it doesn't handle well filename with space and/or punctuation symbols
[22:36] <albator> despite the ""
[22:44] <bencc> is it possible to embed arbitrary meta-data in a video file?
[23:30] <l_r> does h264 have timestamps?
[23:35] <Paranoialmaniac> l_r: yes and no. because it's optional
[23:36] <l_r> Paranoialmaniac, how can i add a timestamp to an h264 video which originally does not have it?
[23:36] <JEEBsv> either write your own bit/byte stream parsing and writing code, or just mux it into a container with time stamps :P
[23:37] <l_r> hmm
[23:37] <Paranoialmaniac> technically, add pic_timing sei into h264 stream itself
[23:38] <l_r> is it possible to add it via before dd ? (consider that fortunately the source of ffmpeg is dd)
[23:38] <l_r> *afterdd
[23:38] <JEEBsv> I'd just say that it'd be simpler for you if you just put the H.264 stream into a container
[23:39] <JEEBsv> unless you want to write your own code to deal with H.264 byte/bit streams
[23:39] <l_r> but the h264 video is sent as it is to an rtmp server
[23:39] <l_r> if i put the video in a container then will it work?
[23:39] <l_r> i think not
[23:40] <JEEBsv> I thought you could do mpeg-ts in rtmp, no?
[23:40] <Paranoialmaniac> why do you think so :)
[23:40] <JEEBsv> or wait
[23:40] <JEEBsv> rtmp was thea dobe thing
[23:40] <JEEBsv> which is FLV
[23:40] <JEEBsv> so yes, you have time stamps
[23:40] <l_r> hm
[23:40] <l_r> wait i ll give you the command to show what s going on
[23:42] <l_r> dd if=/dev/video0 bs=256k | ffmpeg -analyzeduration 1 -f h264  -r 15 -i - -vcodec copy -an -f flv rtmp://server/stream/
[23:42] <JEEBsv> so yes, your output most definitely has timestamps
[23:43] <l_r> what happens there is that at night the framerate changes, then ffmpeg think it's still  15 fps instead of 10
[23:43] <JEEBsv> yes
[23:43] <l_r> even if i use -re
[23:43] <l_r> it does not adapt
[23:43] <JEEBsv> you're giving it raw H.264 most probably without timestamps
[23:43] <l_r> then resulting video is accelrated at times
[23:43] <l_r> yes
[23:43] <l_r> how can i add them
[23:44] <JEEBsv> how do you get them in the first place?
[23:44] <l_r> what is "them" ?
[23:44] <l_r> timestamps?
[23:44] <JEEBsv> yes
[23:44] <l_r> i could write my own "dd" which gets the timestamps from the v4l2 device (i know how to do that)
[23:45] <l_r> what i dont know is where to put this metadata in the blocks i am reading from the dev
[23:45] <l_r> where and how/which format
[23:45] <JEEBsv> so yeah, your input has them and you're just using dd for random reason x
[23:46] <l_r> the video4linux2 plugin in ffmpeg is buggy
[23:46] <l_r> so i have to use dd
[23:46] <JEEBsv> ok
[23:46] <JEEBsv> you would end up writing code in this case anyways
[23:46] <l_r> yes
[23:46] <JEEBsv> so you can either contribute to ffmpeg's thing
[23:46] <JEEBsv> or you can make a thing that muxes that raw H.264 into a container
[23:46] <JEEBsv> with timestamps
[23:46] <JEEBsv> mpeg-ts or flv or so
[23:46] <JEEBsv> whatever can be read on-the-fly
[23:46] <JEEBsv> and has timestamps
[23:47] <JEEBsv> much better than you hacking raw H.264
[23:47] <JEEBsv> esp. if your output is FLV
[23:47] <l_r> and audio? what about multiplexing dd with audio directly in ffmpeg?
[23:47] <l_r> to have timestamps
[23:47] <l_r> audio could give timestamps
[23:47] <l_r> no?
[23:48] <JEEBsv> ..
[23:48] <JEEBsv> I have no idea what you are trying to imply with audio regarding video PTS
[23:48] <l_r> ok, forget what i said. let's switch back to your idea
[23:49] <l_r> so you are saying to use a container
[23:49] <l_r> so -vcodec anything instead of .vcodec copy for the input
[23:49] <JEEBsv> yes, that basically leaves you with the least amount of custom implementation of stuff
[23:49] <l_r> right?
[23:49] <JEEBsv> uhh what
[23:49] <l_r> i mean
[23:50] <JEEBsv> you were talking about implementing the app that feeds ffmpeg, yes?
[23:50] <JEEBsv> (if you do not want to fix the ffmpeg v4l2 thing)
[23:50] <l_r> i don't care about what manipulations i do to the input. the important part is that the output of ffmpeg is the same as the above line
[23:50] <JEEBsv> uhh, what
[23:50] <JEEBsv> so you want it to always take it as 15fps?
[23:50] <JEEBsv> wouldn't it then already work?
[23:50] <l_r> no, i mean, the output format
[23:50] <l_r> not really the fps
[23:50] <JEEBsv> or do you mean something else with "the same as the above line"
[23:51] <l_r> -f flv
[23:51] <JEEBsv> I'm really not following you, we're talking about the thing that gets fed to the ffmpeg, no?
[23:52] <JEEBsv> since you seemingly have no interest in fixing the v4l2 thing in ffmpeg itself
[23:52] <l_r> so what does the muxing? i suppose ffmpeg, this would result in a pipe of   as in dd | ffmpeg | ffmpeg   ?
[23:53] <JEEBsv> scroll back where I said that you will have to write your own code in any case
[23:54] <JEEBsv> anyways, the route of least resistance if we forget about fixing ffmpeg itself would be to write an app that takes your H.264 stream, and then reads it with the libav* libraries. Then you pass that parsed stream into a libavformat muxer and you use the timestamps you're getting from somewhere to mux that video stream with timestamps
[23:54] <JEEBsv> and then you can feed that to ffmpeg
[23:54] <JEEBsv> or heck, that app of yours could do the rtmp stuff as well
[23:54] <JEEBsv> since it's all libavformat
[23:55] <l_r> looks a long task, not difficult but long
[23:55] <JEEBsv> shorter than your original idea of "just adding time stamps to the H.264 stream"
[23:56] <JEEBsv> not to mention that I have no idea if ffmpeg can parse those damn SEI messages
[23:56] <JEEBsv> it's simpler because you don't have to actually implement anything
[23:56] <l_r> ok
[23:57] <JEEBsv> and the first step could be to just read the input stream and mux it into flv, and output that to stdout
[23:57] <JEEBsv> that shouldn't be too hard
[23:57] <JEEBsv> then you'd have your_app | ffmpeg
[23:58] <JEEBsv> and when you get to it you could just remove ffmpeg from the thing altogether :P
[00:00] --- Mon Jan 13 2014


More information about the Ffmpeg-devel-irc mailing list