[11:33:10 CEST] <termos> I'm having this problem https://ffmpeg.org/pipermail/ffmpeg-user/2016-April/031841.html with two input devices of the same name. Is there no way to separate them when capturing from the command line [11:38:45 CEST] <SimAV> termos, I'm using decklink cards too, but I didn't have two identical in the same PC yet. [11:40:06 CEST] <termos> hmm yes I didn't have a problem with just one card but now I have two DeckLink Duo cards and they just show up as DeckLink Duo (1) etc for both of the cards [11:40:32 CEST] <SimAV> I think I can remember to address one of them not by the "name", but I couldn't find evidence for that quickly... [11:41:08 CEST] <SimAV> termos, "ffmpeg -format_code pal -video_input composite -f decklink -i 1 ..." [11:41:42 CEST] <SimAV> that's from a bash_history from 2018. So there should be a way of addressing them using a number. [11:42:17 CEST] <SimAV> but currently I'm addressing them by name "ffmpeg -y -format_code Hi50 -video_input sdi -f decklink -i 'DeckLink Mini Recorder 4K'" [11:42:36 CEST] <SimAV> I don't remember whether this change was necessary... [11:42:51 CEST] <termos> interesting! will try that out [11:44:20 CEST] <termos> seems like it's not longer supported to get them by the index [11:44:42 CEST] <SimAV> ok, then it is clear why I changed that... :D [11:47:31 CEST] <SimAV> if (display_name && !strcmp(name, display_name) || unique_name && !strcmp(name, unique_name)) { [11:47:37 CEST] <SimAV> it seems as if there is a unique_name [11:49:35 CEST] <termos> yes i was looking at something similar when it lists the devices https://github.com/FFmpeg/FFmpeg/blob/master/libavdevice/decklink_common.cpp... [11:52:37 CEST] <SimAV> but this suggests that the unique name should be printed, as soon as it is reported by the decklink SDK? [11:59:58 CEST] <SimAV> termos, https://www.blackmagicdesign.com/developer/support/faq/desktop-video-develop... [12:00:27 CEST] <SimAV> and from the Decklink SDK Manual: BMDDeckLinkDeviceHandle ; String ; String representing an unique identifier for the device. The format of the string is RevisionID:PersistentID:TopologicalID. [12:01:41 CEST] <SimAV> I haven't found yet how to get that... [12:04:28 CEST] <SimAV> termos, did you test whether "DeckLink Duo" and "DeckLink Duo (1)" work? [12:04:55 CEST] <SimAV> or "DeckLink Duo (1)" and "DeckLink Duo (2)" ? [12:10:30 CEST] <SimAV> termos, https://forum.blackmagicdesign.com/viewtopic.php?f=12&t=36862#p216620 lists "output of the DeviceList sample code" [12:10:59 CEST] <SimAV> do you have that? It lists Persistent ID and Topological ID, so only Revision ID would be missing [12:11:45 CEST] <termos> Oh Ill check! Looks promising [12:17:29 CEST] <snooky> moin [12:38:49 CEST] <termos> seems like these unique ids are not exposed in ffmpeg, I use DeckLink Duo (n) for port n on that card, but they are all showing up twice since I have two cards [12:39:04 CEST] <termos> so when I specify 'DeckLink Duo (2)' I don't know which card i'm accessing port 2 on [12:39:11 CEST] <SimAV> ok [12:42:19 CEST] <SimAV> termos, from the code I've seen so far I got the impression, that if the card has an unique_name, they SHOULD be printed. [12:42:25 CEST] <SimAV> *it [12:42:33 CEST] <SimAV> (looking at ff_decklink_list_devices) [12:43:13 CEST] <termos> hmm yes, maybe I need to build a new version to get this, because I see i'm running 3.0 :) [12:43:32 CEST] <SimAV> ah, no, its printing device_description [12:44:08 CEST] <SimAV> termos, so yes, it's not printed. [12:44:11 CEST] <SimAV> change av_log(avctx, AV_LOG_INFO, "\t'%s'\n", device_list->devices[i]->device_description); [12:44:23 CEST] <SimAV> to av_log(avctx, AV_LOG_INFO, "\t'%s'\n", device_list->devices[i]->device_name); [12:44:32 CEST] <SimAV> (or better: just add that line) [12:45:04 CEST] <SimAV> line 409 in decklink_common.cpp, in function "void ff_decklink_list_devices_legacy" [12:45:12 CEST] <SimAV> this should print the unique_name [12:46:02 CEST] <SimAV> anyway, i have to leave now. [12:46:41 CEST] <termos> thanks for the help, will look into doing something like this! it's not preferable to keep a custom ffmpeg branch with these changes but maybe it's the only way [12:47:18 CEST] <SimAV> termos, I think you just need that once [12:47:42 CEST] <SimAV> until you know your unique names... [12:47:57 CEST] <SimAV> but I must admit, I didn't read the code carefully [12:48:36 CEST] <SimAV> anyway, see you... [14:25:03 CEST] <Radiator> Hi everyone, I'm still working on the problem I had yesterday. I've done some big improvements yet I still have issues... This time I have an assert error : "Assertion pkt->size == ((-0x7fffffff - 1) / 3 *2 + (int)sizeof(AVFrame))" failed at libavformat/mux.c:931 [14:26:15 CEST] <Radiator> I looked upon that and it seems I have an "uncoded frame packet" even though I do pass it through my CodecContext. Anyone has an idea what I do wrong ? [14:28:17 CEST] <Radiator> The assertion is the following : av_assert0(pkt->size == UNCODED_FRAME_PACKET_SIZE); [15:50:34 CEST] <saml> -vsync cfr has any impact if I don't specify -r ? [15:50:41 CEST] <JEEB> yes [15:51:16 CEST] <JEEB> ffmpeg.c has some really basic "vsync" code in there [15:51:38 CEST] <JEEB> so it will look up the possible frame rate of the input and kind of attempt to output pictures at that rate [15:52:26 CEST] <saml> If input video has too high framerate, say above 60fps, I want to set output framerate to be 60. But, otherwise, I don't want to touch input video's framerate [15:52:38 CEST] <saml> is this sane? not touching input video's framerate if it's below 60 [15:52:49 CEST] <JEEB> depends on your requirements. [15:53:18 CEST] <JEEB> like if those are your requirements you can make that happen and cap the frame rate at 60Hz [15:53:20 CEST] <saml> i won't be doing HLS. output video will be played in modern browser in <video> tag [15:54:56 CEST] <saml> so, -vsync cfr alone vs. -vsync cfr with -r (different from input video's framerate) vs. -r alone [15:55:27 CEST] <JEEB> might as well use the fps video filter if you are going to start switching frame rates :) [15:55:53 CEST] <JEEB> (not sure if -vsync cfr will poke that filter or not) [15:56:39 CEST] <Radiator> Fixed my issue, I'm just retarded and sent the packet that failed after the avcodec_receive_packet [16:07:36 CEST] <cpplearner> Guys, I want to use avio_seek() into a keyframe offset, but judging from the parameters it doesn't affect `AVFormatContext->internal`. The actual reading is done by av_read_frame, and it pull buffers from `internal`. In that case, how can I properly seek to that offset? [16:18:33 CEST] <mantaalex> Hey i have a question i'm makeing video of all .jpg files in directory's [16:18:49 CEST] <mantaalex> it used to work on another server the same command i don't understand how its not working [16:18:57 CEST] <mantaalex> erroring i mean [16:19:30 CEST] <mantaalex> this is the command: [16:19:32 CEST] <mantaalex> ffmpeg -r 0.5 -pattern_type glob -i '/home/manta/cams/gang/*.jpg' -c:v libx264 /home/manta/cams/gang/gang_`date +%Y%m%d-%H%M`.mp4 [16:19:58 CEST] <mantaalex> ffmpeg version 2.8.15 install with yum on centos 7.7 [16:20:23 CEST] <mantaalex> [image2 @ 0x15ddbe0] Could not find codec parameters for stream 0 (Video: mjpeg, none(bt470bg/unknown/unknown)): unspecified size [16:20:26 CEST] <mantaalex> Consider increasing the value for the 'analyzeduration' and 'probesize' options [16:21:40 CEST] <mantaalex> nvm works now :) [16:23:03 CEST] <JEEB> I would definitely recommend building your own FFmpeg from a newer version [16:23:11 CEST] <JEEB> so much has changed from 2.8.x [16:54:53 CEST] <Radiator> Did it occured to others that a code using ffmpeg libs worked on unix based OS but not on windows ? [16:55:37 CEST] <JEEB> without some mistakes on my side, no [16:58:46 CEST] <Radiator> Ok because I have a code that fully works on ubuntu, when running it on windiws (with the proper ffmpeg libs indeed) i have a segmentation fault [16:59:31 CEST] <JEEB> time to either use vs debugger or gdb :p (first one if you built with msvc) [17:00:06 CEST] <JEEB> i can link a gdb binary for windows when I get home if you don't know where to find one [17:00:24 CEST] <Radiator> Yup, that's what I did and it seems to me that everything is fine [17:01:03 CEST] <Radiator> JEEB: Thanks, I have the Visual studio debugger [17:01:48 CEST] <JEEB> alright, but do remember that that one only works if you built the binaries of FFmpeg with msvc [17:04:37 CEST] <grkblood13> is there a way to define the codec to be used for playback with ffplay? [17:05:09 CEST] <Radiator> JEEB: Oh I didn't know ! Interesting ! [17:05:28 CEST] <DHE> ffplay -h full # indicates a "-codec" option [17:06:52 CEST] <grkblood13> i tried that [17:07:02 CEST] <grkblood13> ffplay -i ~/test.raw -codec:v mpeg2video [17:07:11 CEST] <grkblood13> [mpegts @ 0x7f9e0c000b80] Could not find codec parameters for stream 0 (Unknown: none): unknown codec [17:07:20 CEST] <JEEB> set the containet [17:07:27 CEST] <JEEB> -f [17:07:42 CEST] <JEEB> not sure what was the format for raw mpeg-2 video [17:08:01 CEST] <JEEB> or is it mpegts but without proper data in pmt? [17:08:11 CEST] <grkblood13> its mpegts [17:08:19 CEST] <grkblood13> no pmt apparently [17:08:27 CEST] <grkblood13> or anything it seems [17:08:45 CEST] <grkblood13> jsut raw data [17:09:06 CEST] <JEEB> then it's not mpegts then ? [17:09:35 CEST] <grkblood13> its a recording from a live atsc signal using a tuner card [17:10:46 CEST] <DHE> well that should be mpegts then [17:12:04 CEST] <grkblood13> yea, it is, i was running it agaisnt some gst commands earlier and i remember seeing pmd and some other stuff reporting as zero or noe [17:12:06 CEST] <grkblood13> none* [17:13:19 CEST] <DHE> my favourite trick is to try opening it in wireshark [17:15:03 CEST] <grkblood13> file information: https://pastebin.com/raw/jMQQavdy [18:53:40 CEST] <classsic> Hi, wich alternative to ffserver exist to create an mjpeg server? [19:17:32 CEST] <BtbN> define "mjpeg server", cause that's not a thing. [19:18:14 CEST] <JEEB> probably HTTP thing that serves chunked JPEGs [19:18:21 CEST] <JEEB> no idea though [00:00:00 CEST] --- Sat Sep 21 2019
participants (1)
-
burek