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

burek burek021 at gmail.com
Mon Jun 1 02:05:01 CEST 2015


[05:24:50 CEST] <seasc> i recently have ffplay continue running eventhough the file has ended (as in, audiofile has 1:17 min, but ffplay is still active after 3:00 mins), any ideas?
[05:39:57 CEST] <seasc> http://pastebin.com/AHhApi6R :: have a look at duration and real time at the end.
[06:05:01 CEST] <soreau> Does this channel support avconv as well? I'm trying to find a way to convert video files without losing video quality, from avi to mp4
[06:05:36 CEST] <chungy> no; see #Libav
[06:06:18 CEST] <chungy> (for the ffmpeg way though: ffmpeg -i input.avi -c copy output.mp4)
[08:35:19 CEST] <esngraf> Hey, we have a script that makes very short (~1sec) slices from videos, and it doesn't work right unless we start on a key frame. So it generates a list of all keyframes, but that's a pretty slow process. Wondering if there's a faster way of doing this... The command we use is: ffprobe -select_streams v -show_frames -v quiet $INPUTFILE > $KEYFRAMEFILE
[10:20:04 CEST] <anddam> hello, how do I specify a resample on an audio track
[10:20:14 CEST] <anddam> s/$/?/
[10:20:37 CEST] <anddam> I have     Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 96000 Hz, stereo, fltp, 127 kb/s (default)    and I'd like to resample to 44.1 kHz
[10:21:18 CEST] <c_14> Either -af aresample=44100, or -ar 44100
[10:21:19 CEST] <anddam> I usually do simple recoding with ffmpeg but I don't know how to specify only a resample action
[10:21:30 CEST] <anddam> s/recoding/transcoding
[10:22:33 CEST] <anddam> c_14: ah brilliant :-)
[10:24:55 CEST] <c_14> esngraf: you could try -noaccurate_seek and -ss as an input option, that way you should only be able to seek to the nearest keyframe.
[10:29:11 CEST] <esngraf> c_14: Many thanks we'll give that a shot. I also dug up this command on a forum, not sure if it will help: ffprobe -show_packets -print_format compact input.mkv | grep -n flags=K
[10:36:57 CEST] <anddam> c_14: thanks
[10:37:11 CEST] <c_14> esngraf: they seem to produce the same result and it is faster, you might want to add -select_streams v though
[10:50:36 CEST] <anddam> c_14: i'm surprised to see that the files resampled to less than half sample rate show a very small reduction in size
[10:50:57 CEST] <anddam> a four minutes audio track went from 3800 kB to 3700
[10:51:41 CEST] <c_14> Well, you're reencoding the audio.
[10:52:05 CEST] <c_14> And if the input is 128kb/s and you reencode to 128kb/s with half as many samples, it's still going to be about the same size.
[10:52:41 CEST] <c_14> You'll only see a bitrate reduction from downsampling if the input/output formats are lossless.
[10:52:52 CEST] <c_14> (unless you reencode at a lower bitrate, of course)
[10:53:27 CEST] <anddam> oh the bitrate is kb/s
[10:53:35 CEST] <anddam> so I end with more bit per sample
[10:54:05 CEST] <anddam> I see
[10:54:11 CEST] <c_14> yes
[10:54:50 CEST] <anddam> thanks for the info
[12:02:44 CEST] <esngraf> c_14: We have it sort of working, but with different source videos we get unexpected results (one file is 14 seconds like it should be, another is 40 seconds, using the same command) anything stand out? Here's a pastebin with output: http://pastebin.com/jkuehX9w
[12:11:56 CEST] <c_14> Maybe that one video has a much larger gop?
[12:18:31 CEST] <esngraf> c_14: Can we detect that or?
[12:38:45 CEST] <c_14> Check with the ffprobe how far the keyframes are apart from each other.
[12:43:16 CEST] <tracer> Hello, can anybody answer a mplayer-related question? When I run mplayer under Linux, I get the error "[VD_FFMPEG] DRI failure." What does it mean? A problem with a single frame, or acceleration not available for the whole clip? Command line is simply "mplayer filename.flv". It's likely have started after I switched to the free Radeon driver, though I may be wrong. Gentoo Linux AMD64, mplayer 1.2_pre20150214, ffmpeg 0.10.16 and 2.6.3.
[12:53:19 CEST] <esngraf> _c14: thank you kindly we'll try that, about to disconnect my laptop here to head home so just wanted to thank you before I part
[14:59:25 CEST] <zhanshan> hi
[15:00:27 CEST] <zhanshan> my problem is I want to use Filter and streamcopy together. What could I try?
[15:01:05 CEST] <BtbN> magic
[15:01:16 CEST] <BtbN> Or do you want to filter+reencode one stream, and copy another?
[15:01:41 CEST] <zhanshan> my video is a .MTS 108Mbit file (and I want to apply the vidstab filter) outputting a 108Mbps file
[15:01:48 CEST] <zhanshan> 108Mbps sorry
[15:02:23 CEST] <BtbN> You can't filter the video without re-encoding it.
[15:04:25 CEST] <zhanshan> pls see https://gist.github.com/anonymous/de9aa480eefc36b397e1
[15:05:02 CEST] <zhanshan> I understand that BtbN of course you're right
[15:05:51 CEST] <BtbN> Choose some codec and apropriate parameters then.
[15:06:06 CEST] <BtbN> Default for mp4 is h264
[15:06:36 CEST] <BtbN> It's impossible to tell ffmpeg to "keep it like it was", as there is no clear definition of that.
[15:20:33 CEST] <zhanshan> isn't .mkv a better choose and try to use something like "raw?
[15:26:16 CEST] <zhanshan> "apropriate parameters" are my problem I guess
[15:26:46 CEST] <zhanshan> any hint?
[15:27:04 CEST] <BtbN> Use whatever suits your needs. There is no "use the same as the input material has" option, because that's impossible.
[15:30:15 CEST] <zhanshan> I guess to avoid losing too much quality I shall go for RAW output then?
[15:38:48 CEST] <zhanshan> I just want to go for the best possible quality of course since I will use the resulting file as footage for my video editing
[15:39:11 CEST] <zhanshan> anything else doesn't make sense
[15:40:08 CEST] <zhanshan> but how could I have an overview of all the options ffmpeg offers? it's so immense
[15:43:54 CEST] <zhanshan> so my choice for now seems to be: ffmpeg -i input -c:v libx264 -preset ultrafast -qp 0 output.mkv
[15:50:35 CEST] <JodaZ> whats vidstab?
[15:50:43 CEST] <JodaZ> o nvm
[15:52:50 CEST] <JEEBsv> zhanshan: the preset is generally regarding _encoding_ speed, not decoding. also you probably want to use short GOPs if you actually do video editing with the clip
[15:53:05 CEST] <JEEBsv> I think the last time stuff was tested, -g 3 was noted as a nice one
[15:53:17 CEST] <JEEBsv> that way it's not intra only but seeks should be very fast
[15:53:19 CEST] <zhanshan> JodaZ video stabilizer, great tool for deshaking hand held camera footage a little bit by georg martius
[15:53:42 CEST] <JEEBsv> also make sure your video editor can load up both matroska as well as lossless AVC
[15:53:48 CEST] <JEEBsv> most commercial things will not
[15:53:58 CEST] <JodaZ> zhanshan, did you see that new hyperlapse stuff?
[15:54:10 CEST] <Mavrik> btw, what DO you put files for video editing in?
[15:54:12 CEST] <zhanshan> I use blender since a long time, it's my favourite, even if it's hell slow
[15:54:15 CEST] <Mavrik> So commercial stuff will read it?
[15:54:26 CEST] <JEEBsv> ok, then if you have new enough lavf/lavc it should be OK
[15:54:29 CEST] <zhanshan> JodaZ no what is that about?
[15:54:37 CEST] <JEEBsv> because blender uses lavf/lavc to load the file up
[15:55:08 CEST] <JodaZ> zhanshan, making smooth video even from a sped up moving camera
[15:55:13 CEST] <JEEBsv> also if your source is RGB and you want to keep it as such, there's the libx264rgb video encoder, which is the same as the libx264 one, except it defaults to RGB
[15:55:19 CEST] <JEEBsv> instead of YCbCr
[15:55:53 CEST] <JEEBsv> (also funny enough as far as I know out of the open source things blender actually seems to be the least retarded video editor if you actually need an editor)
[15:56:22 CEST] <JEEBsv> all of the other open source actual video editors seem to either be abandoned, bad or retarded
[15:56:58 CEST] <JEEBsv> scripting based ones are relatively alright, avs2.6 and vapoursynth.
[15:57:25 CEST] <zhanshan> that's right! JEEBsv
[15:57:37 CEST] <zhanshan> I regularly try different kinds
[15:57:54 CEST] <zhanshan> of video editing software
[15:58:11 CEST] <zhanshan> all through my bachelor studies of film long..
[16:04:35 CEST] <rikai> Hm, is it possible to use ffmpeg as an rtmp server? I'd essentially want to set up ffmpeg to listen for an rtmp stream, and then output that stream in some way... http://www.ffmpeg.org/ffmpeg-protocols.html#rtmp lists a 'listen' parameter, but i'm not quite sure i understand how i'd craft a command to set ffmpeg up to listen...
[16:21:07 CEST] <JEEBsv> rikai: that documentation is kind of weird since I most definitely remember lavf only being able to push an rtmp stream to a server
[16:21:11 CEST] <JEEBsv> not listen to one
[16:31:35 CEST] <rikai> JEEBsv: seems to come from http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e5f2731c736c992948ca7e344ad7cfc93168a03f
[16:31:38 CEST] <rikai> I think, anyway?
[16:32:52 CEST] <rikai> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e5f2731c736c992948ca7e344ad7cfc93168a03f this commit, specifically.
[16:33:08 CEST] <JEEBsv> well, on some level... yes, it seems so
[16:33:30 CEST] <JEEBsv> try setting the rtmp_listen avoption
[16:33:56 CEST] <JEEBsv> seems like it
[16:34:14 CEST] <JEEBsv> is mapped to -rtmp_listen 1 "Implies -rtmp_listen 1"
[16:35:48 CEST] <rikai> So... it'd be something like....
[16:35:52 CEST] <rikai> ffmpeg -rtmp_listen 1 -re -i rtmp://<host>:<port> <output>
[16:36:08 CEST] <JEEBsv> could be
[16:36:13 CEST] <rikai> And it'd listen on rtmp://<host>:<port>?
[16:36:17 CEST] <rikai> mmm, i'll give thatt a shot.
[16:38:42 CEST] <rikai> It's really too bad it doesn't work like the TCP input
[16:38:47 CEST] <rikai> where you can do -i tcp://0.0.0.0:port?listen=true
[16:39:19 CEST] <BtbN> rikai, use nginx-rtmp
[16:39:46 CEST] <BtbN> It's way better suites as an rtmp server, because that's its single purpose
[16:40:47 CEST] <rikai> BtbN: yeah, i'm aware of using a seperate rtmp server, just trying to do something a bit different for curiosity's sake. :)
[18:11:41 CEST] <kamelotusky> Hello
[18:12:30 CEST] <kamelotusky> I have a problem. I can't compile 2 ass files.
[18:13:05 CEST] <kamelotusky> according to the documentation, or as i understood, you have to do "ass=sub1.ass,sub2.ass"
[18:13:23 CEST] <kamelotusky> The 1st one is recognized, but not the 2nd...
[18:34:49 CEST] <thomedy> hey i have a questoin..... i have been hitting a wall every time
[18:35:40 CEST] <thomedy> i have ffmpeged in a 1000 ways and i have un installed ffmpeg and re downloade d it from ffmpeg website and compiled it from source which took for ever and i cant get mp4 h264
[18:36:10 CEST] <thomedy> i did get ffmpeg -i input output.mp4 but i dont konw how to gaurantee that that is h264
[18:36:23 CEST] <thomedy> and any attempt to do so explicitly has failed
[18:36:39 CEST] <thomedy> please be a room that works because i have tried a million ways and im running low on hope
[18:43:19 CEST] <Mavrik> https://trac.ffmpeg.org/wiki/Encode/H.264#crf
[18:43:24 CEST] <Mavrik> "crf example"
[18:55:44 CEST] <thomedy> Mavrik, yeah i have tried that it says un recognized preset
[18:55:59 CEST] <thomedy> or unrecognized option 'preset'
[18:56:43 CEST] <Mavrik> That's impossible
[18:56:58 CEST] <Mavrik> If you actually have ffmpeg built in last 5 years.
[18:57:17 CEST] <Mavrik> can you pastebin the command and all of the output?
[18:57:33 CEST] <thomedy> last night for like a half an hour
[18:57:45 CEST] <thomedy> i recompiled it from source code from the ffmpeg website
[18:57:47 CEST] <thomedy> it took forever
[19:29:55 CEST] <thomedy> any suggestions
[19:30:00 CEST] <orfios> i need to mute the audio in a subsection of an mp4 video, i'm not sure what the CLI command for that would be. can someone help me out? i have millisecond timestamps of regions that need to be muted. some regions are just for the audio, and other regions are for the video. I need to be able to mask the video as well
[19:30:14 CEST] <thomedy> i skipped compilling the h265 because i didn't think i needed it
[19:30:21 CEST] <thomedy> but that wasn't the issue was it.
[19:30:35 CEST] <thomedy> maybe i dont realize h265's i ntegration
[19:34:48 CEST] <ChocolateArmpits> orfios: 'Volume' audio effect has an expression parameter so you can do a frame comparison to determine if sound should be muted or no
[19:37:41 CEST] <orfios> ChocolateArmpits: is there a way to specify onset and offsets of the region to have the filter applied over? i don't want to change the volume for the whole video
[19:38:17 CEST] <ChocolateArmpits> orfios: THat's what a comparison would be, let me write an example
[19:40:07 CEST] <orfios> ChocolateArmpits: thank you, i'm pretty new to ffmpeg and video editing in general
[19:44:03 CEST] <ChocolateArmpits> say your mute timecode is from 00:10 to 00:25 at 25fps, the comparison would be -af volume=volume='if(gt(n,250)*lt(n,625),0,1)':eval=frame
[19:44:46 CEST] <ChocolateArmpits> Here it basically compares the current frame number and only if it's greater than 250 and below 625 is the volume set to 0
[19:45:08 CEST] <ChocolateArmpits> Else the volume is kept "full" or at 1
[19:45:26 CEST] <ChocolateArmpits> The expression is evaluated for every frame so you have frame precision
[19:45:36 CEST] <ChocolateArmpits> There is also second precision which is default
[19:46:25 CEST] <ChocolateArmpits> I believe by stacking commands together this way you can mute many sections with one filter pipeline, rather than continously returning to mute
[19:47:03 CEST] <ChocolateArmpits> To know exact commands and their syntax use Utilities documentation and Expression-Evaluation section https://www.ffmpeg.org/ffmpeg-utils.html#Expression-Evaluation
[19:47:33 CEST] <ChocolateArmpits> Filters and the commands they support can be searched at Filters documentation https://ffmpeg.org/ffmpeg-filters.html#volume
[19:47:38 CEST] <ChocolateArmpits> here's one for the Volume filter
[19:47:51 CEST] <ChocolateArmpits> THey also give commands
[19:49:18 CEST] <orfios> ChocolateArmpits: thank you! that makes sense. would the video subsection masking work in a similar way? i need to leave certain section with full audio but mask the entire video content
[19:49:20 CEST] <ChocolateArmpits> :s sorry, this statement isn't true "There is also second precision which is default". Default is to evaluate only once
[19:49:50 CEST] <ChocolateArmpits> orfios: The idea should be the same, I just don't know what filter there is for that, haven't searched yet
[19:50:06 CEST] <orfios> cool, thanks
[19:50:11 CEST] <ChocolateArmpits> Usually you can get the idea of what a filter does by reading it's name
[19:50:26 CEST] <ChocolateArmpits> so use the tree at the top
[19:50:46 CEST] <ChocolateArmpits> table of contents that is
[19:56:41 CEST] <ChocolateArmpits> orfios: Ok, as for the video you should use Overlay filter https://ffmpeg.org/ffmpeg-filters.html#overlay-1
[19:57:31 CEST] <ChocolateArmpits> You will have to generate a black video to use as a second input to overlay with the original, it can generated with ffmpeg "-f lavfi -i color=black:1920x1080 " command
[19:57:43 CEST] <ChocolateArmpits> basically put it right after your first input
[19:58:14 CEST] <ChocolateArmpits> Because the filter needs two inputs, instead of default -vf or -video_filter paramter you'll have to use -filter_complex
[20:04:59 CEST] <orfios> ChocolateArmpits: thanks. i'll check that out in a sec. i just ran the command you provided for the audio muting and got this error: [Parsed_volume_0 @ 0x7fd4f85235a0] [Eval @ 0x7fff54db5640] Missing ')' or too many args in 'gt(n'
[20:04:59 CEST] <orfios> [Parsed_volume_0 @ 0x7fd4f85235a0] Error when evaluating the volume expression 'if(gt(n'
[20:04:59 CEST] <orfios> [AVFilterGraph @ 0x7fd4f8700a80] Error initializing filter 'volume' with args 'volume=if(gt(n'
[20:04:59 CEST] <orfios> Error opening filters!
[20:05:33 CEST] <orfios> the command I used: ffmpeg -i sample.mp4 -af volume=volume='if(gt(n,250)*lt(n,625),0,1)':eval=frame output.mp4
[20:05:42 CEST] <ChocolateArmpits> orfios: lemme take a look
[20:09:20 CEST] <ChocolateArmpits> orfios: did you forget to write the quotes ?
[20:10:10 CEST] <orfios> the single quotes? in 'if(gt(n,250)*lt(n,625),0,1)'?
[20:10:13 CEST] <ChocolateArmpits> I just tested the command, works on my side
[20:10:16 CEST] <ChocolateArmpits> yes
[20:10:31 CEST] <orfios> pretty sure they were there, i'll try again
[20:10:40 CEST] <ChocolateArmpits> They need to be there so ffmpeg parses it correctly
[20:10:46 CEST] <orfios> the video mask generation worked btw, just tried it out, thanks
[20:11:39 CEST] <orfios> same error, just retried
[20:11:49 CEST] <orfios> that's strange
[20:12:09 CEST] <ChocolateArmpits> can you post your command line ?
[20:12:13 CEST] <c_14> try surrounding the whole volume filter in double quotes
[20:13:13 CEST] <orfios> ffmpeg -i sample.mp4 -af volume=volume='if(gt(n,250)*lt(n,625),0,1)':eval=frame output.mp4
[20:14:13 CEST] <ChocolateArmpits> idk try what c_14 says
[20:14:37 CEST] <orfios> c_14: i tried using ffmpeg -i sample.mp4 -af "volume=volume='if(gt(n,250)*lt(n,625),0,1)':eval=frame" output.mp4
[20:14:41 CEST] <orfios> and got this error:
[20:14:53 CEST] <orfios> i should probably pastebin it
[20:15:53 CEST] <orfios> http://pastebin.com/fGRnyEiu
[20:16:23 CEST] <c_14> With that exact command?
[20:16:33 CEST] <orfios> yup
[20:16:39 CEST] <c_14> oh
[20:16:44 CEST] <c_14> libvo_aacenc is fucking up
[20:16:50 CEST] <c_14> on line 6
[20:17:00 CEST] <c_14> I don't know why, but it is. Try a different encoder.
[20:17:09 CEST] <c_14> iirc libvo_aacenc wasn't even that good
[20:17:25 CEST] <orfios> how can I specify a different encoder
[20:18:28 CEST] <c_14> -c:a aac -strict -2 for example
[20:18:56 CEST] <c_14> You usually only need the -c:a [encoder], but the internal aac encoder is marked as experimental
[20:21:35 CEST] <orfios> c_14: it worked! thank you so much!
[20:23:42 CEST] <thomedy> okjay im sorry i have 3 boys im at home today... i have tried a million options.... what is the soltion to turn any video into h264 mp4
[20:24:51 CEST] <c_14> ffmpeg -i video -c:v libx264 -c:a copy out.mkv
[20:24:58 CEST] <c_14> Though you might want to adjust for video quality
[20:26:12 CEST] <thomedy> i get unknown encoder libx264
[20:26:32 CEST] <thomedy> i just compiled from source code last night and i get this error and errors like it all the time
[20:26:35 CEST] <c_14> You'll need an ffmpeg encoded with libx264
[20:26:39 CEST] <c_14> What was your config line?
[20:27:41 CEST] <thomedy> i did
[20:27:50 CEST] <thomedy> in compiling i addded the option
[20:27:59 CEST] <thomedy> enable-libx264 last night
[20:28:14 CEST] <thomedy> i remember becausei  went through the whole ffmpeg compile instructions from ffmpeg
[20:28:16 CEST] <c_14> where did you install it to? is it in your path? do you have another ffmpeg binary masking it?
[20:28:28 CEST] <thomedy> the only thing was i didn't do h265 i didn't think i would need it
[20:28:32 CEST] <thomedy> and it was taking forever
[20:31:09 CEST] <c_14> you can see the config line in the output when you execute ffmpeg
[20:31:51 CEST] <thomedy> i just follewed the steps in ffmpeg websit
[20:32:11 CEST] <thomedy> and i removed the original ffmpeg and the av library that runs the ubuntu ffmpeg fake
[20:32:25 CEST] <thomedy> mostly from instructiosn from youtube and other internet sources
[20:32:33 CEST] <thomedy> so i think i got it out well
[20:32:56 CEST] <thomedy> i remember that when i wsa doing it i think that ffmpeg didn't exist
[20:33:07 CEST] <thomedy> sorry unclear
[20:33:22 CEST] <thomedy> when i finished trying to run ffmpeg i couldn't so i think i got it out before i reinstalled it
[20:33:32 CEST] <thomedy> and then i just followed the page after that
[20:35:14 CEST] <thomedy> when i ffmpeg -config | grep 264 i get
[20:36:20 CEST] <thomedy>  D.V.LS h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[20:36:25 CEST] <thomedy> i mean -codecs not -config
[20:36:26 CEST] <thomedy> sorry
[20:36:31 CEST] <Daan_> Hi, can anyone help me find the right parameters and can you help me to make a waveform with 1 line only?
[20:37:11 CEST] <thomedy> i dont know what tha tmeans but i think it means i should have h264 yet everything i have done i get errors
[20:37:13 CEST] <c_14> thomedy: that binary wasn't compiled with libx264 support, check if you're executing the wrong binary or somethnig
[20:38:02 CEST] <thomedy> i dont know how to check for that im sorry
[20:38:23 CEST] <thomedy> your saying that page of ffmpeg is not fully accurate
[20:38:41 CEST] <c_14> I don't know what page you're referring to.
[20:38:46 CEST] <thomedy> ill get it
[20:38:47 CEST] <thomedy> one sec
[20:43:42 CEST] <thomedy> http://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
[20:44:14 CEST] <c_14> Have you tried executing ~/bin/ffmpeg instead of just ffmpeg ?
[20:45:08 CEST] <thomedy> so do everything but just bin
[20:45:33 CEST] <thomedy> are you kidding me
[20:45:36 CEST] <thomedy> that solved it
[20:45:45 CEST] <thomedy> i thought that that compile would now to move it to the typed commands
[20:45:48 CEST] <thomedy> i think that fixed it
[20:46:18 CEST] <thomedy> it surprises me that that was the soolution i sassumed i could keep it to the know commands like ls and cd and what not
[20:46:36 CEST] <thomedy> yeah that looks like it fixed it
[20:46:52 CEST] <thomedy> well easy fix but i guess i shouldn't have assumed thanks
[20:46:54 CEST] <thomedy> back to physics
[20:46:59 CEST] <thomedy> you guys are awesome
[20:47:39 CEST] <Daan_> Hi, can anyone help me find the right parameters and can you help me to make a waveform with 1 line only?
[20:47:45 CEST] <thomedy> thank you so much
[22:55:51 CEST] <kate12> hi i am planning to purchase cloud vps for my ffmpeg web application. What would be the most ideal config? Should I go for high clock speed or multi cores?
[23:53:54 CEST] <skomorokh> Using these settings (incl. -threads 8), ffmpeg seems to only peg one core while doing the first pass of encoding... is that expected for VP9? https://sites.google.com/a/webmproject.org/wiki/ffmpeg/vp9-encoding-guide
[23:57:04 CEST] <skomorokh> Ahhh, looks like that was only added in 1.4.0?
[00:00:00 CEST] --- Mon Jun  1 2015


More information about the Ffmpeg-devel-irc mailing list