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

burek burek021 at gmail.com
Sun Jun 23 02:05:01 CEST 2013


[00:59] <norbert_> hi all, I'm transcoding a 25fps .mod to 60fps .mp4
[01:00] <norbert_> this works fine but I need to deinterlace the video and when I add "-deinterlace" for some reason the video speeds up
[01:00] <norbert_> here is the command I'm using: ./ffmpeg -r 25 -deinterlace -i in.mod -b 4000k -ab 160k -r 60 -acodec libvo_aacenc out.mp4
[01:01] <norbert_> I've also tried it with "-deinterlace" before "out.mp4" but it still speeds up the video
[01:01] <norbert_> without "-deinterlace" it works fine, but I need to deinterlace the video, because I want to get rid of the lines
[01:01] <norbert_> any ideas what I could try; how to fix this?
[01:03] <norbert_> ok, I thought the input would be enough
[01:03] <norbert_> I'll also paste the console output somewhere
[01:06] <norbert_> http://pastebin.com/9ynStRUg
[01:15] <mootsadog> norbert_, i'm not experienced but what i've been doing today might sort of help... i've been using yadif to deinterlace, and succeeded in creating frame-doubled deinterlaced video at the proper speed
[01:17] <mootsadog> i use ffmpeg -i input.mov -filter:v yadif=1 -r [FRAMERATE] output.mov -- where [framerate] hopefully it'd conform?
[01:18] <mootsadog> you know what, actually i dunno if that helps at all. but using yadif instead of -deinterlace might yield different results.
[01:18] <llogan> you shouldn't need to declare -r with yadif
[01:18] <llogan> and doing so may dro por duplicate frames
[01:18] <llogan> *drop or
[01:23] <norbert_> mootsadog: ok, I'll try: ./ffmpeg -r 25 -i in.mod -filter:v yadif=1 -b 4000k -ab 160k -r 60 -acodec libvo_aacenc out.mp4
[01:24] <norbert_> I'll check if it worked tomorrow; mp4 doesn't play until the whole thing is finished and it's several gigs
[01:24] <mootsadog> llogan is right because the yadif=1 makes one frame per field
[01:24] <mootsadog> i was derping out
[01:25] <norbert_> my input video is 25 fps and I want the output to be 60 fps
[01:25] <norbert_> I shouldn't specify -r 25 when I use -filter:v yadif=1 ?
[01:29] <llogan> norbert_: you can use the -t option if you don't want to wait to encode the whole thing
[01:32] <llogan> why do you want 60?
[01:33] <norbert_> the rest of the footage is 60 fps and the kdenlive project is also 60 fps
[01:34] <norbert_> do I need to drop the -r 25, you think?
[01:34] <llogan> are you sure it's not 60000/1001?
[01:34] <norbert_> well, it's 59.something
[01:34] <norbert_> or whatever
[01:34] <norbert_> what I'm doing now always works fine, I just need to deinterlace this particular video
[01:38] <llogan> ffmpeg -i input -vf yadif,fps=60000/1001 -codec:a copy output.mkv
[01:38] <norbert_> I need 60 fps
[01:38] <llogan> i don't know if the audio will be in sync or not
[01:39] <llogan> then change the fps value to 60. now i'm just giving you want you think you need.
[01:40] <norbert_> I think I need to specify -r 25 for the input
[01:40] <norbert_> or ffmpeg doesn't understand I want to go from 25 to something else
[01:40] <norbert_> also, I will stick with -b 4000k -ab 160k
[01:41] <norbert_> and I have good experiences with -acodec libvo_aacenc and kdenlive
[01:41] <norbert_> :)
[01:41] <llogan> unfortunately libvo_aacenc is probably the worst AAC encoder that ffmpeg can use
[01:44] <sacarasc> What's the best, llogan?
[01:46] <mootsadog> is anyone familiar with tfields?
[01:47] <llogan> sacarasc: https://ffmpeg.org/trac/ffmpeg/wiki/AACEncodingGuide
[01:48] <sacarasc> Thanks.
[01:51] <pyBlob> llogan: I finally catched a nice cloud-free night to use my ffmpeg setup on something more interesting than street-lamps:
[01:51] <pyBlob> http://www.pasteall.org/pic/53941 http://www.pasteall.org/pic/53944
[01:53] <pyBlob> the moon is still a bit distorted, as my program doesn't fine-tune the image-positions and it doesn't correct for air-turbulence yet
[01:57] <llogan> pyBlob: looks like progress to me. thanks for sharing.
[01:58] <pyBlob> thanks ^^
[02:08] <bencc> I want to stream rtmp as mp3
[02:08] <bencc> ffmpeg -loglevel debug -i rtmp://127.0.0.1/audio/test -f mp3 test.mp3
[02:09] <bencc> how can I make client access test.mp3?
[02:09] <bencc> or maybe I need to call a different command?
[02:20] <klaxa> bencc: what you are doing now is saving the stream as mp3
[02:21] <bencc> klaxa: how can I broadcast the live stream?
[02:21] <bencc> as a progressive mp3 so I can load it in html5 audio clients
[02:21] <klaxa> i don't understand exactly
[02:22] <klaxa> you have a file called test.mp3 and you want to stream it to html5 live?
[02:22] <bencc> I have a flash client that broadcasts mic as rtmp stream to a media server
[02:22] <klaxa> and you want to restream that as mp3 to html5?
[02:23] <bencc> now I want to broadcast this audio rtmp stream as mp3 to html5 clients
[02:23] <bencc> yes
[02:24] <klaxa> hmm.. interesting usecase
[02:24] <klaxa> can you save the file for now though?
[02:24] <klaxa> i mean you are saving it, right?
[02:24] <bencc> I need it in real time
[02:25] <bencc> you are right. my command is creating an mp3 file. when I stop the rtmp server I see the file
[02:25] <bencc> is it possible to stream the mp3 in real time?
[02:26] <klaxa> hmm... well i don't want to advertise exactly, but i wrote an mp3 streaming server quite a while back
[02:26] <klaxa> i don't know if that will work for sure though, it will enable http streaming, i don't know in how far the html5 audio-tag is compatible with that
[02:26] <bencc> how can I pass the stream from ffmpeg to a streaming server?
[02:27] <klaxa> ffmpeg -i rtmp://whatever/address/ -f mp3 pipe: > ./streaming_server
[02:27] <bencc> this is html5 audio palyer playing live mp3 stream http://jsbin.com/ibawut/2
[02:28] <bencc> what is "pipe: > ./streaming_server" ?
[02:28] <bencc> ./streaming_server is a file descriptor?
[02:28] <klaxa> well ./streaming_server takes a stream via stdin
[02:28] <klaxa> it *would* be a streaming server that takes a stream via stdin
[02:29] <klaxa> pipe: > redirects the output to stdout of ffmpeg
[02:29] <bencc> what if I'm calling ffmpeg from a port driver?
[02:29] <bencc> can I just use "pipe: > " ?
[02:29] <klaxa> what is a port driver exactly?
[02:29] <bencc> it's a way in erlang to call a program
[02:31] <klaxa> i'm not sure, if it is interpreted by a shell, then probably yes
[02:32] <bencc> so if I have a server that gets mp3 packets from ffmpeg, I just broadcast them to clients?
[02:33] <bencc> or do I need to send mp3 header first or similar?
[02:34] <klaxa> mp3 is headerless
[02:34] <klaxa> well more or less
[02:35] <klaxa> each mp3 frame has its own header
[02:35] <bencc> so I just broadcast the packets to all clients
[02:35] <klaxa> not exactly
[02:35] <klaxa> you need to start broadcasting at the beginning of a frame
[02:35] <klaxa> https://github.com/klaxa/mp3server
[02:36] <bencc> how do I know that I'm at a beginning of a frame?
[02:36] <klaxa> if you want to take a look, i think it's horrible code, if you have questions about it, feel free to ask, i should still know about most of the stuff i wrote
[02:36] <klaxa> you can determine the length of a frame by reading its header
[02:36] <klaxa> the next frame starts at the end of the current frame
[02:36] <klaxa> so if you get the first frame, you can calculate where the next frames starts and so on
[02:36] <bencc> but if my server just gets stream of bytes, how do I know when a frame starts?
[02:36] <bencc> ok
[02:37] <bencc> so I have to parse the frame header
[02:37] <klaxa> pretty much
[02:37] <bencc> I need to find docs showing the mp3 frame header
[02:37] <bencc> erlang is very good for handeling protocols
[02:37] <bencc> thanks for your server. I'll have a look
[02:38] <klaxa> http://mpgedit.org/mpgedit/mpeg_format/mpeghdr.htm
[02:38] <klaxa> i used this spec to implement the header parsing
[02:38] <bencc> mp3 is the same as mpeg?
[02:39] <klaxa> from wikipedia: >MPEG-1 or MPEG-2 Audio Layer III
[02:40] <bencc> thanks
[02:40] <bencc> I have some work now :)
[02:40] <klaxa> :)
[02:43] <maldous> Q. Is there an HEVC/H265 patch available, that allows building of a cygwin library (chenm03's code on google only includes the library, not the source) ?
[02:54] <blue_misfit> Hello! How might I go about using ffmpeg to take a live HLS stream (from an m3u8 playlist), and remux it into an mpeg-ts being streamed over udp?
[02:56] <blue_misfit> I've done something simple like ffmpeg -i http://foo/bar.m3u8 -vcodec copy -acodec copy -f mpegts udp://127.0.0.1:1234
[02:56] <blue_misfit> but when I try to open udp://127.0.0.1234 in VLC, nothing happens
[03:17] <klaxa> bencc: i've been playing a bit with html5's audio tag: http://klaxa.eu/live_stream.html
[03:17] <klaxa> so at least it's possible to stream mp3 with the audio tag, however, for some reason this doesn't work in firefox
[03:19] <sacarasc> Because Firefox doesn't support MP3.
[03:20] <klaxa> ah... well...
[03:22] <klaxa> ah it does support mp3 on windows 7 and higher apparently
[03:22] <klaxa> and windows vista
[03:23] <sacarasc> Ah, since Firefox 21, apparently.
[03:24] <klaxa> but my phone can play it in chrome, fancy
[04:52] <seba-> hm
[04:52] <seba-> are these builds http://ffmpeg.gusari.org/static/
[04:52] <seba-> without alsa?
[05:03] <braincracker> how do you remove watermark with ffmpeg ?
[05:03] <braincracker> logo, or whatever that is stationary
[05:16] <klaxa> braincracker: http://libav.org/libavfilter.html#delogo
[05:16] <klaxa> it's in the libavfilter part of ffmpeg
[06:15] <Gary13579> Does anyone know how to screencast with ffmpeg without audio/video desyncing? I'm trying to stream my desktop to twitch.tv, but the a/v desyncing makes it impossible.
[06:15] <Gary13579> I've read the problem may be related to pulseaudio, but I need to use pulse for other various reasons. Is there any way around it?
[06:16] <Gary13579> Here's the command I'm using to stream https://gist.github.com/Gary13579/5835860
[06:18] <vulture> warlock neerrrrrrrrrd :p
[06:19] <Gary13579> haha
[06:19] <Gary13579> it has been a while, but yes :P
[08:05] <elkng> "quantum mechanics is just a theory not a fact", is that true ?
[08:12] <sacarasc> elkng: ##physics
[11:36] <MontyMoose> Hello, I have ffmpeg working in Ubuntu, but I need to add the libtheora codec. Can someone let me know how to recompile ffmpeg with this new codec without breaking it. I've read howtos and just confused myself& anyone?
[12:25] <burek> <MontyMoose> Hello, I have ffmpeg working in Ubuntu
[12:25] <burek> how exactly did you get it
[12:25] <MontyMoose> I think I just did a simple apt-get thingy
[12:25] <burek> then there is no easy way to do what you want
[12:25] <MontyMoose> it was a while ago, it's been working fine, but I now need to add a new codec
[12:25] <MontyMoose> I thought that might be the case :-(
[12:26] <burek> that's a package, already bundled with some libraries
[12:26] <burek> you can't just "add" libtheora to it
[12:26] <durandal_1707> you need to get source and compile yourself
[12:26] <burek> although this would be a nice feature of ffmpeg
[12:26] <MontyMoose> Yup thought that might be the case too...
[12:26] <MontyMoose> I'm hopeless at compiling things, every time something seems to go horribly wrong
[12:27] <burek> we provided nice tutorials on ffmpeg compilation at our wiki
[12:27] <MontyMoose> is there not a package out there somewhere with every goddam codec in the world all nicely packaged up and ready to go!
[12:27] <burek> so you might check it out
[12:27] <burek> or you can try static builds
[12:27] <burek> it's like an exe file for windows
[12:27] <MontyMoose> ooh now that sounds better
[12:28] <burek> and no, you won't be able to get "a package with every goddam codec" due to copyright licenses and such legal s..tuff :)
[12:28] <MontyMoose> that looks great, but how do I reliably remove all the rubbish already installed without?
[12:28] <burek> no need to
[12:28] <MontyMoose> so I can just leave ffmpeg installed?
[12:28] <burek> download a static binary and run it with ./ffmpeg
[12:28] <burek> yes
[12:29] <burek> it contains all the libraries bundled in that static binary
[12:29] <MontyMoose> ok - I'm on it& you may have to hold my hand though, cos despite being good and reading howtos - I'm still fairly thick with general linux tinkering...
[12:31] <MontyMoose> ok so I've got that package dowacky& and I've stuck it on my server - what do I do next? unzip it I suppose?
[12:32] <burek> yes
[12:32] <burek> and after that just type ./ffmpeg
[12:33] <MontyMoose> tar jxf ffmpeg-linux64-20130614.tar.bz2 yup
[12:34] <MontyMoose> ok so ./ffmpeg just says - -bash: ./ffmpeg: No such file or directory
[12:36] <MontyMoose> ok was in the wrong directory (oops) it's run now - and stuff has appeared saying things& any other steps?
[12:42] <burek> well use your ffmpeg now
[12:42] <burek> that's it
[12:42] <burek> just refer to it either with ./ffmpeg (if you are in the same dir)
[12:42] <burek> or with the full path to it
[12:50] <MontyMoose> I see
[12:50] <MontyMoose> thanks - I'll have a go
[12:50] <MontyMoose> can I move the directory to a better place - or should I leave it where it is?
[13:11] <xreal> librtmp really seems to be buggy :(
[13:11] <xreal> curl and ffmpeg have problems, while rtmpdump works fine.
[14:11] <seba-> how do you force drawtext to show date/time
[14:12] <seba-> %F %T %Z doesn't work anymore
[14:21] <durandal_1707> seba-: what version?
[14:24] <seba-> durandal_1707 i get parsed_drawtext stray % near T
[14:24] <seba-> :/
[14:24] <seba-> N-54141-g1a405c6
[14:28] <seba-> actually sorry if i use \%F \%T \%Z
[14:28] <seba-> it says near F not near T :)
[14:29] <durandal_1707> did you read documentation?
[14:29] <durandal_1707> and what version that FTZ thing actually works?
[14:30] <seba-> durandal_1707, i don't remember which, but it worked
[14:30] <seba-> i think the previous GIT version in february or something
[14:30] <seba-> late january
[14:30] <seba-> oops
[14:31] <saste> seba-, behavior changed since then
[14:31] <seba-> saste, yes i can see that, so what should i do?
[14:31] <saste> you need to specify the expansion mode
[14:31] <seba-> yes i was looking in that
[14:31] <seba-> but i didn't understand really wtf they mean by that
[14:31] <saste> you can specify the old behavior, but is not default anymore
[14:31] <seba-> yes
[14:31] <seba-> i understood that
[14:32] <seba-> but i didn't know how to do that
[14:32] <seba-> how to specify this
[14:33] <seba-> saste, do i do this at compile time?
[14:33] <saste> seba-, expansion=strftime
[14:34] <seba-> saste, oh just that?
[14:34] <seba-> lol
[14:34] <saste> or you read TFM about text expansion in drawtext
[14:34] <seba-> lololol
[14:34] <seba-> yes i did
[14:34] <seba-> but you have like an example
[14:34] <seba-> drawtext="fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: text='Test Text'"
[14:34] <seba-> or drawtext='fontfile=FreeSans.ttf:text=%{localtime:%a %b %d %Y}'
[14:35] <seba-> how would i know what they mean by that
[14:37] <seba-> ok it works saste
[14:37] <seba-> thank you
[15:00] <xlinkz0> what was the thread option?
[15:01] <seba-> saste, if you can change the docu, just add at the end expansion=strftime in the example
[15:01] <seba-> it's not clear
[15:02] <saste> seba-, strftime is deprecated in favor of the new expansion mechanism
[15:02] <saste> that is you should use %{localtime=} or gmtime
[15:02] <seba-> oh
[15:02] <seba-> i see
[15:03] <seba-> ah now i understand what they mean by that
[15:46] <xlinkz0> the fps reported on the command line at the end is total average?
[15:48] <durandal_1707> afaik yes
[15:51] <xlinkz0> ty
[16:49] <silv3r_m00n> i am trying to capture desktop video using avconv, like this, avconv -f x11grab -s xga -r 30 -b 2000k -g 300 -i :0 ~/session-recording.avi   but the quality is very poor, how to improve quality of video ?
[16:49] <JEEB> you didn't set any format so the default can be whatever :D
[16:50] <JEEB> also you're setting bit rate before -i
[16:50] <silv3r_m00n> JEEB so what shud be the correct command
[16:51] <JEEB> try something like this: avconv -f x11grab -s xga -r 30 -i :0 -c:v ffvhuff ~/session-recording.avi
[16:52] <silv3r_m00n> totem requires,   video/x-avi-unknown decoder
[16:52] <silv3r_m00n> how to get that now
[16:52] <JEEB> lol totem
[16:53] <JEEB> it sure fails
[16:53] <JEEB> try mplayer or VLC
[16:53] <JEEB> also do note that avconv is a libav binary, not ffmpeg binary (project-wise)
[16:53] <silv3r_m00n> let me check
[16:53] <JEEB> so the "correct" place to seek support is #libav
[16:54] <silv3r_m00n> the quality is good now, but a 300mb file for just 5 seconds video ?
[16:54] <JEEB> yes, lossless compression. You can try -c:v libx264 -preset ultrafast -crf 0 instead of -c:v ffvhuff
[16:55] <JEEB> and then make the preset slower to make the compression better
[16:55] <JEEB> http://mewiki.project357.com/wiki/X264_Settings#preset
[16:55] <JEEB> list of x264's presets
[16:56] <silv3r_m00n> cant i do -c:v mpeg4  ?
[16:58] <JEEB> that doesn't have a lossless mode
[16:58] <JEEB> and if you want lossy you might as well use x264
[16:58] <JEEB> and raise the crf value
[16:58] <JEEB> :P
[16:58] <JEEB> but that really doesn't make sense
[16:58] <JEEB> capture first in lossless
[16:58] <JEEB> then re-encode with proper settings to lossy
[16:58] <JEEB> for distribution
[16:59] <JEEB> it only makes sense to use something fast and if possible lossless for the capture step
[17:01] <silv3r_m00n> libx264 is more sensible, ffvhuff is strange, it will take up entire hard disk in 5 minutes
[17:01] <JEEB> it's not strange, just a simple huffman-based format
[17:02] <JEEB> libx264 with lossless mode is somewhat better, but of course preset ultrafast isn't that good
[17:02] <silv3r_m00n> instead of -s xga   can i specify the full screen resolution of 1380x768 ?
[17:02] <dagerik> silv3r_m00n: use -s 1380x768
[17:03] <dagerik> or -vf scale=-1:768
[17:04] <silv3r_m00n> in -i :0  can i specify a specific window id to record only that window ?
[17:09] <bencc> klaxa: how do you stream the mp3?
[18:25] <bencc> how can I get stream of mp3 packets?
[18:25] <bencc> I've tried:
[18:25] <bencc> ffmpeg -i rtmp://127.0.0.1/audio/test -f mp3 -
[18:25] <bencc> and: pipe:1
[18:25] <bencc> but I don't see any output
[18:38] <macph> Hello ! I don't know whether I am here on the right place - but is someone here who could help with rtmpdump and rtlnow.de ? rtmpdump is build from source on Mac OS X and work fine on other sites.
[19:50] <Angela1> hola
[20:04] <burek> macph, you should contact rtmpdump supporters, not ffmpeg
[20:05] <burek> bencc, does this work: ffplay -i rtmp://127.0.0.1/audio/test
[20:07] <bencc> burek: what does it do?
[20:08] <burek> it plays the given url?
[20:08] <bencc> trying
[20:10] <bencc> burek: I don't here it but I it's inside a VM so I'm not sure I'm supposed to here the audio
[20:10] <burek> ok, type: ffmpeg -i rtmp://127.0.0.1/audio/test -f mp3 -
[20:10] <bencc> ok
[20:12] <bencc> burek: http://dpaste.com/1261994/
[20:12] <burek> *** THIS PROGRAM IS DEPRECATED ***
[20:12] <burek> this is not ffmpeg
[20:13] <bencc> burek: I 've installed ffmpeg so I thought I'm using ffmpeg :)
[20:14] <burek> no, your distribution maintainer tricked you into thinking you were
[20:14] <burek> you were actually using something named avconv
[20:14] <burek> which is just a fork of genuine ffmpeg
[20:15] <bencc> ok
[20:15] <bencc> how can I use ffmpeg?
[20:15] <burek> well, either use static binaries
[20:15] <burek> or compile your ffmpeg
[20:17] <bencc> thanks
[20:18] <burek> :beer: :)
[21:31] <bencc1> what is the framesize of speex in actionscript?
[21:31] <bencc1> can ffmpeg tell me that?
[21:37] <bencc1> ok, found it: "If you use the Speex codec, the sample rate is set to 16 kHz."
[22:02] <LordDoskias> if i want to use avformat library to demux an input multicast stream can i do this directly by passing the stream's address to av_open_input_file or do i have to come up with a solution that receives packets from the networks and somehow passes them to avformat in order ?
[22:33] <t4nk838> Hi, I'm trying to send per frame metadata with ffmpeg...Has anyone got a clue how this is feasible?
[23:01] <amoxibos> Hello,  I have a task of implementing a video transcoding (frame skipping, mostly in the frequency domain, so no decoding->encoding step). The videos are h264, I and P frames only. I have started using ffmpeg library, and I am a bit stuck at getting the macroblock DCT coefficients from the raw AVPacket. Can ffmpeg parse the AV packet in more detail, or do I have to interpret the raw packet data manually? Any other suggestions?
[00:00] --- Sun Jun 23 2013


More information about the Ffmpeg-devel-irc mailing list