burek021 at gmail.com
Mon Feb 2 02:05:01 CET 2015
[01:21] <grepper> anyone have experience in reading mpv's y4m output from a pipe? I get black video, though ffmpeg doesn't complain using -f yuv4mpegpipe -i video.y4m (named pipe)
[01:45] <grepper> if it helps, the header reads: YUV4MPEG2 W720 H480 F24000:1 Ip A853:720 C420jpeg XYSCSS=420JPEG
[01:45] <grepper> -f yuv4mpegpipe should handle this , no?
[08:02] <relaxed> grepper: this works, mpv input.mkv --end 10 --of=yuv4mpegpipe -o - --no-audio --oautofps --oneverdrop 2>/dev/null | ffmpeg -f yuv4mpegpipe -i - -y out.avi
[08:05] <grepper> relaxed: ah, thanks! I was just in the midst of doing a case statement converting integer/float fps numbers to ratios for yuvfps (for mpeg2enc)
[08:05] <grepper> if it works for ffmpeg, avconv, mpeg2enc that is awesome
[08:06] <grepper> I'll test tomorrow
[08:06] <grepper> strange and too bad the y4m output doesnt work, -o foo.y4m would be simple
[08:07] <relaxed> why doesn't it work?
[08:07] <grepper> comes out black video, but no complaints from ffmpeg or avconv
[08:07] <grepper> same for mpeg2enc actually
[08:07] <grepper> perhaps the header is non-standard
[08:07] <relaxed> you mean straight y4m from mpv?
[08:08] <grepper> yep
[08:08] <grepper> mplayer2 header "YUV4MPEG2 W640 H360 F25:1 Ip A1:1" ( this one works fine)
[08:08] <grepper> mpv header: "YUV4MPEG2 W720 H480 F2997:100 Ip A853:720 C420jpeg
[08:10] <grepper> I would assume that --of=yuv4mpegpipe gives the same output as -vo yuv4mpeg:file=out.yuv
[08:10] <grepper> in mplayer
[08:48] <emilsedgh> I use ffmpeg to stream an mp4 file to a server. The problem is, in ffmpeg's output, the 'time' parameter passes too fast.
[08:48] <emilsedgh> fps=203 q=28.0 size= 30154kB time=00:04:26.51 bitrate= 926.8kbits/s
[08:49] <emilsedgh> the time parameter goes like twice or 3x the speed
[08:49] <emilsedgh> anyone has any ideas?
[08:49] <pzich> You might want to try the -re flag
[08:49] <emilsedgh> thanks pzich
[08:50] <pzich> I've not actually done any streaming with ffmpeg, but that's what I've heard about before, read more at https://trac.ffmpeg.org/wiki/StreamingGuide
[08:51] <emilsedgh> thanks pzich.
[09:00] <emilsedgh> pzich: that totally fixed my issue. thank you again.
[09:00] <pzich> no problem, glad I could help
[12:49] <Zerowalker> I need help with compiling ffmpeg for 64bit
[12:49] <Zerowalker> Is this the right place?
[18:06] <yrc> Hi, I have a mp4 file that is about 2 hours long, but ffmpeg reports it to be 3:47 long! The file plays fine in video players though... Do you have an idea of what ffmpeg command could fix the file? I tried -map_metadata -1 -c copy, but the resulting file still has the same problem.
[18:07] <yrc> (3:47 : 3h47m)
[20:49] <Youssarian> Does anyone know the current repository for ffmpeg so I can get installed into Linux Mint 17.1 ?
[20:51] <c_14> If you can pull from sid, it's in there.
[20:53] <ac_slater_> hey all. I'm working with libavformat, not really with the ffmpeg binary. What does the `start_pts` of a frame really represent? In a specific mpegts container I'm looking at, all streams have a non-zero start_pts. Any help?
[21:03] <Youssarian> c_14: Yeah, I don't have sid added. Do you know the correct ppa address?
[21:12] <c_14> Youssarian: try this one https://launchpad.net/~mc3man/+archive/ubuntu/trusty-media
[21:13] <Mavrik> ac_slater_, of a frame or of a packet?
[21:18] <ac_slater_> Mavrik: good question. When I run `ffprobe -i vid.mts -show_streams` I see that field. I realized there isnt a field called that in AVPacket or AVFrame
[21:19] <ac_slater_> Mavrik: in ffprobe.c , I see it links to AVStream::start_time
[21:19] <Mavrik> ah
[21:19] <Mavrik> that's probably the PTS of the first packet in stream
[21:19] <ac_slater_> yea that makes sense now
[21:20] <Mavrik> mostly relevant for players so they can offset playback timer to 0
[21:20] <Mavrik> e.g. you're playing a dumped stream that starts with timer at 2:33:38.000
[21:20] <Mavrik> and you want to still start counting at 0:00:00 in user interface
[21:20] <ac_slater_> I see. Why would a stream ever not have 0.0 start time?
[21:20] <ac_slater_> in a container, I mean
[21:21] <Mavrik> ac_slater_, as I said
[21:21] <Mavrik> you're receiving a live TV stream
[21:21] <Mavrik> and you grab a piece of it :)
[21:21] <ac_slater_> that good thing is Im working with live, so this is really helpful for me ;)
[21:21] <Mavrik> anything streaming really, most containers don't really care where PTS starts
[21:21] <Mavrik> it's the difference that counts ;)
[21:21] <Mavrik> remember, PTS/DTS can wrap around too :)
[21:21] <ac_slater_> oh god haha
[21:22] <Mavrik> if you have MPEG-TS streams, they're 33bit
[21:22] <Mavrik> and will wrap around at exactly 26 hours and some change
[21:22] <ac_slater_> I'm having a REALLY hard time wrapping my head around muxing a new stream from a live stream ... ie - live transcoding
[21:22] <ac_slater_> that's REALLY helpful, thanks mate
[21:22] <BtbN> It doesn't realy make a difference if it's live or a recording.
[21:22] <BtbN> It's just a realy slow source
[21:23] <Mavrik> yeah, but there are some funny cases you rarely meet in files
[21:23] <Mavrik> like wrong order, packet jitter
[21:23] <Mavrik> and of course, PTS wraparound
[21:23] <ac_slater_> interesting.
[21:23] <Mavrik> I still have to keep a patched version of ffmpeg around because default FLV muxer just stops writing data when PTS wraps :P
[21:24] <ac_slater_> ;)
[21:25] <ac_slater_> so, muxer question. say I have a live source of some video and I want to start muxing it into a mpegts stream for example. Should I start the destination PTS/DTS at 0.0 or some intelligent value from the input?
[21:26] <BtbN> doesn't matter at all.
[21:26] <ac_slater_> BtbN: interesting.
[21:27] <Mavrik> yep
[21:27] <Mavrik> doesn't matter
[21:28] <ac_slater_> next thing. I have a data format (KLV) in which ffmpeg doesnt have an associated encoder/decoder. I really dont care, since I can handle the data myself on the demuxing side. But, when muxing a format that ffmpeg doesnt have a muxer for, how does one handle that.
[21:28] <Mavrik> uh
[21:28] <Mavrik> you basically just don't use ffmpeg then
[21:28] <Mavrik> since it can't help you
[21:29] <ac_slater_> well, I have some containers that have this format, and reading AVPackets from the stream gives me real data
[21:29] <ac_slater_> and ffmpeg have a codec_type and codec_id for it
[21:29] <ac_slater_> it just doesnt have a codec for it
[21:31] <ac_slater_> my real goal is to contribute the encoder/decoder to ffmpeg once I figure out what else I need to do (write a muxer?)
[21:31] <Mavrik> uh
[21:31] <Mavrik> do you have a video format
[21:31] <Mavrik> or actual container?
[21:31] <ac_slater_> container, MPEGTS with h264 and KLV
[21:32] <Mavrik> Muxers are pieces that mux/demux streams into containers and out, you seem to be talking about a codec
[21:32] <ac_slater_> Mavrik: right, just codec, my mistake. MPEGTS is my muxer
[21:34] <ac_slater_> so I guess the question is, say I create a stream with the KLV tags/Ids that ffmpeg has, and start filling AVPackets with some data and do av_write_packet() to my mpegts output format. Does that sound sane?
[21:35] <Mavrik> yes
[21:36] <Mavrik> you'll probably have to check the TS muxer code to see if it properly sets format metadata in stream
[21:36] <Mavrik> since IIRC there are stream type tags in there
[21:36] <ac_slater_> Mavrik: interesting I havent done that yet.
[21:36] <ac_slater_> thanks!
[21:37] <ac_slater_> av_write_* also complains that there is not increasing PTS/DTS.. so I gotta figure that out.
[21:37] <ac_slater_> I guess I could just generate them from my time_base.
[21:39] <Mavrik> yes, pts and dts have to be set properly
[21:39] <Mavrik> you should probably use the same ones as on your input ;_
[21:41] <ac_slater_> I agree. I'm actually taking a live video stream and adding this other stream along with it. When dealing with multiple streams in a single format, do the time_base's have to relate? I wouldnt think so.
[21:58] <gcl5cp> encoding a mkv multi audio tracks, i want to loud first track
[21:58] <gcl5cp> -map 0:1 -map 0:2 -c:a ... -af volume=5dB -c:a ...
[21:59] <gcl5cp> but both are amplificated
[21:59] <gcl5cp> mean_volume: -33.1 dB
[21:59] <gcl5cp> max_volume: -3.0 dB
[21:59] <gcl5cp> mean_volume: -26.4 dB
[21:59] <gcl5cp> max_volume: -1.8 dB
[21:59] <gcl5cp> original are
[21:59] <gcl5cp> mean_volume: -36.1 dB
[21:59] <gcl5cp> max_volume: -5.4 dB
[21:59] <gcl5cp> mean_volume: -29.4 dB
[21:59] <gcl5cp> max_volume: -4.7 dB
[21:59] <c_14> Use a pastebin service.
[22:00] <c_14> try giving it an actual track to work on
[22:00] <c_14> -filter_complex '[0:1]volume=5dB[a]' -map '[a]' -map 0:2
[22:02] <gcl5cp> thank c_14
[22:03] <c_14> np, and just for future reference, if you're going to be pasting more than 3 lines, use a pastebin service and paste the link
[22:13] <gcl5cp> sorry, i should format before paste like
[22:13] <gcl5cp> before= mean: -36.1, max: -5.4, mean: -29.4, max: -4.7
[22:13] <gcl5cp> after = mean: -33.1, max: -3.0, mean: -26.4, max: -1.8
[22:17] <yarekt> Hi. Could someone help me convert a flac audio file to something that my TV will play, please?
[22:18] <yarekt> It can play AC3 and DTS, but I can't find a way to encode things into DTS (decode only codec)
[22:19] <c_14> ffmpeg -i flac -c:a ac3 out.ac3
[22:20] <yarekt> -c:a ?
[22:21] <c_14> Sets the codec for the audio streams
[22:21] <yarekt> Unrecognized option 'c:a' =(
[22:21] <yarekt> says ffmpeg is deprecated as well
[22:22] <yarekt> I'm using ffmpeg version 0.8.13-4:0.8.13-0ubuntu0.12.04.1
[22:22] <c_14> You can grab a static build of ffmpeg from FFmpeg at:
[22:22] <c_14> http://johnvansickle.com/ffmpeg/
[22:23] <yarekt> hmm, is ffmpeg better than avconv then?
[22:23] <c_14> Let's not go into that argument.
[22:24] <yarekt> Hah, no, i don't mean it like that
[22:24] <c_14> This channel supports ffmpeg from FFmpeg only, if you want support for avconv #libav is your friend.
[22:24] <yarekt> Thanks c_14
[22:25] <yarekt> Thats a very bad move from ubuntu, providing that compabibility binary =(
[22:26] <c_14> Recent versions of libav don't have that binary anymore, so it's mainly just with ancient versions of libav.
[22:27] <grepper> thanks c_14
[22:45] <grepper> er, sorry, wrong nick and channel, but thanks just the same :)
[22:56] <gcl5cp> yarekt: for ubuntu i recommend ppa:djcj/hybrid
[22:57] <gcl5cp> and ppa:djcj/vlc-stable
[22:58] <gcl5cp> then install ffmpeg vlc. Note: audacity has problems with libaac inside that repo.
[23:23] <Youssarian> c_14: Thanks for the help. I figured it out by copying code from the description at: https://www.youtube.com/watch?v=7OI86rSyEuY
[23:23] <Youssarian> https://pastee.org/ebtm7
[23:23] <Youssarian> Thanks again. :)
[00:00] --- Mon Feb 2 2015
More information about the Ffmpeg-devel-irc