[Ffmpeg-devel-irc] ffmpeg.log.20150129
burek
burek021 at gmail.com
Fri Jan 30 02:05:01 CET 2015
[00:01] <Projectns> Hello i have a question , i wanna build a stream server on a debian server. I installed a rtmp server and now i need a program like obs to stream my video list (Video12,3,4,5,6 sequenz) to the rtmp port
[00:01] <Projectns> is it posible with ffmpeg ? and how?
[04:29] <Matador> hmmm
[04:29] <Matador> Anyone know about the error ? --- Past duration 0.890617 too large -- repeating ?
[05:01] <k_sze[work]> Using the libav* API, is possible to open a video file that is still being written and try to get frames until no more frame is available, and when I reach the last frame available in the video file, stay there in a consistent state so I can try getting a frame again?
[05:03] <k_sze[work]> (effectively polling an unfinished video file for new frames)
[05:25] <Matador> gahh
[07:33] <stf> hey guys, please could anyone of you take a look on this, i do not find the error: http://pastebin.com/pLKwEWVY right now, the audio streams 0:1 will be transformed to libvorbis and 0:3 will be transformed to aac
[07:35] <stf> 0:1 should be aac and 0:3 should be copy
[07:59] <stf> http://pastebin.com/pLKwEWVY
[07:59] <stf> I did?
[07:59] <stf> oh sry
[08:02] <stf> here the console output http://pastebin.com/mztqYDrW
[08:07] <relaxed> stf: -c:a:0 aac -c:a:1 copy
[08:08] <stf> thx
[09:40] <k_sze[work]> ugh, is it actually possible to seek an unfinished file?
[09:52] <k_sze[work]> I get the feeling that it should be possible because it looks like mplayer can do it.
[09:53] <BtbN> depends on the container
[09:53] <BtbN> mp4, nope. mpegts/flv should work
[09:53] <k_sze[work]> mplayer could do it with an mkv file.
[09:54] <k_sze[work]> (i.e. open an mkv file while video is still being recorded and added to the mkv file)
[09:54] <k_sze[work]> And mplayer could at least seek within the timespan that was available at the moment mplayer opened the file.
[09:56] <k_sze[work]> even with an oldish version of ffmpeg?
[09:56] <k_sze[work]> 1.2 (from deb-multimedia wheezy-backports)
[10:08] <k_sze[work]> BtbN: does it also depend on the codec (assuming codecs that are supported by the particular container format)?
[10:09] <BtbN> no, it primarily depends on the container having a global header or not
[10:09] <BtbN> mkv should also work
[10:47] <k_sze[work]> ok, so it seems to work rather easily when I put H.264 in FLV
[10:47] <k_sze[work]> but I also have other videos that *must* be encoded as FFV1 for losslessness.
[10:47] <k_sze[work]> Hopefully FFV1 in MKV works.
[10:49] <BtbN> h264 can also encode lossless.
[10:50] <k_sze[work]> but h264 lossless is actually slower and bigger than ffv1
[10:50] <k_sze[work]> not to mention I need gray16le lossless.
[10:52] <k_sze[work]> Hmm, could not find plane 1
[10:53] <k_sze[work]> Does that have to do with the FFV1 stream version?
[10:56] <pzich> please create a paste with full command and output
[10:58] <k_sze[work]> pzich: that's tricky
[10:58] <k_sze[work]> because running the same file using the ffmpeg command line works.
[10:59] <k_sze[work]> It's when I'm using the PyAV binding to the ffmpeg/libav* API that it fails.
[11:03] <k_sze[work]> The error is coming from this anyhow: https://github.com/mikeboers/PyAV/blob/master/av/video/plane.pyx
[11:03] <pzich> ah, so a PyAV problem
[11:04] <k_sze[work]> yes, PyAV is so far the best Python wrapper to ffmpeg/libav* that I could find so far.
[11:25] <k_sze[work]> How do I find out what container format can take FFV1?
[11:30] <leni536> Hi, I have a question about rtmpdump, can I ask it here?
[11:39] <leni536> Ok, nevermind, it was a broken rtmpe url
[13:51] <Elirips> Hello. Is it possible to tell ffmpeg to save every 100 frames one frame to png-image while it is converting some live-stream?
[13:52] <Elirips> Say, I currently have something like 'ffmpeg -i <rtsp-input> -f flv <rtmp-output>' and now I'm looking for some magic to tell ffmpeg 'and please save every 100th frame to /tmp/snapshot.png'
[14:17] <King_Hual> hi there
[14:18] <King_Hual> I'm trying to transcode an m4a audio file to an mp3 file
[14:18] <King_Hual> doing this
[14:18] <King_Hual> http://pastebin.com/NwPLZ6Lc
[14:18] <King_Hual> (in subsonic)
[14:18] <King_Hual> what am I doing wrong?
[14:19] <BtbN> stream 0 is not the audio stream
[14:19] <BtbN> try -map 0:a:0 instead
[14:20] <King_Hual> that fixed it
[14:20] <King_Hual> thanks a lot!
[14:21] <King_Hual> where can i read more about the -map trigger if i may ask?
[14:21] <King_Hual> i'm new to ffmpeg
[14:37] <tetryds> hello
[14:54] <relaxed> King_Hual: https://trac.ffmpeg.org/wiki/How%20to%20use%20-map%20option
[14:55] <King_Hual> cheers
[16:37] <jamie_> hello I've set up a stream an rtmp stream with ffmpeg and I would like a little help.
[16:38] <justinX> jamie_: not that I know much about rtmp, but you should probably tell more about the problem... ?
[16:40] <jamie_> When first starting streaming it lagged because I was transcoding the stream from an mpg to an flv. So before I before I streamed I converted the mpg to an flv with the desired encoding settings. Now however when I stream which works perfectly, The upload of my stream is faster then the playback. It creates a large buffer on the flash player. I would like to know how to keep it in tune with...
[16:40] <jamie_> ...my playback with encoding.
[16:41] <jamie_> without encoding
[16:44] <jamie_> http://trac.ffmpeg.org/wiki/Limiting%20the%20output%20bitrate
[16:44] <jamie_> i think this solves my problem
[16:53] <jamie_> basically instead of the buffer building up on the client side I want to keep it on ffmpeg. If I'm streaming some video and the upload is faster than the playback, then the stream would of been completed before the video has finished. If someone wanted to watch my stream about 20 minutes into me streaming it then the an hour or so video will be nearly finished.
[16:54] <jamie_> *then an hour or so video*
[16:59] <relaxed> jamie_: did you see -re in the man page?
[16:59] <jamie_> nope pls link
[17:00] <relaxed> https://ffmpeg.org/ffmpeg.html
[17:03] <jamie_> thanks are there any other values that go after -re?
[17:03] <relaxed> ffmpeg -re -i input ...
[17:04] <jamie_> ok thanks
[17:23] <hansman> Hey,
[17:24] <hansman> my system becomes unresponsive when I run some complex ffmpeg commands. the disk usage in the task manager shoots up to 100% and everything stops working.
[17:25] <hansman> I am using windows 8 with an i3 and 4gb ram
[17:25] <__jack__> (haha!)
[17:25] <hansman> here is a link to the ffmpeg code which caused this
[17:25] <hansman> http://pastebin.com/kwmHgzyx
[17:25] <hansman> Please help
[17:27] <hansman> guys, anyone?
[17:32] <relaxed> hansman: encoding is a resource intensive task
[17:32] <hansman> So will getting a VPS sort this problem?
[17:32] <relaxed> try with -threads 1
[17:33] <hansman> Okay. I will learn more about threads then.
[17:33] <hansman> If I get a VPS, will that be helpful for me?
[17:33] <hansman> And if yes, what config should I look for?
[17:34] <__jack__> hansman: it's an OS issue
[17:34] <hansman> Hmm, how can I sort it __jack__ ?
[17:35] <relaxed> -threads 1 will help, by default libx264 will use all of them
[17:36] <__jack__> dunno, I'm not a windows expert; you can try to do not have intensive task, as relaxed said
[17:36] <hansman> Okay. I get that.
[17:36] <hansman> But again, will getting a VPS help me or should I spare that cost for now and try out threads?
[17:37] <__jack__> try threads, it cost nothing
[17:37] <__jack__> (to try)
[17:37] <relaxed> put it after all the inputs
[17:39] <hansman> Okay. thank you. :)
[17:39] <hansman> this channel never disappoints
[17:41] <relaxed> which cpu is you i3?
[17:41] <relaxed> your*
[17:41] <hansman> which cpu, as in?
[17:42] <hansman> I am using it on localhost.
[17:42] <relaxed> i3-<number>
[17:42] <hansman> 2348m
[17:43] <relaxed> ok, that cpu has 4 threads
[17:43] <hansman> okay.
[17:44] <relaxed> I would try -threads 3 and see how that performs
[17:44] <hansman> Can I learn more about the logic behind it? Is there any reference online? An explanation for all this?
[17:44] <relaxed> http://arstechnica.com/business/2011/04/ask-ars-what-is-a-cpu-thread/
[17:45] <hansman> Okay.
[17:45] <hansman> thank you!
[18:25] <brontosaurusrex> any speed tests i can do to remove the IO from equation? (mostly interested in prores and x264 encoding)
[18:43] <JEEB> brontosaurusrex, `ffmpeg -i hurr.mov -f null -` for decoding only, and you can check encoding speed by using y4m or something from as fast medium as possible
[18:44] <brontosaurusrex> JEEB I/O must be out of equation
[18:45] <JEEB> well you can't remove it completely :P
[18:45] <JEEB> if you are interested in decoding prores, then you test that first, see how fast it goes
[18:45] <brontosaurusrex> why not? isnt there any signal/noise generators or something?
[18:46] <JEEB> but your shit is not fucking noise
[18:46] <JEEB> the best thing is to dump one of your sources as y4m or something
[18:46] <brontosaurusrex> i/d just like to compare wm with a real hardware
[18:46] <JEEB> and then load that up from a not-slow HDD or something
[18:46] <brontosaurusrex> basically host vs guest
[18:47] <brontosaurusrex> the "shared_folders" virtualbox thingy is slow as hell
[18:47] <JEEB> yes, so you put it within the goddamn VM
[18:47] <JEEB> I mean, my 7200rpm (I think?) normal WD disk is fast enough for 1080p 4:2:0 y4m to be loaded 200+ frames per second
[18:48] <JEEB> or well, I haven't tested but x264 can go that fast with it with superfast or so
[18:49] <JEEB> so I'd say y4m is a pretty good way of testing "encoding only" unless you know you can have a RAMdisk that doesn't degrade your performance otherwise or something
[18:49] <JEEB> I'm pretty sure prores reading will be the bottleneck there, not IO
[18:49] <JEEB> s/reading/decoding/
[18:50] <JEEB> but that way you can at least check if x264 will go faster than you can actually decode prores with that systme
[18:50] <JEEB> *system
[18:54] <JEEB> basically only if you are getting the same kind of figures with `ffmpeg -i hurr.y4m -f null -` as with `ffmpeg -i hurr.mov -f null -` (which is highly unlikely), at that point you can start poking around trying to find faster IO :P
[18:54] <brontosaurusrex> Iam pretty sure its an IO, since encoding never gets more than say 20 fps
[18:55] <brontosaurusrex> and the virtual cpus are not saturated
[18:55] <JEEB> well that kind of test would make it sure :P
[18:55] <brontosaurusrex> and the host is getting 4x speed
[18:55] <JEEB> also virtualbox is fucking slow in various ways
[18:55] <brontosaurusrex> so id like to compare raw ffmpeg vs ffmpeg
[18:55] <JEEB> if that's what you're using
[18:55] <brontosaurusrex> yes, its virtualbox
[18:56] <JEEB> if you are trying to benchmark for prores decoding, then you test that. and if you are so fucking sure about the IO being the fucking bottleneck then actually test that.
[18:56] <JEEB> then you have an actual FACT that defines that
[18:57] <JEEB> also I hope you're not trying to read a file via network or something, virtualbox's network things are known to be slow
[18:57] <JEEB> if you do something, do it from a virtual hd or something
[18:58] <JEEB> and if you just want to compare dumb performance then you have to remember that you are testing with something that is not your actual use case
[18:58] <JEEB> if you start testing with noise, the thing is not exactly the same, and if you are using a static pattern, that usually ends up being very fast for x264 to encode if it's not intra-only
[18:59] <brontosaurusrex> ok
[19:38] <brontosaurusrex> JEEB: you were right, smb share is even 10x slower ...
[19:40] <JEEB> I used to run lunix under a windows system for :reasons: for a couple of years, and it didn't take too long to switch to vmware, as it was better regarding networking etc. although if I could have local access I would have just installed a goddamn hypervisor or something to minimize the overhead
[19:42] <brontosaurusrex> vmware is payware?
[19:42] <JEEB> vmware player is freeware for non-corporate use
[19:43] <brontosaurusrex> what kind of hypervisor?
[19:44] <JEEB> either vmware esxi or one of those lunix based things (xen/whatever)
[19:44] <brontosaurusrex> and that would improve speed, how?
[19:44] <JEEB> because you're not running it under a full operating system
[19:44] <brontosaurusrex> ah right
[19:45] <JEEB> or well, the linux kernel things are pretty much a full OS, but of course they're barebones for the non-kernel parts
[19:46] <brontosaurusrex> my idea was to make a "portable" encoding station, should run on windows and osx hosts
[19:47] <brontosaurusrex> but it is getting way to complicated
[19:47] <JEEB> way better to make a bootable image with yocto or something with a very limited set of things, and boot from that via USB or something
[19:48] <brontosaurusrex> cant, we are heavily connected to metasan, and no time for reboots
[19:48] <JEEB> well, virtualization as you can see can be very much problematic :P
[19:49] <brontosaurusrex> iam really dissapointed thought
[19:50] <brontosaurusrex> on the other hand, the wm is incredibly cute and will be usefull as root for any lunix experiments
[19:51] <JEEB> yes
[19:51] <JEEB> virtual machines in general are very useful tools
[19:53] <iive> are you talking about windows/linux usage at the same time
[19:53] <iive> or it is all linux only?
[19:55] <JEEB> his use case was to use virtual machines to provide lunix environments for windows and OS X users as far as I can see
[19:55] <brontosaurusrex> iive: windows or osx host, linux guest
[19:55] <iive> i see...
[19:56] <iive> if you need another OS, you can't go without virtualization.
[20:29] <gnm|> If I want to stream video where there are 1000+ names stored in a database, what would be the best practice? stream every file with ffmpeg or using ffserver? if using ffserver, how could I add the variableName.avi stream without having to add it to the conf file first? there are going to be many streams of many files at once.. :/
[20:30] <c_14> You want one output stream that's a concatenation of all the inputs?
[20:31] <gnm|> several streams from several sources... each source can be sent to many at once..
[20:31] <c_14> hmm?
[20:32] <gnm|> i.e. mediaserver
[20:33] <c_14> A 'mediaserver' would probably spawn 1 ffmpeg per request
[20:34] <c_14> But I'm not entirely sure what you're trying to do
[20:36] <gnm|> each file on server can be sent as input to many users at once... and every file in theory could be streamed at once.. (in theory)
[20:38] <c_14> If a user requests a file and then another user requests the same file while user1 is watching/listening to file1, will user2 start the file from the start or from where user1 currently is?
[20:38] <gnm|> guess fork ffmpeg would be best way to to it... one fork for each stream.. :P
[20:39] <gnm|> from start
[20:39] <c_14> fork() an ffmpeg for each request
[20:39] <c_14> Do you want to reencode the source or provide it as-is?
[20:39] <kepstin-laptop> gnm|: depending what you're trying to do, it might make sense to create static dash manifests and just serve everything with a high-performance http server.
[20:39] <c_14> ^ It does sound a lot like he wants to create a web-server
[20:40] <gnm|> depends on client, so transcode is wanted...
[20:40] <gnm|> kep, Il read up on it, thnx
[20:40] <gnm|> c_14, thnx :)
[20:40] <kepstin-laptop> live transcoding would be ridiculous, unless you're doing really low-volume streaming. Just pre-encode a couple of variants and serve them statically.
[20:41] <kepstin-laptop> (if you're doing live video, that's a different story, of course, but you'd still only want to do the encoding once, then distribute the encoded stream)
[20:42] <gnm|> its basicly a mix of both, guess I could use ffserver for the live part, and ffmpeg for everything stored
[20:42] <kepstin-laptop> for the stuff that's not live, just encode to hls or dash, serve with nginx or something, put behind a cdn, done.
[20:44] <kepstin-laptop> or even just static mp4/webm served in http would be fine for playing in desktop browsers
[20:46] <gnm|> It has to work with android and ios devices as well, so I guess hls an/or dash would work fine?
[20:50] <gnm|> you have been of great help! thanks! now over to the documentation )
[20:50] <gnm|> :)
[21:04] <Bellspringsteen> Hello, would this be an appropriate place to ask a question on solving a problem encoding a MXF File with a Closed Caption vbi_vanc_smpte_436M stream?
[21:07] <Bellspringsteen> The file looks like this
[21:07] <Bellspringsteen> Input #0, mxf, from '/Users/XXX/Downloads/ExampleCopy.mxf':
[21:07] <Bellspringsteen> Metadata:
[21:07] <Bellspringsteen> uid : 138157ae-9bbe-1b41-871b-1bfc102cb188
[21:07] <Bellspringsteen> generation_uid : 8af54e43-25e4-184a-b85a-87bb9d8a4d8d
[21:07] <Bellspringsteen> company_name : AVID
[21:07] <Bellspringsteen> product_name : TRMG
[21:07] <Bellspringsteen> product_version : 3.01
[21:07] <Bellspringsteen> product_uid : 00000000-0000-0000-0000-000000000000
[21:07] <Bellspringsteen> modification_date: 2014-12-31 19:29:53
[21:07] <Bellspringsteen> material_package_umid: 0x060A2B340101010501010D1313000000E785EB19DB75A340B703A96982AF2957
[21:07] <Bellspringsteen> timecode : 01:00:00;00
[21:07] <Bellspringsteen> Duration: 00:01:00.06, start: 0.000000, bitrate: 60846 kb/s
[21:07] <Bellspringsteen> Stream #0:0: Video: mpeg2video (4:2:2), yuv422p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 50000 kb/s, 59.94 fps, 59.94 tbr, 59.94 tbn, 119.88 tbc
[21:07] <Bellspringsteen> Metadata:
[21:07] <Bellspringsteen> file_package_umid: 0x060A2B340101010501010D13130000006D9F377935593C4280BA79DD0090270A
[21:07] <Bellspringsteen> Stream #0:1: Audio: pcm_s24le, 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s
[21:07] <Bellspringsteen> Metadata:
[21:07] <Bellspringsteen> file_package_umid: 0x060A2B340101010501010D13130000006D9F377935593C4280BA79DD0090270A
[21:07] <Bellspringsteen> Stream #0:2: Audio: pcm_s24le, 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s
[21:07] <Bellspringsteen> Metadata:
[21:07] <Bellspringsteen> file_package_umid: 0x060A2B340101010501010D13130000006D9F377935593C4280BA79DD0090270A
[21:07] <Bellspringsteen> Stream #0:3: Audio: pcm_s24le, 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s
[21:07] <Bellspringsteen> Metadata:
[21:08] <Bellspringsteen> file_package_umid: 0x060A2B340101010501010D13130000006D9F377935593C4280BA79DD0090270A
[21:08] <Bellspringsteen> Stream #0:4: Audio: pcm_s24le, 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s
[21:08] <Bellspringsteen> Metadata:
[21:08] <Bellspringsteen> file_package_umid: 0x060A2B340101010501010D13130000006D9F377935593C4280BA79DD0090270A
[21:08] <Bellspringsteen> Stream #0:5: Audio: pcm_s24le, 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s
[21:08] <Bellspringsteen> Metadata:
[21:08] <Bellspringsteen> file_package_umid: 0x060A2B340101010501010D13130000006D9F377935593C4280BA79DD0090270A
[21:08] <Bellspringsteen> Stream #0:6: Audio: pcm_s24le, 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s
[21:08] <Bellspringsteen> Metadata:
[21:08] <Bellspringsteen> file_package_umid: 0x060A2B340101010501010D13130000006D9F377935593C4280BA79DD0090270A
[21:08] <Bellspringsteen> Stream #0:7: Audio: pcm_s24le, 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s
[21:08] <Bellspringsteen> Metadata:
[21:08] <Bellspringsteen> file_package_umid: 0x060A2B340101010501010D13130000006D9F377935593C4280BA79DD0090270A
[21:08] <Bellspringsteen> Stream #0:8: Audio: pcm_s24le, 48000 Hz, 1 channels, s32 (24 bit), 1152 kb/s
[21:08] <Bellspringsteen> Metadata:
[21:08] <Bellspringsteen> file_package_umid: 0x060A2B340101010501010D13130000006D9F377935593C4280BA79DD0090270A
[21:08] <Bellspringsteen> Stream #0:9: Data: none
[21:08] <Bellspringsteen> Metadata:
[21:08] <Bellspringsteen> file_package_umid: 0x060A2B340101010501010D13130000006D9F377935593C4280BA79DD0090270A
[21:08] <Bellspringsteen> data_type : vbi_vanc_smpte_436M
[21:08] <ezekiel> /ignored
[21:09] <ezekiel> Bellspringsteen use a paste service like paste.debian.net
[21:10] <Bellspringsteen> whoops, thanks, see here http://pastebin.com/VR6mqnqr
[21:13] <Bellspringsteen> In the MXF File, I want to replace the first two audio streams in the MXF file with two separate audio streams. This works if I ignore the ninth stream, the CC data stream. But I need this CC stream, when I include this, it says the CODEC is not supported.
[21:29] <Phlarp> random question that isn't necessarily FFMPEG related but maybe someone can give me some insight:
[21:29] <Phlarp> I'm looking for a good video streaming service. Something I could drop into a webapp to stream one way video to a page?
[21:31] <Phlarp> Essentially I'd need the functionality of chat roulette, but with IOS support
[22:00] <sfan5> Bellspringsteen: did you use -c copy?
[22:00] <Bellspringsteen> @sfan5 I am using -acodec copy -vcodec copy -dcodec copy
[22:00] <Bellspringsteen> is -c copy different?
[22:00] <sfan5> it does exactly the same
[22:01] <Bellspringsteen> here is the total output
[22:01] <Bellspringsteen> http://pastebin.com/VR6mqnqr
[22:01] <Bellspringsteen> yes, then I am already doing that
[22:03] <sfan5> Bellspringsteen: whats the error ffmpeg gives you?
[22:04] <Bellspringsteen> [mxf @ 0x7fe0b2a42000] track 3: could not find essence container ul, codec not currently supported in container
[22:04] <Bellspringsteen> for the data stream
[22:05] <Bellspringsteen> Stream #0:3: Data: none
[22:05] <Bellspringsteen> Metadata:
[22:05] <Bellspringsteen> file_package_umid: 0x060A2B340101010501010D13130000006D9F377935593C4280BA79DD0090270A
[22:05] <Bellspringsteen> data_type : vbi_vanc_smpte_436M
[22:05] <sfan5> looks like the mxf muxer needs to know the format to embed the stream
[22:40] <ramp> is the error "Non-monotonous DTS in output stream" a problem?
[22:40] <ramp> or something to be concerned about?
[22:43] <Bellspringsteen> @sfan5 is there a way to force the mxf muxer the format of the data stream? Or tell it the format?
[22:47] <kepstin-laptop> ramp: it depends on the output format. In some formats, non-monotonous dts isn't allowed, in others it's ok.
[22:50] <ramp> i'm outputting an mkv
[22:50] <ramp> or rather, i'm taking a set of mkv's and removing some of the streams
[22:55] <ramp> anyhow I just wanted to check if this was cause for concern
[00:00] --- Fri Jan 30 2015
More information about the Ffmpeg-devel-irc
mailing list