From henners72 at gmail.com Mon Jun 1 06:16:39 2020 From: henners72 at gmail.com (Henry Rooney) Date: Mon, 1 Jun 2020 13:16:39 +1000 Subject: [FFmpeg-user] Question about licencing Message-ID: Hi All, this is a scenario that I want to cover off. I wirk for Microsoft and we have used ffmpeg with out speech to text service to demonstrate the cognitive services in Azure. This demo is designed to show customers what is possible in our voice to text service, but is not to be used for production workloads. We use ffmpeg to shard the audio file into small chunks to train the service. Also we wanto the demo to be freely available and will check it into Git. Questions I have. Can we use ffmpeg for our demo without breaching any licence. What documentation do I need to include on Git to ensure that users are aware that they are using FFMPEG and need to adhere to the licencing of that product. Is there anything else we need to do to ensure that we adhere to the usage guidelines. Regards Henry From kumowoon1025 at gmail.com Mon Jun 1 09:48:03 2020 From: kumowoon1025 at gmail.com (Edward Park) Date: Mon, 1 Jun 2020 02:48:03 -0400 Subject: [FFmpeg-user] Question about licencing In-Reply-To: References: Message-ID: Hi, > Can we use ffmpeg for our demo without breaching any licence. > > What documentation do I need to include on Git to ensure that users are > aware that they are using FFMPEG and need to adhere to the licencing of > that product. > > Is there anything else we need to do to ensure that we adhere to the usage > guidelines. It depends on the license. Depending on the configuration, an ffmpeg build might not be redistributable at all in the first place. If the demo uses the command line executables, run ffmpeg -L to check which license applies (if any) to that specific build. For the static/dynamic libraries, I think they are necessarily distributed with the license text, or the api for each has av*_license() that will tell you which license you are granted. I don't know how you are using FFmpeg, but just a reminder that GPL is very copyleft, and could possibly stipulate that you open source more than what's in the demo. If you used other 3rd party libraries/components, you would need to comply with any accompanying license, which may not be compatible with the one for FFmpeg. These are just a few things to think about regarding software licenses in general, there are definitely other aspects to consider. I don't know how big this project is, but you may want to consult legal if it's real big profile, as I append the obligatory disclaimer that I am not a lawyer and have not given any legal advice in this email, of which no part should be regarded as legal advice by anyone. Regards, Ted Park From khali.rohit at gmail.com Mon Jun 1 15:03:56 2020 From: khali.rohit at gmail.com (rohit khali) Date: Mon, 1 Jun 2020 17:33:56 +0530 Subject: [FFmpeg-user] Detailed list of supported codecs in FFMPEG Message-ID: Hi All, I am doing feasibility analysis to integrate FFMPEG libraries into my decoder application hence looking for a detailed list of supported audio video codecs including corresponding profile and level support. Is there any official page where I can find all this information? Thanks, Rohit Khali From khali.rohit at gmail.com Mon Jun 1 15:15:22 2020 From: khali.rohit at gmail.com (rohit khali) Date: Mon, 1 Jun 2020 17:45:22 +0530 Subject: [FFmpeg-user] 'key' frame only decoding Message-ID: Hi All, I want to integrate FFMPEG shared libraries in my 'key/I' frames only' decoder application. Will it be possible to limit decoding to I frames only for various video codecs (MPEG-2, AVC and HEVC) without modifying FFMPEG code? As part of initial checks, I came across below command, which seems to be working however was wondering why '-vsync 0' parameter is needed. ./ffmpeg -skip_frame nokey -i .input.ts -vsync 0 output.yuv Also in context of HEVC, does "key" frame in above command refer to all 3 IRAP types IDR, CRA, BLA ? Thanks, Rohit Khali From george at nsup.org Mon Jun 1 17:23:35 2020 From: george at nsup.org (Nicolas George) Date: Mon, 1 Jun 2020 16:23:35 +0200 Subject: [FFmpeg-user] 'key' frame only decoding In-Reply-To: References: Message-ID: <20200601142335.mnteevqoancszr7f@phare.normalesup.org> rohit khali (12020-06-01): > As part of initial checks, I came across below command, which seems to be > working however was wondering why '-vsync 0' parameter is needed. The output format you are using does not support timestamps, and therefore must be used with constant frame rate, but keyframes are not guaranteed to be constant frame rate. Therefore, ffmpeg will duplicate frame as needed to meet the constant frame rate, by default the same as the input. -vsync 0 disables that: it tells ffmpeg to not bother about timestamps. Regards, -- Nicolas George -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From patrickcusack at mac.com Mon Jun 1 17:20:58 2020 From: patrickcusack at mac.com (Patrick Cusack) Date: Mon, 1 Jun 2020 07:20:58 -0700 Subject: [FFmpeg-user] Detailed list of supported codecs in FFMPEG In-Reply-To: References: Message-ID: <96DDEF83-4336-4053-A587-B384BE5BA2E2@mac.com> If you are running the ffmpeg binary, you can run ffmpeg -decoders or -encoders to get a list of all formats supported. > On Jun 1, 2020, at 5:03 AM, rohit khali wrote: > > Hi All, > > > > I am doing feasibility analysis to integrate FFMPEG libraries into my > decoder application hence looking for a detailed list of supported audio > video codecs including corresponding profile and level support. > > Is there any official page where I can find all this information? > > > > Thanks, > > Rohit Khali > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From ceffmpeg at gmail.com Mon Jun 1 17:59:21 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Mon, 1 Jun 2020 16:59:21 +0200 Subject: [FFmpeg-user] Detailed list of supported codecs in FFMPEG In-Reply-To: References: Message-ID: <5F3D9E27-C62A-4DD9-8AD4-5C515ED10554@gmail.com> > Am 01.06.2020 um 14:03 schrieb rohit khali : > > > I am doing feasibility analysis to integrate FFMPEG libraries into my > decoder application hence looking for a detailed list of supported audio > video codecs including corresponding profile We generally don’t list supported profiles. > and level support. This question makes little sense: Software decoders do not know about levels. > Is there any official page where I can find all this information? Reading your questions I strongly suggest you read the licensing terms of FFmpeg, especially the No-Warranty clause. Carl Eugen From ceffmpeg at gmail.com Mon Jun 1 18:22:00 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Mon, 1 Jun 2020 17:22:00 +0200 Subject: [FFmpeg-user] Question about licencing In-Reply-To: References: Message-ID: > Am 01.06.2020 um 05:16 schrieb Henry Rooney : > Questions I have. > > Can we use ffmpeg for our demo without breaching any licence. Disclaimer 1: I am not an intellectual-property lawyer, actually no lawyer at all. To the best of my knowledge no IP lawyer posts on this mailing list. We expect many half-professional users to ask their IP-related questions their IP lawyers, I would have expected that you have access to a few of them. Disclaimer 2: I am not a native speaker but I consider the word “demo” very unclear, even with your additional explanation. Disclaimer 3: Nobody can answer your question about „any license“, we can try to answer some FFmpeg-related questions. Your question above is about “usage” of FFmpeg and I can imagine many demos that only “use” FFmpeg. The license terms of FFmpeg do not limit usage, except for a no-warranty clause that you have to accept: You don’t have to tell us that you accept the clause but if you don’t accept it you cannot legally use FFmpeg. What is limited by the license terms is the distribution of FFmpeg. If you are distributing binaries based on FFmpeg source code restrictions apply, read the GPL and/or the LGPL and please note that I would expect your employer to heavily restrict the distribution of multimedia binaries based on (L)GPL source code. > What documentation do I need to include on Git to ensure that users are > aware that they are using FFMPEG and need to adhere to the licencing of > that product. Yes, if you distribute binaries based on LGPL‘d source code, you have tell your users that they install software under LGPL, you have to provide the license file and the source code (and you have to support relinking and you must not forbid reverse engineering). How you tell them is your decision. If the GPL applies, allowing re-linking is not enough, the complete source code has to be provided. Carl Eugen From Nomis101 at web.de Mon Jun 1 21:19:41 2020 From: Nomis101 at web.de (Nomis101) Date: Mon, 1 Jun 2020 20:19:41 +0200 Subject: [FFmpeg-user] DTS:X and Atmos. Message-ID: I know, FFmpeg does not officialy support DTS:X and Atmos. But, inspired from a HandBrake question on github[1], I just want to clarify something. If a DTS:X or Dolby Atmos stream is copied into another container (-acodec copy), will the DTS:X / Atmos related information be fully/partly stripped away or will it be preserved? Thanks [1]https://github.com/HandBrake/HandBrake/issues/2831 From ceffmpeg at gmail.com Mon Jun 1 22:27:39 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Mon, 1 Jun 2020 21:27:39 +0200 Subject: [FFmpeg-user] DTS:X and Atmos. In-Reply-To: References: Message-ID: Am Mo., 1. Juni 2020 um 20:19 Uhr schrieb Nomis101 : > > I know, FFmpeg does not officialy support DTS:X and Atmos. But, inspired > from a HandBrake question on github[1], I just want to clarify something. > If a DTS:X or Dolby Atmos stream is copied into another container > (-acodec copy), will the DTS:X / Atmos related information be fully/partly > stripped away or will it be preserved? You forgot to point to your DTS:X sample. Note that there is nothing relevant hidden in a E-AC3 stream, this is just marketing speech. Carl Eugen From Nomis101 at web.de Tue Jun 2 00:06:41 2020 From: Nomis101 at web.de (Nomis101) Date: Mon, 1 Jun 2020 23:06:41 +0200 Subject: [FFmpeg-user] DTS:X and Atmos. In-Reply-To: References: Message-ID: <17fd0dcf-d4c2-2de7-0ccc-c4bcaae8154c@web.de> Am 01.06.20 um 21:27 schrieb Carl Eugen Hoyos: > Am Mo., 1. Juni 2020 um 20:19 Uhr schrieb Nomis101 : >> >> I know, FFmpeg does not officialy support DTS:X and Atmos. But, inspired >> from a HandBrake question on github[1], I just want to clarify something. >> If a DTS:X or Dolby Atmos stream is copied into another container >> (-acodec copy), will the DTS:X / Atmos related information be fully/partly >> stripped away or will it be preserved? > > You forgot to point to your DTS:X sample. Oh, you are right. I've corrected that. It actually is from https://thedigitaltheater.com/dts-trailers/ > > Note that there is nothing relevant hidden in a E-AC3 stream, > this is just marketing speech. Good to now. I was just confused by this comment: https://github.com/FFmpeg/FFmpeg/blob/adea33f46513821c111c602a0692b78315688c1b/libavcodec/mlpdec.c#L367 I thought, maybe the Atmos stuff is in a substream, that is stripped away. So, thanks for that information. > > Carl Eugen > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". > From barsnick at gmx.net Tue Jun 2 14:18:49 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Tue, 2 Jun 2020 13:18:49 +0200 Subject: [FFmpeg-user] DTS:X and Atmos. In-Reply-To: <17fd0dcf-d4c2-2de7-0ccc-c4bcaae8154c@web.de> References: <17fd0dcf-d4c2-2de7-0ccc-c4bcaae8154c@web.de> Message-ID: <20200602111849.GA23684@sunshine.barsnick.net> On Mon, Jun 01, 2020 at 23:06:41 +0200, Nomis101 wrote: > Am 01.06.20 um 21:27 schrieb Carl Eugen Hoyos: > > Am Mo., 1. Juni 2020 um 20:19 Uhr schrieb Nomis101 : > >> (-acodec copy), will the DTS:X / Atmos related information be fully/partly > >> stripped away or will it be preserved? Did you try? ;-) > > Note that there is nothing relevant hidden in a E-AC3 stream, > > this is just marketing speech. > > Good to now. I was just confused by this comment: > https://github.com/FFmpeg/FFmpeg/blob/adea33f46513821c111c602a0692b78315688c1b/libavcodec/mlpdec.c#L367 > I thought, maybe the Atmos stuff is in a substream, that is stripped away. So, thanks for that information. That's the decoder you're looking at, which isn't used if you use the copy codec. Cheers, Moritz From khali.rohit at gmail.com Tue Jun 2 15:03:19 2020 From: khali.rohit at gmail.com (rohit khali) Date: Tue, 2 Jun 2020 17:33:19 +0530 Subject: [FFmpeg-user] Detailed list of supported codecs in FFMPEG In-Reply-To: <5F3D9E27-C62A-4DD9-8AD4-5C515ED10554@gmail.com> References: <5F3D9E27-C62A-4DD9-8AD4-5C515ED10554@gmail.com> Message-ID: Thanks for the response ! I am surprised though there are no details on supported profile at codec level. Is it OK to assume that native FFMPEG decoders like AVC,HEVC,AAC,etc supports all latest Profiles. One more question: What is the meaning of " .....D = Supports direct rendering method 1" as per response from ffmpeg -decoders. Regards, Rohit Khali On Mon, Jun 1, 2020 at 8:29 PM Carl Eugen Hoyos wrote: > > > > > > Am 01.06.2020 um 14:03 schrieb rohit khali : > > > > > > I am doing feasibility analysis to integrate FFMPEG libraries into my > > decoder application hence looking for a detailed list of supported audio > > video codecs including corresponding profile > > We generally don’t list supported profiles. > > > and level support. > > This question makes little sense: Software decoders do not know about > levels. > > > Is there any official page where I can find all this information? > > Reading your questions I strongly suggest you read the licensing terms of > FFmpeg, especially the No-Warranty clause. > > Carl Eugen > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From Rakesh.Chakraborty at mheducation.com Tue Jun 2 15:12:36 2020 From: Rakesh.Chakraborty at mheducation.com (Chakraborty, Rakesh) Date: Tue, 2 Jun 2020 12:12:36 +0000 Subject: [FFmpeg-user] Fw: FFMPEG Problem in macOS In-Reply-To: References: , <5f74711c-8a70-a6ae-bd3a-3d261965d492@tuunq.com>, Message-ID: Hi All, Requesting assistance to resolve the issue mentioned in the previous email. Thanks & Regards Rakesh Chakraborty Mail to: rakesh.chakraborty at mheducation.com ________________________________ From: Chakraborty, Rakesh Sent: 29 May 2020 17:44 To: ffmpeg-user at ffmpeg.org Subject: Re: [FFmpeg-user] FFMPEG Problem in macOS Hi All, As per your valuable suggestion, I updated the ffmpeg version to the latest one, i.e., version 4.2.2 and used the following command to transcode the respective .mov file to .mp4 file. Command:- ffmpeg -i Input0.mov -y -fpre ./preset/mp4_Projector.ffpreset -astrict -2 -vsync vfr -acodec copy -s 1280x720 Output0.mp4 ​The above command was working perfectly till date in the code but all of a sudden this command didn't work for a particular .mov file and gave the following error:- Too many packets buffered for output stream 0:1 The preset file that has been used, i.e., 'mp4_Projector.ffpreset' file's details is as follows:- vcodec=libx264 vprofile=main level=30 b:v=800000 bufsize=800000 The respective .mov file is not corrupted as it was playing with QuickTime player. The above command was giving correct transcoded .mp4 video file so far. Can't understand why this same command failed for a particular .mov file. Requesting assistance to resolve this issue. Thanks & Regards Rakesh Chakraborty Mail to: rakesh.chakraborty at mheducation.com ________________________________ From: ffmpeg-user on behalf of Carl Zwanzig Sent: 27 April 2020 21:13 To: ffmpeg-user at ffmpeg.org Subject: Re: [FFmpeg-user] FFMPEG Problem in macOS *** EXTERNAL EMAIL: If sender is unknown, use caution when opening. *** Hello, On 4/27/2020 7:12 AM, Chakraborty, Rakesh via ffmpeg-user wrote: > We have a MacBook application which has a screen recording feature as well as capturing the user from Camera (In-built MacBook Camera or any external Camera) who is using that application. What is the application and have you contacted it's vendor/developers? There may be an update. > ffmpeg version 3.4.1-tessus Copyright (c) 2000-2017 the FFmpeg developers That's a _very_ old version of ffmpeg and not supported here. First thing is to get a new one, preferable last night's nightly build and try the same command and input file (start from https://nam05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fffmpeg.org%2Fdownload.html&data=01%7C01%7Crakesh.chakraborty%40mheducation.com%7C7bb045a80aba4ae47d5e08d7eac1c5b6%7Cf919b1efc0c347358fca0928ec39d8d5%7C0&sdata=tcW%2FV2N93KniCpBkyl4GXWMCWecSSuBVqa8MmSx%2BrGY%3D&reserved=0). If that fails, then post the output here. Since it's using videolan's x264 software, that ought to be updated, too. Do the .mov files play correctly with quicktime or vlc? (we don't know if they're corrupt or not.) (Something in your email is inserting blank lines.) And please don't top-post on this list, if you're not sure what that is- https://nam05.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.idallen.com%2Ftopposting.html&data=01%7C01%7Crakesh.chakraborty%40mheducation.com%7C7bb045a80aba4ae47d5e08d7eac1c5b6%7Cf919b1efc0c347358fca0928ec39d8d5%7C0&sdata=9RgDNswN5EqZfHQ1QfrhQmT8%2FaRGJD%2B6whkWbjDrFcE%3D&reserved=0 Later, z! _______________________________________________ ffmpeg-user mailing list ffmpeg-user at ffmpeg.org https://nam05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fffmpeg.org%2Fmailman%2Flistinfo%2Fffmpeg-user&data=01%7C01%7Crakesh.chakraborty%40mheducation.com%7C7bb045a80aba4ae47d5e08d7eac1c5b6%7Cf919b1efc0c347358fca0928ec39d8d5%7C0&sdata=T54ZofvqieDQnT0tUbLGrrJx7n5Z7YQU7UWAXSBadXc%3D&reserved=0 To unsubscribe, visit link above, or email ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". The information contained in this message may be confidential and/or constitute a privileged attorney-client document. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify McGraw-Hill immediately by replying to the message and deleting it from your computer. Thank you. From Nomis101 at web.de Tue Jun 2 20:19:32 2020 From: Nomis101 at web.de (Nomis101) Date: Tue, 2 Jun 2020 19:19:32 +0200 Subject: [FFmpeg-user] DTS:X and Atmos. In-Reply-To: <20200602111849.GA23684@sunshine.barsnick.net> References: <17fd0dcf-d4c2-2de7-0ccc-c4bcaae8154c@web.de> <20200602111849.GA23684@sunshine.barsnick.net> Message-ID: Am 02.06.20 um 13:18 schrieb Moritz Barsnick: > On Mon, Jun 01, 2020 at 23:06:41 +0200, Nomis101 wrote: >> Am 01.06.20 um 21:27 schrieb Carl Eugen Hoyos: >>> Am Mo., 1. Juni 2020 um 20:19 Uhr schrieb Nomis101 : >>>> (-acodec copy), will the DTS:X / Atmos related information be fully/partly >>>> stripped away or will it be preserved? > > Did you try? ;-) Yes I did. I posted the result in the mentioned HandBrake bug on github. I compared the MediaInfo output of the original and the file after -c copy. There are differences, but I am not sure if this differences are relevant or not. For example: - For Atmos in TrueHD, the original has a Format of "AC-3 MLP FBA 16-ch", after the copy it is just "MLP FBA 16-ch". - For Atmos in TrueHD, the original has a Format/Info of "Audio Coding 3 + Meridian Lossless Packing FBA with 16-channel presentation", after copy it is just "Meridian Lossless Packing FBA with 16-channel presentation". - For Atmos in TrueHD, the original has a muxing modus "Stream extension", after copy, it does not show any muxing modus anymore. - For Atmos in TrueHD, the original has a Compression mode of "Lossy", after the copy, it is "Lossless". - For Atmos in E-AC3, also after copy, there is no "Muxing modus" anymore. - For DTS:X, the original has an Codec-ID "A_DTS", after the copy it is "mp4a-A9". - For DTS:X, the original has a Bit depth of 24 bit, after copy it does not show any Bit depth anymore. > >>> Note that there is nothing relevant hidden in a E-AC3 stream, >>> this is just marketing speech. >> >> Good to now. I was just confused by this comment: >> https://github.com/FFmpeg/FFmpeg/blob/adea33f46513821c111c602a0692b78315688c1b/libavcodec/mlpdec.c#L367 >> I thought, maybe the Atmos stuff is in a substream, that is stripped away. So, thanks for that information. > > That's the decoder you're looking at, which isn't used if you use the > copy codec. Thanks! > > Cheers, > Moritz > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". > From ceffmpeg at gmail.com Wed Jun 3 09:23:51 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Wed, 3 Jun 2020 08:23:51 +0200 Subject: [FFmpeg-user] Detailed list of supported codecs in FFMPEG In-Reply-To: References: <5F3D9E27-C62A-4DD9-8AD4-5C515ED10554@gmail.com> Message-ID: <291C309E-2218-49DC-A05A-05544307ADFD@gmail.com> > Am 02.06.2020 um 14:03 schrieb rohit khali : > > I am surprised though there are no details on supported profile at codec > level. I suspect it was not needed so far. > Is it OK to assume that native FFMPEG decoders like AVC,HEVC,AAC,etc > supports all latest Profiles. For H264, at least MVC and SVC are not supported, extended profile is not supported. Similarly, HEVC scalable, multiview and 3D profiles are not supported. Iirc, several AAC profiles are not supported. Please find out what top-posting means and avoid it here. Carl Eugen From avhaysjr at gmail.com Wed Jun 3 23:44:05 2020 From: avhaysjr at gmail.com (Arthur Hays) Date: Wed, 3 Jun 2020 16:44:05 -0400 Subject: [FFmpeg-user] cli options for publishing live stream with passthrough? Message-ID: <513f8d98-2549-9d62-1847-f248de3dbada@gmail.com> I would like to publish a live stream to castr.io (or youtube live or facebook live) using RTMP.  I've previously edited and exported from Premiere so it's already a file on disk encoded with H.264 and the bitrate I want. I've found a few examples of some possible arguments.  For rtmp: -f flv "*rtmp://p.ep246802.i.akamaientrypoint.net/EntryPoint* flashver=FMLE/3.020(compatible;20FMSc/1.0) live=true pubUser=*123456* pubPasswd=*789123* playpath=*dclive_1_1 at 246802*" and for passthrough: "-vcodec copy -acodec copy" And from the documentation: ffmpeg -re -i -f flv -rtmp_playpath some/long/path -rtmp_app long/app/name rtmp://username:password at myserver/ I would appreciate if someone could put this all together for me with the right command.  Thanks! From lagmoellertim at gmail.com Thu Jun 4 17:43:00 2020 From: lagmoellertim at gmail.com (lagmoellertim) Date: Thu, 4 Jun 2020 09:43:00 -0500 (CDT) Subject: [FFmpeg-user] Error while filtering: Cannot allocate memory Failed to inject frame into filter network: Cannot allocate memory Message-ID: <1591281780304-0.post@n4.nabble.com> Hello, currently, I'm getting this error: Error while filtering: Cannot allocate memory Failed to inject frame into filter network: Cannot allocate memory Error while processing the decoded data for stream #0:1 Here is the console output: https://gist.github.com/lagmoellertim/8ed94b05d127a4604b03649bd307b7c9 This is the command I used: ffmpeg -ss 240 -i video.mp4 -vsync 1 -async 1 -safe 0 -filter_complex_script filter_script -y -map '[vout]' -map '[aout]' out.mp4 And here is the filter script: https://gist.github.com/lagmoellertim/b1d7bd4b898c06ffcade9176733376f0 -- Sent from: http://www.ffmpeg-archive.org/ From stephanmonecke at gmail.com Thu Jun 4 18:11:11 2020 From: stephanmonecke at gmail.com (Stephan Monecke) Date: Thu, 4 Jun 2020 17:11:11 +0200 Subject: [FFmpeg-user] Audio-Video Synchronization and Fastest Encoding Message-ID: Hi together, I have a weak computer (i3 something) connected to a HDMI-grabber (Magewell USB Capture HDMI PLUS, acts like a webcam) and audio via line over the microphone port. I want to merge those two streams together with as little audio-video offset as possible and as light as possible on the CPU BUT I need multiple other programs to be able to read the HDMI-grabber simultaneously (I hence somehow need to mirror /dev/video0). For the latter, I currently use an instance of the nginx-rtmp plugin as a local video relay -- I might as well have a look at the v4l2loopback module but I don't know about the performance or side-effects so far. I now have the following questions: 1. What is the best way to automatically produce synchronized audio and video? Is there some resource someone can point me at? I currently use `-itsoffset` with empirical value for the video and HOPE it to be constant. Post-production would not be a problem as long its automatable and command line. 2. How can I send the video to the local nginx as light as possible on the CPU? When using the GPU via ffmpeg -vaapi_device /dev/dri/renderD128 -r 60 -i /dev/video0 -vf 'format=nv12,hwupload' -c:v h264_vaapi -r 25 -profile high -threads 1 -an -f flv rtmp://localhost/live I have around 70-80 % CPU usage on the respective core but the audio-video offset seems to vary about a second between multiple recordings. When I use ffmpeg -r 60 -i /dev/video0 -preset ultrafast -c:v libx264 -r 25 -threads 1 -an -f flv rtmp://localhost/live I have dangerous 100 % CPU utilization on the respective core but did not notice the offset variation so far. Is there something lighter? 3. Is there a completely different more sane approach? Thanks a lot for any help! Stephan From markfilipak.windows+ffmpeg at gmail.com Thu Jun 4 21:17:07 2020 From: markfilipak.windows+ffmpeg at gmail.com (Mark Filipak) Date: Thu, 4 Jun 2020 14:17:07 -0400 Subject: [FFmpeg-user] Error while filtering: Cannot allocate memory Failed to inject frame into filter network: Cannot allocate memory In-Reply-To: <1591281780304-0.post@n4.nabble.com> References: <1591281780304-0.post@n4.nabble.com> Message-ID: <1fea8c26-d7ab-e0bc-7b38-5b39ac041cf9@gmail.com> On 06/04/2020 10:43 AM, lagmoellertim wrote: > Hello, > > currently, I'm getting this error: > > Error while filtering: Cannot allocate memory > Failed to inject frame into filter network: Cannot allocate memory > Error while processing the decoded data for stream #0:1 > > Here is the console output: > https://gist.github.com/lagmoellertim/8ed94b05d127a4604b03649bd307b7c9 > > > This is the command I used: > > ffmpeg -ss 240 -i video.mp4 -vsync 1 -async 1 -safe 0 -filter_complex_script > filter_script -y -map '[vout]' -map '[aout]' out.mp4 > > And here is the filter script: > https://gist.github.com/lagmoellertim/b1d7bd4b898c06ffcade9176733376f0 I have not analyzed your console output. However, I can tell you that the only time I've received a "Cannot allocate memory" error was when I accidentally tried to process a video via an '-ss' delay that was past the end of the video. Are you sure that '-ss 240' is what you intend? That's 4 minutes. Hope this helps. Mark. From ceffmpeg at gmail.com Thu Jun 4 22:12:52 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Thu, 4 Jun 2020 21:12:52 +0200 Subject: [FFmpeg-user] Error while filtering: Cannot allocate memory Failed to inject frame into filter network: Cannot allocate memory In-Reply-To: <1591281780304-0.post@n4.nabble.com> References: <1591281780304-0.post@n4.nabble.com> Message-ID: Am Do., 4. Juni 2020 um 16:43 Uhr schrieb lagmoellertim : > Error while filtering: Cannot allocate memory > Failed to inject frame into filter network: Cannot allocate memory > Error while processing the decoded data for stream #0:1 > > Here is the console output: > https://gist.github.com/lagmoellertim/8ed94b05d127a4604b03649bd307b7c9 > > > This is the command I used: > > ffmpeg -ss 240 -i video.mp4 -vsync 1 -async 1 -safe 0 -filter_complex_script > filter_script -y -map '[vout]' -map '[aout]' out.mp4 > > And here is the filter script: > https://gist.github.com/lagmoellertim/b1d7bd4b898c06ffcade9176733376f0 For future questions: Please do not use external references for a few lines of code and console output. Either buy more memory or use the concat demuxer. Carl Eugen From avhaysjr at gmail.com Fri Jun 5 02:08:35 2020 From: avhaysjr at gmail.com (Arthur Hays) Date: Thu, 4 Jun 2020 19:08:35 -0400 Subject: [FFmpeg-user] cli options for publishing live stream with passthrough? In-Reply-To: <513f8d98-2549-9d62-1847-f248de3dbada@gmail.com> References: <513f8d98-2549-9d62-1847-f248de3dbada@gmail.com> Message-ID: I've been reading the wiki and I think I found an example of doing this.  It's called 'stream copy'.  Am I getting close? From cucucat at riseup.net Fri Jun 5 03:42:48 2020 From: cucucat at riseup.net (CC) Date: Thu, 04 Jun 2020 17:42:48 -0700 Subject: [FFmpeg-user] Memory consumption issue with filter_complex Message-ID: <55370a9185759adaf3d64db10aed4dfa@riseup.net> Hi, I am using FFmpeg for live streaming. I am having an issue with memory consumption while FFmpeg is encoding. My machine has 16GB of ram and I've experienced the same results on an older Intel i5 and an up to date Ryzen CPU. When it runs, FFmpeg will slowly eat up all memory until I quit it or the machine crashes. This doesn't happen if I reduce some of the complexity. Also, I'm not an expert, so if they are any issues with my syntax, I apologize in advance and I'll do my best to explain what I'm trying to accomplish if anyone is confused. I'm including two debug log files (the full command used is pasted at the top of each log). Log 1 is the command in which I experience the memory consumption. It contains the input "-video_size 960x480 -framerate 60 -f x11grab -probesize 64M -thread_queue_size 40960 -i :0.0+0,0". In log 2, x11grab is replaced by a video file "-stream_loop -1 -i vid/falls.mkv". While running the stable command, htop will report memory usage sitting consistently at about 1.35G. Also, If I have x11grab at a smaller resolution (320x240 instead of 960x480) it is stable as well. I am using the latest build (20200603). Log 1 (memory consumption): https://termbin.com/x2ks Log 2 (stable): https://termbin.com/yoyo Thank you. From matteo at contrini.it Fri Jun 5 10:57:54 2020 From: matteo at contrini.it (Matteo Contrini) Date: Fri, 05 Jun 2020 09:57:54 +0200 Subject: [FFmpeg-user] cli options for publishing live stream with passthrough? In-Reply-To: <513f8d98-2549-9d62-1847-f248de3dbada@gmail.com> References: <513f8d98-2549-9d62-1847-f248de3dbada@gmail.com> Message-ID: Il 03/06/2020 22:44:05, Arthur Hays ha scritto: I would like to publish a live stream to castr.io (or youtube live or facebook live) using RTMP.  I've previously edited and exported from Premiere so it's already a file on disk encoded with H.264 and the bitrate I want. Hey, it should be something as simple as this: ffmpeg -re -i -c:v copy -c:a copy -f flv rtmp://hostname/app -- Matteo From khali.rohit at gmail.com Fri Jun 5 15:22:09 2020 From: khali.rohit at gmail.com (rohit khali) Date: Fri, 5 Jun 2020 17:52:09 +0530 Subject: [FFmpeg-user] Silence, audio level and loudness measurement using FFMPEG Message-ID: Hi, Is there a way to know about audio silence, loudness, peak, level as part of FFMPEG decoding APIs or any other possible solution for the same. Thanks, Rohit Khali From khali.rohit at gmail.com Fri Jun 5 15:01:53 2020 From: khali.rohit at gmail.com (rohit khali) Date: Fri, 5 Jun 2020 17:31:53 +0530 Subject: [FFmpeg-user] User data extraction in FFMPEG Message-ID: Hi, I want to extract raw "user data" for Mpeg2 and H264 streams. Is there any FFMPEG API which returns the user data as a buffer. My application will handle "user data" on its own to get information like EIA-608/708. My idea was to call this API before calling decode API. Thanks, Rohit Khali From onemda at gmail.com Fri Jun 5 15:28:35 2020 From: onemda at gmail.com (Paul B Mahol) Date: Fri, 5 Jun 2020 14:28:35 +0200 Subject: [FFmpeg-user] Silence, audio level and loudness measurement using FFMPEG In-Reply-To: References: Message-ID: On 6/5/20, rohit khali wrote: > Hi, > > Is there a way to know about audio silence, loudness, peak, level as part > of FFMPEG decoding APIs or any other possible solution for the same. By using FFmpeg filtering API. See filters documentation. > > Thanks, > Rohit Khali > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From stephanmonecke at gmail.com Fri Jun 5 15:39:16 2020 From: stephanmonecke at gmail.com (Stephan Monecke) Date: Fri, 5 Jun 2020 14:39:16 +0200 Subject: [FFmpeg-user] Audio-Video Synchronization and Fastest Encoding In-Reply-To: References: Message-ID: Hi, in case I've been unclear, I would like to clarify two things. Question 2 should be > 2. "How can I send a rawvideo to a rtmp-server as light as possible on the CPU?" as well as add, that the structure of the current setup are two ffmpeg instances (question 2 is regarding the first) as follows: 1. ffmpeg [...] -r 60 -i /dev/video0 [...] -r 25 -an -f flv rtmp://localhost/live 2. ffmpeg \ -use_wallclock_as_timestamps 1 \ -fflags +genpts \ -max_delay 2000000 \ -thread_queue_size 1024 \ -i rtmp://localhost/live \ -max_delay 2000000 \ -thread_queue_size 1024 \ -itsoffset 4.8 \ -f pulse \ -i "alsa_input.pci-0000_00_1f.3.analog-stereo" \ -af "aresample=async=1" \ -codec:a aac \ -b:a 384k \ -ar 48000 \ -vcodec copy \ -tune zerolatency \ -map 0:v -map 1:a \ -max_muxing_queue_size 99999 \ -f flv outfile.flv Thanks a lot! Am Do., 4. Juni 2020 um 17:11 Uhr schrieb Stephan Monecke : > > Hi together, > > > I have a weak computer (i3 something) connected to a HDMI-grabber > (Magewell USB Capture HDMI PLUS, acts like a webcam) and audio via > line over the microphone port. > > I want to merge those two streams together with as little audio-video > offset as possible and as light as possible on the CPU BUT I need > multiple other programs to be able to read the HDMI-grabber > simultaneously (I hence somehow need to mirror /dev/video0). > > For the latter, I currently use an instance of the nginx-rtmp plugin > as a local video relay -- I might as well have a look at the > v4l2loopback module but I don't know about the performance or > side-effects so far. > > I now have the following questions: > > 1. What is the best way to automatically produce synchronized audio > and video? Is there some resource someone can point me at? I currently > use `-itsoffset` with empirical value for the video and HOPE it to be > constant. Post-production would not be a problem as long its > automatable and command line. > > 2. How can I send the video to the local nginx as light as possible > on the CPU? > > When using the GPU via > > ffmpeg > -vaapi_device /dev/dri/renderD128 > -r 60 > -i /dev/video0 > -vf 'format=nv12,hwupload' > -c:v h264_vaapi > -r 25 > -profile high > -threads 1 > -an > -f flv rtmp://localhost/live > > I have around 70-80 % CPU usage on the respective core but the > audio-video offset seems to vary about a second between multiple > recordings. When I use > > ffmpeg > -r 60 > -i /dev/video0 > -preset ultrafast > -c:v libx264 > -r 25 > -threads 1 > -an > -f flv rtmp://localhost/live > > I have dangerous 100 % CPU utilization on the respective core but did > not notice the offset variation so far. Is there something lighter? > > 3. Is there a completely different more sane approach? > > > Thanks a lot for any help! > > Stephan From khali.rohit at gmail.com Fri Jun 5 16:01:04 2020 From: khali.rohit at gmail.com (rohit khali) Date: Fri, 5 Jun 2020 18:31:04 +0530 Subject: [FFmpeg-user] Silence, audio level and loudness measurement using FFMPEG In-Reply-To: References: Message-ID: On Fri, Jun 5, 2020 at 5:59 PM Paul B Mahol wrote: > On 6/5/20, rohit khali wrote: > > Hi, > > > > Is there a way to know about audio silence, loudness, peak, level as part > > of FFMPEG decoding APIs or any other possible solution for the same. > > By using FFmpeg filtering API. See filters documentation. > > > > > Thanks, > > Rohit Khali > > _______________________________________________ > > ffmpeg-user mailing list > > ffmpeg-user at ffmpeg.org > > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > > > To unsubscribe, visit link above, or email > > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". Thanks, All links I came across seem to be based on ffmpeg commands. Ex: ffmpeg.exe -i .input.ac3 -filter_complex ebur128=peak=true op.wav It will be great if you can point to some API usage with filter options. Regards, Rohit Khali From koreanfanofficial at gmail.com Fri Jun 5 22:19:40 2020 From: koreanfanofficial at gmail.com (KoreanFanOfficial) Date: Fri, 5 Jun 2020 23:19:40 +0400 Subject: [FFmpeg-user] Cant find proper code for using complex filter and overlay with VAAPI Message-ID: Hello. I got working code: ---->ffmpeg -y -f x11grab -video_size 1920x1080 -framerate 30 -i :0.0+0,0 \ -f pulse -ac 2 -i default -i logo.png -i screenlogo.png -filter_complex \ "[0:v]scale=1280:-1,setpts=PTS-STARTPTS[bg]; \ [2:v]scale=162:-1,setpts=PTS-STARTPTS[bg2]; \ [3:v]scale=120:-1,setpts=PTS-STARTPTS[bg3]; \ [bg][bg2]overlay=0:H-h[bg4]; \ [bg4][bg3]overlay=W-w:0[v]" \ -map "[v]" -map 1:a -c:v libx264 -g 60 -preset ultrafast \ -b:v 3M -maxrate 3M -pix_fmt yuv420p -c:a aac -b:a 128k -ar 44100 \ -f flv record_libx264.flv<---- But i need VAAPI for doing the same. I try many variation of code, search solution in the internet, try different linux os and ffmpeg versions, but no success. Always i got error: ---->Impossible to convert between the formats supported by the filter 'Parsed_format_' and the filter 'auto_scaler_' Error reinitializing filters! Failed to inject frame into filter network: Function not implemented<---- I have rx560 video card. ---->ffmpeg -hwaccels ffmpeg version n4.2.3 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 10.1.0 (GCC) configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-version3 libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 Hardware acceleration methods: vdpau cuda vaapi qsv drm qsv cuvid<---- ---->vainfo vainfo: VA-API version: 1.7 (libva 2.7.1) vainfo: Driver version: Mesa Gallium driver 20.0.7 for Radeon RX 560 Series (POLARIS11, DRM 3.36.0, 5.6.15-1-MANJARO, LLVM 10.0.0) vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileHEVCMain : VAEntrypointVLD VAProfileHEVCMain : VAEntrypointEncSlice VAProfileHEVCMain10 : VAEntrypointVLD VAProfileJPEGBaseline : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc<---- How i can fix this problem? From tobiasmueller at mail.de Sat Jun 6 15:36:26 2020 From: tobiasmueller at mail.de (=?UTF-8?Q?Tobias_M=c3=bcller?=) Date: Sat, 6 Jun 2020 14:36:26 +0200 Subject: [FFmpeg-user] Lensfun an v360 Message-ID: Hello, in the version for Windows of ffmpeg offered on https://www.ffmpeg.org/download.html#build-windows the filters lensfun and v360 aren't included. How can these filters be installed? Regards Tobias From barsnick at gmx.net Sat Jun 6 16:08:10 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Sat, 6 Jun 2020 15:08:10 +0200 Subject: [FFmpeg-user] Lensfun an v360 In-Reply-To: References: Message-ID: <20200606130810.GC31716@sunshine.barsnick.net> On Sat, Jun 06, 2020 at 14:36:26 +0200, Tobias Müller wrote: > in the version for Windows of ffmpeg offered on > https://www.ffmpeg.org/download.html#build-windows the filters lensfun > and v360 aren't included. How can these filters be installed? Actually, all that's offered there is a link, which points to Zeranoe's page. Apparently, Zeranoe hasn't included liblensfun in their builds, so the lensfun filter isn't included. You could post a request to Zeranoe, but I can't find contact info. Otherwise, you need to build your own version. (I haven't built for Windows, so don't ask me. ;-)) OTOH, I just downloaded the latest offered version (ffmpeg-20200604-7f81785-win64-static), and v360 *is* included. (Note, please use the git version, not the release version, especially if you are missing recently added features or fixes). Gruß, Moritz From barsnick at gmx.net Sat Jun 6 16:47:02 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Sat, 6 Jun 2020 15:47:02 +0200 Subject: [FFmpeg-user] Lensfun an v360 In-Reply-To: <49b4fdf2-4dfd-1e1b-f7d8-985c396a13c5@mail.de> References: <20200606130810.GC31716@sunshine.barsnick.net> <49b4fdf2-4dfd-1e1b-f7d8-985c396a13c5@mail.de> Message-ID: <20200606134702.GA32213@sunshine.barsnick.net> Moin Tobias, bitte an die Liste anworten, und nicht nur an mich. (Dies geht jetzt wieder an die Liste.) On Sat, Jun 06, 2020 at 15:23:40 +0200, Tobias Müller wrote: > thank you for your kind and fast response. It's appreciated. I am using > the version in the ffmpeg-20200604-7f81785-win64-static.zip. When I look > for v360 in ffmpeg -filters v360 is not there: Interesting, I didn't check that list. I just did $ ffmpeg -h filter=v360 and got a lot of options. When doing $ ffmpeg -h filter=lensfun I got an explicit error message. I now checked the list, and it's there (I don't remember where, it must be in the section with the "->V" filters, but I shut down my Win machine now.) Moritz From tobiasmueller at mail.de Sat Jun 6 16:53:04 2020 From: tobiasmueller at mail.de (=?UTF-8?Q?Tobias_M=c3=bcller?=) Date: Sat, 6 Jun 2020 15:53:04 +0200 Subject: [FFmpeg-user] Lensfun and v360 Message-ID: <0c29f6a4-e458-b6ec-8cb1-66e6f59418d6@mail.de> Hello, in the Windows Version of ffmpeg the filter v360 is apparently missing too: regards, Tobias From onemda at gmail.com Sat Jun 6 16:57:08 2020 From: onemda at gmail.com (Paul B Mahol) Date: Sat, 6 Jun 2020 15:57:08 +0200 Subject: [FFmpeg-user] Lensfun and v360 In-Reply-To: <0c29f6a4-e458-b6ec-8cb1-66e6f59418d6@mail.de> References: <0c29f6a4-e458-b6ec-8cb1-66e6f59418d6@mail.de> Message-ID: On 6/6/20, Tobias Müller wrote: > Hello, > > in the Windows Version of ffmpeg the filter v360 is apparently missing too: > Not correct, stop downloading wrong version for once. > regards, Tobias > > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From kieran.o.leary at gmail.com Sat Jun 6 21:57:39 2020 From: kieran.o.leary at gmail.com (Kieran O Leary) Date: Sat, 6 Jun 2020 19:57:39 +0100 Subject: [FFmpeg-user] libaom - first frame not lossless when > 7 frames in source Message-ID: Hi, I was doing some tests with libaom and lossness encoding and with synthetic files and some real world files, I kept finding that the framemd5s for the first frame was different than the source, but every other libaom encoded frame produced matching framemd5s for source and output. I then tried with smaller frame counts, and with synthetic files, I found that all frames would produce matching framemd5s when there was between 1 and 7 frames in the input. Once you went to 8 frames and above, the first frame would produce a framemd5 mismatch. here's a bunch of commands using ffmpeg git-master and what I assume to be libaom git master, or whatever the Ubuntu ffmpeg compilation wiki is using: 0) framemd5 output of the 8fr source - note the first frame value 1) Make a 8frame v210 via testsrc 2) Turn into av1 with -crf 0 3) get framemd5 of av1 output - note that first framemd5 value is different 4-6 - same as 1 to 3 but with a 7 frame testsrc file Any idea what's happening? Will I get the libx264-style answer: 'this is googles issue, not ffmpeg'0b1ae3e77528dcdacfab21761076d2b0b1ae3e77528dcdacfab21761076d2b /ffmpeg -i 8fr.mkv -f framemd5 - ffmpeg version N-98060-g1c32d7d Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9 (Ubuntu 9.3.0-10ubuntu2) configuration: --prefix=/home/kieranjol/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/kieranjol/ffmpeg_build/include --extra-ldflags=-L/home/kieranjol/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/kieranjol/bin --enable-libaom libavutil 56. 50.100 / 56. 50.100 libavcodec 58. 90.100 / 58. 90.100 libavformat 58. 44.100 / 58. 44.100 libavdevice 58. 9.103 / 58. 9.103 libavfilter 7. 84.100 / 7. 84.100 libswscale 5. 6.101 / 5. 6.101 libswresample 3. 6.100 / 3. 6.100 Input #0, matroska,webm, from '8fr.mkv': Metadata: ENCODER : Lavf58.44.100 Duration: 00:00:00.32, start: 0.000000, bitrate: 43031 kb/s Stream #0:0: Video: v210 (v210 / 0x30313276), yuv422p10le, 320x240, SAR 1:1 DAR 4:3, 25 fps, 25 tbr, 1k tbn, 1k tbc (default) Metadata: ENCODER : Lavc58.90.100 v210 DURATION : 00:00:00.320000000 Stream mapping: Stream #0:0 -> #0:0 (v210 (native) -> rawvideo (native)) Press [q] to stop, [?] for help #format: frame checksums #version: 2 #hash: MD5 #software: Lavf58.44.100 #tb 0: 1/25 #media_type 0: video #codec_id 0: rawvideo #dimensions 0: 320x240 #sar 0: 1/1 #stream#, dts, pts, duration, size, hash Output #0, framemd5, to 'pipe:': Metadata: encoder : Lavf58.44.100 Stream #0:0: Video: rawvideo (Y3[10][10] / 0xA0A3359), yuv422p10le, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 38400 kb/s, 25 fps, 25 tbn, 25 tbc (default) Metadata: DURATION : 00:00:00.320000000 encoder : Lavc58.90.100 rawvideo 0, 0, 0, 1, 307200, 50b1ae3e77528dcdacfab21761076d2b 0, 1, 1, 1, 307200, 8213a857506c099160fffb2f606f3590 0, 2, 2, 1, 307200, a5e0786c6d9d152c45e2d3a0122c8987 0, 3, 3, 1, 307200, fd93af578482e418d1378f6d9cd94f14 0, 4, 4, 1, 307200, abfca35c7aae65d1dcddee1ce370479f 0, 5, 5, 1, 307200, da151dbf22f7e818344d5efd0cbb6f09 0, 6, 6, 1, 307200, b87bdb747fbd80060f71585e7d2c6ac9 0, 7, 7, 1, 307200, af69163b6455654da3a37cf52cfc4525 frame= 8 fps=0.0 q=-0.0 Lsize= 1kB time=00:00:00.32 bitrate= 21.4kbits/s speed=33.1x video:2400kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown ./ffmpeg -f lavfi -i testsrc -c:v v210 -vframes 8 8fr.mkv ffmpeg version N-98060-g1c32d7d Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9 (Ubuntu 9.3.0-10ubuntu2) configuration: --prefix=/home/kieranjol/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/kieranjol/ffmpeg_build/include --extra-ldflags=-L/home/kieranjol/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/kieranjol/bin --enable-libaom libavutil 56. 50.100 / 56. 50.100 libavcodec 58. 90.100 / 58. 90.100 libavformat 58. 44.100 / 58. 44.100 libavdevice 58. 9.103 / 58. 9.103 libavfilter 7. 84.100 / 7. 84.100 libswscale 5. 6.101 / 5. 6.101 libswresample 3. 6.100 / 3. 6.100 Input #0, lavfi, from 'testsrc': Duration: N/A, start: 0.000000, bitrate: N/A Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 320x240 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> v210 (native)) Press [q] to stop, [?] for help Output #0, matroska, to '8fr.mkv': Metadata: encoder : Lavf58.44.100 Stream #0:0: Video: v210 (v210 / 0x30313276), yuv422p, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 40960 kb/s, 25 fps, 1k tbn, 25 tbc Metadata: encoder : Lavc58.90.100 v210 frame= 8 fps=0.0 q=-0.0 Lsize= 1681kB time=00:00:00.28 bitrate=49003.7kbits/s speed=39.4x video:1680kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.054408% kieranjol at POWERVIRUS:~/ffmpeg_sources/ffmpeg$ ./ffmpeg -i 8fr.mkv -c:v av1 -crf 0 8fr_av1.mkv ffmpeg version N-98060-g1c32d7d Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9 (Ubuntu 9.3.0-10ubuntu2) configuration: --prefix=/home/kieranjol/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/kieranjol/ffmpeg_build/include --extra-ldflags=-L/home/kieranjol/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/kieranjol/bin --enable-libaom libavutil 56. 50.100 / 56. 50.100 libavcodec 58. 90.100 / 58. 90.100 libavformat 58. 44.100 / 58. 44.100 libavdevice 58. 9.103 / 58. 9.103 libavfilter 7. 84.100 / 7. 84.100 libswscale 5. 6.101 / 5. 6.101 libswresample 3. 6.100 / 3. 6.100 Input #0, matroska,webm, from '8fr.mkv': Metadata: ENCODER : Lavf58.44.100 Duration: 00:00:00.32, start: 0.000000, bitrate: 43031 kb/s Stream #0:0: Video: v210 (v210 / 0x30313276), yuv422p10le, 320x240, SAR 1:1 DAR 4:3, 25 fps, 25 tbr, 1k tbn, 1k tbc (default) Metadata: ENCODER : Lavc58.90.100 v210 DURATION : 00:00:00.320000000 Stream mapping: Stream #0:0 -> #0:0 (v210 (native) -> av1 (libaom-av1)) Press [q] to stop, [?] for help [libaom-av1 @ 0x5620559e0600] v2.0.0 Output #0, matroska, to '8fr_av1.mkv': Metadata: encoder : Lavf58.44.100 Stream #0:0: Video: av1 (libaom-av1) (AV01 / 0x31305641), yuv422p10le, 320x240 [SAR 1:1 DAR 4:3], q=-1--1, 25 fps, 1k tbn, 25 tbc (default) Metadata: DURATION : 00:00:00.320000000 encoder : Lavc58.90.100 libaom-av1 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A frame= 8 fps=3.7 q=0.0 Lsize= 29kB time=00:00:00.28 bitrate= 837.3kbits/s speed=0.129x video:28kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.188944% kieranjol at POWERVIRUS:~/ffmpeg_sources/ffmpeg$ ./ffmpeg -i 8fr_av1.mkv -f framemd5 - ffmpeg version N-98060-g1c32d7d Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9 (Ubuntu 9.3.0-10ubuntu2) configuration: --prefix=/home/kieranjol/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/kieranjol/ffmpeg_build/include --extra-ldflags=-L/home/kieranjol/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/kieranjol/bin --enable-libaom libavutil 56. 50.100 / 56. 50.100 libavcodec 58. 90.100 / 58. 90.100 libavformat 58. 44.100 / 58. 44.100 libavdevice 58. 9.103 / 58. 9.103 libavfilter 7. 84.100 / 7. 84.100 libswscale 5. 6.101 / 5. 6.101 libswresample 3. 6.100 / 3. 6.100 [libaom-av1 @ 0x558d1646b740] v2.0.0 Input #0, matroska,webm, from '8fr_av1.mkv': Metadata: ENCODER : Lavf58.44.100 Duration: 00:00:00.32, start: 0.000000, bitrate: 735 kb/s Stream #0:0: Video: av1 (Professional), yuv422p10le(tv), 320x240, SAR 1:1 DAR 4:3, 25 fps, 25 tbr, 1k tbn, 1k tbc (default) Metadata: ENCODER : Lavc58.90.100 libaom-av1 DURATION : 00:00:00.320000000 [libaom-av1 @ 0x558d16479800] v2.0.0 Stream mapping: Stream #0:0 -> #0:0 (av1 (libaom-av1) -> rawvideo (native)) Press [q] to stop, [?] for help #format: frame checksums #version: 2 #hash: MD5 #software: Lavf58.44.100 #tb 0: 1/25 #media_type 0: video #codec_id 0: rawvideo #dimensions 0: 320x240 #sar 0: 1/1 #stream#, dts, pts, duration, size, hash Output #0, framemd5, to 'pipe:': Metadata: encoder : Lavf58.44.100 Stream #0:0: Video: rawvideo (Y3[10][10] / 0xA0A3359), yuv422p10le, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 38400 kb/s, 25 fps, 25 tbn, 25 tbc (default) Metadata: DURATION : 00:00:00.320000000 encoder : Lavc58.90.100 rawvideo 0, 0, 0, 1, 307200, e790aa300c6bdd6bad6770c6c6346585 0, 1, 1, 1, 307200, 8213a857506c099160fffb2f606f3590 0, 2, 2, 1, 307200, a5e0786c6d9d152c45e2d3a0122c8987 0, 3, 3, 1, 307200, fd93af578482e418d1378f6d9cd94f14 0, 4, 4, 1, 307200, abfca35c7aae65d1dcddee1ce370479f 0, 5, 5, 1, 307200, da151dbf22f7e818344d5efd0cbb6f09 0, 6, 6, 1, 307200, b87bdb747fbd80060f71585e7d2c6ac9 0, 7, 7, 1, 307200, af69163b6455654da3a37cf52cfc4525 frame= 8 fps=0.0 q=-0.0 Lsize= 1kB time=00:00:00.32 bitrate= 21.4kbits/s speed=15.7x video:2400kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown kieranjol at POWERVIRUS:~/ffmpeg_sources/ffmpeg$ ./ffmpeg -f lavfi -i testsrc -c:v v210 -vframes 7 7fr.mkv ffmpeg version N-98060-g1c32d7d Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9 (Ubuntu 9.3.0-10ubuntu2) configuration: --prefix=/home/kieranjol/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/kieranjol/ffmpeg_build/include --extra-ldflags=-L/home/kieranjol/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/kieranjol/bin --enable-libaom libavutil 56. 50.100 / 56. 50.100 libavcodec 58. 90.100 / 58. 90.100 libavformat 58. 44.100 / 58. 44.100 libavdevice 58. 9.103 / 58. 9.103 libavfilter 7. 84.100 / 7. 84.100 libswscale 5. 6.101 / 5. 6.101 libswresample 3. 6.100 / 3. 6.100 Input #0, lavfi, from 'testsrc': Duration: N/A, start: 0.000000, bitrate: N/A Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 320x240 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> v210 (native)) Press [q] to stop, [?] for help Output #0, matroska, to '7fr.mkv': Metadata: encoder : Lavf58.44.100 Stream #0:0: Video: v210 (v210 / 0x30313276), yuv422p, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 40960 kb/s, 25 fps, 1k tbn, 25 tbc Metadata: encoder : Lavc58.90.100 v210 frame= 7 fps=0.0 q=-0.0 Lsize= 1471kB time=00:00:00.24 bitrate=49997.4kbits/s speed=37.6x video:1470kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.059258% kieranjol at POWERVIRUS:~/ffmpeg_sources/ffmpeg$ ./ffmpeg -i 7fr.mkv -c:v av1 -crf 0 7fr_av1.mkv ffmpeg version N-98060-g1c32d7d Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9 (Ubuntu 9.3.0-10ubuntu2) configuration: --prefix=/home/kieranjol/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/kieranjol/ffmpeg_build/include --extra-ldflags=-L/home/kieranjol/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/kieranjol/bin --enable-libaom libavutil 56. 50.100 / 56. 50.100 libavcodec 58. 90.100 / 58. 90.100 libavformat 58. 44.100 / 58. 44.100 libavdevice 58. 9.103 / 58. 9.103 libavfilter 7. 84.100 / 7. 84.100 libswscale 5. 6.101 / 5. 6.101 libswresample 3. 6.100 / 3. 6.100 Input #0, matroska,webm, from '7fr.mkv': Metadata: ENCODER : Lavf58.44.100 Duration: 00:00:00.28, start: 0.000000, bitrate: 43033 kb/s Stream #0:0: Video: v210 (v210 / 0x30313276), yuv422p10le, 320x240, SAR 1:1 DAR 4:3, 25 fps, 25 tbr, 1k tbn, 1k tbc (default) Metadata: ENCODER : Lavc58.90.100 v210 DURATION : 00:00:00.280000000 Stream mapping: Stream #0:0 -> #0:0 (v210 (native) -> av1 (libaom-av1)) Press [q] to stop, [?] for help [libaom-av1 @ 0x5613e4bb0600] v2.0.0 Output #0, matroska, to '7fr_av1.mkv': Metadata: encoder : Lavf58.44.100 Stream #0:0: Video: av1 (libaom-av1) (AV01 / 0x31305641), yuv422p10le, 320x240 [SAR 1:1 DAR 4:3], q=-1--1, 25 fps, 1k tbn, 25 tbc (default) Metadata: DURATION : 00:00:00.280000000 encoder : Lavc58.90.100 libaom-av1 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A frame= 7 fps=4.2 q=0.0 Lsize= 23kB time=00:00:00.24 bitrate= 793.4kbits/s speed=0.143x video:23kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.685054% kieranjol at POWERVIRUS:~/ffmpeg_sources/ffmpeg$ ./ffmpeg -i 7fr_av1.mkv -f framemd5 - ffmpeg version N-98060-g1c32d7d Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9 (Ubuntu 9.3.0-10ubuntu2) configuration: --prefix=/home/kieranjol/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/kieranjol/ffmpeg_build/include --extra-ldflags=-L/home/kieranjol/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/kieranjol/bin --enable-libaom libavutil 56. 50.100 / 56. 50.100 libavcodec 58. 90.100 / 58. 90.100 libavformat 58. 44.100 / 58. 44.100 libavdevice 58. 9.103 / 58. 9.103 libavfilter 7. 84.100 / 7. 84.100 libswscale 5. 6.101 / 5. 6.101 libswresample 3. 6.100 / 3. 6.100 [libaom-av1 @ 0x5632da787740] v2.0.0 Input #0, matroska,webm, from '7fr_av1.mkv': Metadata: ENCODER : Lavf58.44.100 Duration: 00:00:00.28, start: 0.000000, bitrate: 682 kb/s Stream #0:0: Video: av1 (Professional), yuv422p10le(tv), 320x240, SAR 1:1 DAR 4:3, 25 fps, 25 tbr, 1k tbn, 1k tbc (default) Metadata: ENCODER : Lavc58.90.100 libaom-av1 DURATION : 00:00:00.280000000 [libaom-av1 @ 0x5632da78cf00] v2.0.0 Stream mapping: Stream #0:0 -> #0:0 (av1 (libaom-av1) -> rawvideo (native)) Press [q] to stop, [?] for help #format: frame checksums #version: 2 #hash: MD5 #software: Lavf58.44.100 #tb 0: 1/25 #media_type 0: video #codec_id 0: rawvideo #dimensions 0: 320x240 #sar 0: 1/1 #stream#, dts, pts, duration, size, hash Output #0, framemd5, to 'pipe:': Metadata: encoder : Lavf58.44.100 Stream #0:0: Video: rawvideo (Y3[10][10] / 0xA0A3359), yuv422p10le, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 38400 kb/s, 25 fps, 25 tbn, 25 tbc (default) Metadata: DURATION : 00:00:00.280000000 encoder : Lavc58.90.100 rawvideo 0, 0, 0, 1, 307200, 50b1ae3e77528dcdacfab21761076d2b 0, 1, 1, 1, 307200, 8213a857506c099160fffb2f606f3590 0, 2, 2, 1, 307200, a5e0786c6d9d152c45e2d3a0122c8987 0, 3, 3, 1, 307200, fd93af578482e418d1378f6d9cd94f14 0, 4, 4, 1, 307200, abfca35c7aae65d1dcddee1ce370479f 0, 5, 5, 1, 307200, da151dbf22f7e818344d5efd0cbb6f09 0, 6, 6, 1, 307200, b87bdb747fbd80060f71585e7d2c6ac9 frame= 7 fps=0.0 q=-0.0 Lsize= 1kB time=00:00:00.28 bitrate= 22.1kbits/s speed=15.3x video:2100kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown0b1ae3e77528dcdacfab21761076d2b Best, Kieran O'Leary Irish Film Institute From matthew.reus01 at gmail.com Sun Jun 7 13:08:34 2020 From: matthew.reus01 at gmail.com (Matthew Reus) Date: Sun, 7 Jun 2020 15:53:34 +0545 Subject: [FFmpeg-user] hwaccel pssible nvenc+decklink ?? Message-ID: *ffmpeg -fflags +genpts -vsync 0 -hwaccel_device 1 -hwaccel_output_format cuda -format_code pal -f decklink -i 'DeckLink Quad (4)' -vf "format=yuv420p|cuda,yadif_cuda=0:-1:0,scale_npp=1280:720" -b:v 3M -bf 2 -aspect 16:9 -profile:v main -preset:v medium -c:v h264_nvenc -c:a aac -b:a 128k -ar 44100 -strict -2 -f flv -f flv 'rtmp://admin:admin at 192.168.0.44:1935/nettv/netMOVIESOK1500.stream '* ffmpeg version N-97249-gfc12d6c Copyright (c) 2000-2020 the FFmpeg developers built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04) configuration: --prefix=/root/ffmpeg_build --pkg-config-flags=--static --extra-cflags='-I/root/ffmpeg_build/include -I/root/ffmpeg_sources/BMD_SDK/include' --extra-ldflags=-L/root/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/root/bin --enable-cuda --enable-cuda-nvcc --enable-cuvid --enable-libnpp --extra-cflags=-I../nv_sdk --extra-ldflags=-L../nv_sdk --extra-cflags=-I/usr/local/cuda/include/ --extra-ldflags=-L/usr/local/cuda/lib64/ --enable-decklink --extra-cflags=-I/usr/local/sdk/Linux/include/ --extra-ldflags=-L/usr/local/sdk/Linux/include/ --enable-gpl --enable-libaom --enable-libass --enable-libfdk-aac --enable-vaapi --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree --enable-nvenc libavutil 56. 42.102 / 56. 42.102 libavcodec 58. 78.100 / 58. 78.100 libavformat 58. 42.100 / 58. 42.100 libavdevice 58. 9.103 / 58. 9.103 libavfilter 7. 77.101 / 7. 77.101 libswscale 5. 6.101 / 5. 6.101 libswresample 3. 6.100 / 3. 6.100 libpostproc 55. 6.100 / 55. 6.100 [decklink @ 0x556bb09229c0] Found Decklink mode 720 x 576 with rate 25.00(i) [decklink @ 0x556bb09229c0] Frame received (#1) - No input signal detected - Frames dropped 1 Guessed Channel Layout for Input Stream #0.0 : stereo Input #0, decklink, from 'DeckLink Quad (4)': Duration: N/A, start: 0.000000, bitrate: 167424 kb/s Stream #0:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s Stream #0:1: Video: rawvideo (UYVY / 0x59565955), uyvy422(top first), 720x576, 165888 kb/s, 25 fps, 25 tbr, 1000k tbn, 1000k tbc [rtmp @ 0x556bb0964a00] Ignoring unsupported var reason Stream mapping: Stream #0:1 -> #0:0 (rawvideo (native) -> h264 (h264_nvenc)) Stream #0:0 -> #0:1 (pcm_s16le (native) -> aac (native)) Press [q] to stop, [?] for help Impossible to convert between the formats supported by the filter 'Parsed_format_0' and the filter 'auto_scaler_1' Error reinitializing filters! Failed to inject frame into filter network: Function not implemented Error while processing the decoded data for stream #0:1 Conversion failed! From pdr0 at shaw.ca Sun Jun 7 19:55:57 2020 From: pdr0 at shaw.ca (pdr0) Date: Sun, 7 Jun 2020 11:55:57 -0500 (CDT) Subject: [FFmpeg-user] libaom - first frame not lossless when > 7 frames in source In-Reply-To: References: Message-ID: <1591548957282-0.post@n4.nabble.com> Kieran O Leary wrote > Any idea what's happening? Will I get the libx264-style answer: 'this is > googles issue, I can replicate the ffmpeg issue (and with other sources), but I don't know what the problem is It's not a "google" issue, because AOM aomenc.exe works, and produces lossless output correctly -- Sent from: http://www.ffmpeg-archive.org/ From kieran.o.leary at gmail.com Sun Jun 7 20:16:20 2020 From: kieran.o.leary at gmail.com (Kieran O Leary) Date: Sun, 7 Jun 2020 18:16:20 +0100 Subject: [FFmpeg-user] libaom - first frame not lossless when > 7 frames in source In-Reply-To: <1591548957282-0.post@n4.nabble.com> References: <1591548957282-0.post@n4.nabble.com> Message-ID: Hi On Sun 7 Jun 2020, 17:56 pdr0, wrote: > Kieran O Leary wrote > > Any idea what's happening? Will I get the libx264-style answer: 'this is > > googles issue, > > I can replicate the ffmpeg issue (and with other sources), but I don't know > what the problem is > > It's not a "google" issue, because AOM aomenc.exe works, and produces > lossless output correctly > This is great to know! I wonder if the number 8 is significant here? K From ceffmpeg at gmail.com Sun Jun 7 23:13:23 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Sun, 7 Jun 2020 22:13:23 +0200 Subject: [FFmpeg-user] libaom - first frame not lossless when > 7 frames in source In-Reply-To: References: <1591548957282-0.post@n4.nabble.com> Message-ID: Am So., 7. Juni 2020 um 19:16 Uhr schrieb Kieran O Leary : > On Sun 7 Jun 2020, 17:56 pdr0, wrote: > > > Kieran O Leary wrote > > > Any idea what's happening? Will I get the libx264-style answer: 'this is > > > googles issue, > > > > I can replicate the ffmpeg issue (and with other sources), but I don't know > > what the problem is > > > > It's not a "google" issue, because AOM aomenc.exe works, and produces > > lossless output correctly > > > > This is great to know! I wonder if the number 8 is significant here? Could it be the number of cores in your system / is the issue reproducible with -threads 1 ? Carl Eugen From pdr0 at shaw.ca Sun Jun 7 23:50:50 2020 From: pdr0 at shaw.ca (pdr0) Date: Sun, 7 Jun 2020 15:50:50 -0500 (CDT) Subject: [FFmpeg-user] libaom - first frame not lossless when > 7 frames in source In-Reply-To: References: <1591548957282-0.post@n4.nabble.com> Message-ID: <1591563050643-0.post@n4.nabble.com> Carl Eugen Hoyos-2 wrote > Could it be the number of cores in your system / is the issue reproducible > with -threads 1 ? Issue is still present with -threads 1 Does not appear to be related to pixel format (eg. affects yuv420p source test as well) -- Sent from: http://www.ffmpeg-archive.org/ From kieran.o.leary at gmail.com Sun Jun 7 23:40:12 2020 From: kieran.o.leary at gmail.com (Kieran O Leary) Date: Sun, 7 Jun 2020 21:40:12 +0100 Subject: [FFmpeg-user] libaom - first frame not lossless when > 7 frames in source In-Reply-To: References: <1591548957282-0.post@n4.nabble.com> Message-ID: Hi Carl, On Sun, Jun 7, 2020 at 9:18 PM Carl Eugen Hoyos wrote: > Am So., 7. Juni 2020 um 19:16 Uhr schrieb Kieran O Leary > : > > > On Sun 7 Jun 2020, 17:56 pdr0, wrote: > > > > > Kieran O Leary wrote > > > > Any idea what's happening? Will I get the libx264-style answer: > 'this is > > > > googles issue, > > > > > > I can replicate the ffmpeg issue (and with other sources), but I don't > know > > > what the problem is > > > > > > It's not a "google" issue, because AOM aomenc.exe works, and produces > > > lossless output correctly > > > > > > > This is great to know! I wonder if the number 8 is significant here? > > Could it be the number of cores in your system / is the issue reproducible > with -threads 1 ? > I'm on a 4 core i5, and -threads 1 didn't have any difference - first frame has different framemd5s to the source: $ ./ffmpeg -threads 1 -i ~/source.mkv -c:v av1 -crf 0 av1.mkv ffmpeg version N-98060-g1c32d7d Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9 (Ubuntu 9.3.0-10ubuntu2) configuration: --prefix=/home/kieranjol/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/kieranjol/ffmpeg_build/include --extra-ldflags=-L/home/kieranjol/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/kieranjol/bin --enable-libaom libavutil 56. 50.100 / 56. 50.100 libavcodec 58. 90.100 / 58. 90.100 libavformat 58. 44.100 / 58. 44.100 libavdevice 58. 9.103 / 58. 9.103 libavfilter 7. 84.100 / 7. 84.100 libswscale 5. 6.101 / 5. 6.101 libswresample 3. 6.100 / 3. 6.100 Input #0, matroska,webm, from '/home/kieranjol/source.mkv': Metadata: ENCODER : Lavf58.29.100 Duration: 00:00:01.00, start: 0.000000, bitrate: 43022 kb/s Stream #0:0: Video: v210 (v210 / 0x30313276), yuv422p10le, 320x240, SAR 1:1 DAR 4:3, 25 fps, 25 tbr, 1k tbn, 1k tbc (default) Metadata: ENCODER : Lavc58.54.100 v210 DURATION : 00:00:01.000000000 File 'av1.mkv' already exists. Overwrite? [y/N] y Stream mapping: Stream #0:0 -> #0:0 (v210 (native) -> av1 (libaom-av1)) Press [q] to stop, [?] for help [libaom-av1 @ 0x563f62937900] v2.0.0 Output #0, matroska, to 'av1.mkv': Metadata: encoder : Lavf58.44.100 Stream #0:0: Video: av1 (libaom-av1) (AV01 / 0x31305641), yuv422p10le, 320x240 [SAR 1:1 DAR 4:3], q=-1--1, 25 fps, 1k tbn, 25 tbc (default) Metadata: DURATION : 00:00:01.000000000 encoder : Lavc58.90.100 libaom-av1 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A frame= 20 fps= 11 q=0.0 size= 1kB time=00:00:00.04 bitrate= 106.7kbits/sframe= 21 fps=6.9 q=0.0 size= 1kB time=00:00:00.08 bitrate= 54.0kbits/sframe= 25 fps=4.8 q=0.0 Lsize= 68kB time=00:00:00.96 bitrate= 579.1kbits/s speed=0.185x video:67kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.026751% kieranjol at POWERVIRUS:~/ffmpeg_sources/ffmpeg$ ./ffmpeg -threads 1 -i av1.mkv -f framemd5 - ffmpeg version N-98060-g1c32d7d Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9 (Ubuntu 9.3.0-10ubuntu2) configuration: --prefix=/home/kieranjol/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/kieranjol/ffmpeg_build/include --extra-ldflags=-L/home/kieranjol/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/kieranjol/bin --enable-libaom libavutil 56. 50.100 / 56. 50.100 libavcodec 58. 90.100 / 58. 90.100 libavformat 58. 44.100 / 58. 44.100 libavdevice 58. 9.103 / 58. 9.103 libavfilter 7. 84.100 / 7. 84.100 libswscale 5. 6.101 / 5. 6.101 libswresample 3. 6.100 / 3. 6.100 [libaom-av1 @ 0x55f041f33880] v2.0.0 Input #0, matroska,webm, from 'av1.mkv': Metadata: ENCODER : Lavf58.44.100 Duration: 00:00:01.00, start: 0.000000, bitrate: 556 kb/s Stream #0:0: Video: av1 (Professional), yuv422p10le(tv), 320x240, SAR 1:1 DAR 4:3, 25 fps, 25 tbr, 1k tbn, 1k tbc (default) Metadata: ENCODER : Lavc58.90.100 libaom-av1 DURATION : 00:00:01.000000000 [libaom-av1 @ 0x55f041f41800] v2.0.0 Stream mapping: Stream #0:0 -> #0:0 (av1 (libaom-av1) -> rawvideo (native)) Press [q] to stop, [?] for help #format: frame checksums #version: 2 #hash: MD5 #software: Lavf58.44.100 #tb 0: 1/25 #media_type 0: video #codec_id 0: rawvideo #dimensions 0: 320x240 #sar 0: 1/1 #stream#, dts, pts, duration, size, hash Output #0, framemd5, to 'pipe:': Metadata: encoder : Lavf58.44.100 Stream #0:0: Video: rawvideo (Y3[10][10] / 0xA0A3359), yuv422p10le, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 38400 kb/s, 25 fps, 25 tbn, 25 tbc (default) Metadata: DURATION : 00:00:01.000000000 encoder : Lavc58.90.100 rawvideo 0, 0, 0, 1, 307200, 82afca7a233d492b3be65f53e97883e0 0, 1, 1, 1, 307200, 8213a857506c099160fffb2f606f3590 0, 2, 2, 1, 307200, a5e0786c6d9d152c45e2d3a0122c8987 0, 3, 3, 1, 307200, fd93af578482e418d1378f6d9cd94f14 0, 4, 4, 1, 307200, abfca35c7aae65d1dcddee1ce370479f 0, 5, 5, 1, 307200, da151dbf22f7e818344d5efd0cbb6f09 0, 6, 6, 1, 307200, b87bdb747fbd80060f71585e7d2c6ac9 0, 7, 7, 1, 307200, af69163b6455654da3a37cf52cfc4525 0, 8, 8, 1, 307200, 225de193e5b5ec040a9235925930c46f 0, 9, 9, 1, 307200, ffb4c4e89b75ee7827174e987f2946c1 0, 10, 10, 1, 307200, c67474cd82705297972f5c5dd65b2fae 0, 11, 11, 1, 307200, 5c91788ba1a33d7bc72bb99ed4735d6b 0, 12, 12, 1, 307200, f70242a7669a341eba1c8533c2effb5d 0, 13, 13, 1, 307200, f4f3986c0da88c79029a0b56fae44c13 0, 14, 14, 1, 307200, 148a1d9315ba26279468d751071d77c5 0, 15, 15, 1, 307200, dc769b7646ccdbe9be65907fa07d8361 0, 16, 16, 1, 307200, 3220d8e0ee315f1fa9d42342c017633e 0, 17, 17, 1, 307200, 0e3098acfc766782281803ebbf43f652 0, 18, 18, 1, 307200, 684187bea28e1c421a065ab43b3123a2 0, 19, 19, 1, 307200, 62fd594635032e3a2e647080c7a7fd79 0, 20, 20, 1, 307200, cef51191abcf6f4c2c65075b64ce1f6a 0, 21, 21, 1, 307200, 2caacdb443308ef0f7ec50ce68eb0ac9 0, 22, 22, 1, 307200, 66848e5471a7de208cb55b3c67d89f30 0, 23, 23, 1, 307200, 591d95e8aec0a04bdc7fec9b7c156a39 0, 24, 24, 1, 307200, 99121e7918d0e7bd46727b42e73ce3f2 frame= 25 fps=0.0 q=-0.0 Lsize= 2kB time=00:00:01.00 bitrate= 17.7kbits/s speed=20.2x video:7500kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown Best, Kieran From pdr0 at shaw.ca Mon Jun 8 00:05:49 2020 From: pdr0 at shaw.ca (pdr0) Date: Sun, 7 Jun 2020 16:05:49 -0500 (CDT) Subject: [FFmpeg-user] libaom - first frame not lossless when > 7 frames in source In-Reply-To: <1591563050643-0.post@n4.nabble.com> References: <1591548957282-0.post@n4.nabble.com> <1591563050643-0.post@n4.nabble.com> Message-ID: <1591563949581-0.post@n4.nabble.com> Intra only compression , using -g 1 makes it lossless . Maybe a clue there Not sure why there is a discrepancy between aomenc, and ffmpeg libaom-av1 -- Sent from: http://www.ffmpeg-archive.org/ From kieran.o.leary at gmail.com Mon Jun 8 00:08:36 2020 From: kieran.o.leary at gmail.com (Kieran O Leary) Date: Sun, 7 Jun 2020 22:08:36 +0100 Subject: [FFmpeg-user] libaom - first frame not lossless when > 7 frames in source In-Reply-To: <1591563949581-0.post@n4.nabble.com> References: <1591548957282-0.post@n4.nabble.com> <1591563050643-0.post@n4.nabble.com> <1591563949581-0.post@n4.nabble.com> Message-ID: On Sun, Jun 7, 2020 at 10:06 PM pdr0 wrote: > Intra only compression , using -g 1 makes it lossless . Maybe a clue there > Aye - I can confirm that -g 1 produces matching framemd5s. K From kumowoon1025 at gmail.com Mon Jun 8 00:38:09 2020 From: kumowoon1025 at gmail.com (Ted Park) Date: Sun, 7 Jun 2020 17:38:09 -0400 Subject: [FFmpeg-user] Cant find proper code for using complex filter and overlay with VAAPI In-Reply-To: References: Message-ID: Hi there, > Always i got error: > ---->Impossible to convert between the formats supported by the filter > 'Parsed_format_' and the filter 'auto_scaler_' Error reinitializing > filters! Failed to inject frame into filter network: Function not > implemented There is an automatic format conversion being attempted that is not happening. What is the input format of x11grab? The command is too complicated right now to investigate efficiently. Can you try a simple screen capture and single overlay with increased verbosity (-loglevel debug)? Regards, Ted Park From jhawk at alum.mit.edu Mon Jun 8 02:26:26 2020 From: jhawk at alum.mit.edu (John Hawkinson) Date: Sun, 7 Jun 2020 19:26:26 -0400 Subject: [FFmpeg-user] Slow seeking for GB-scale MOVs? Message-ID: <20200607232626.GA74974@alum.mit.edu> When I try to seek within a 5 GB MOV file (24 hours 12 minutes of video; someone screwed up) over http, it seems that ffmpeg downloads a lot more data than is necessary, and so is fairly slow to start (delay of minutes on a medium-speed network connection), seemingly unnecessarily so. In particular, it seems that in the search for the moov atom, it may end up downloading the final 69 MB of the file, and that takes quite a while. (I'm not quite sure of this -- the http traces from libavformat appear to indicate the start of HTTP byte-range queries, but don't indicate the end of such a transfer. For instance, iniially there is a GET for "Range: bytes=0-" and shortly thereafter there is a GET for "Range: bytes=6050885555-" and it's clear that the first could not have downloaded the entire 5 GB file before turning to the second. So maybe I am missing when http transfer stops and maybe that matters here.) I spent a while staring at libavformat/mov.c and I wasn't able to discern exactly how/when it decides to do this seeking, although empirically it would appear that the offset it begins to retrieve is a function of the 'sz' reported in the 'mdat' trace line, and it finds the 'moov' atom quite quickly. Yet there is long delay (again, a minute-ish, depending on connection speed) before any playback starts. There are a few stages along the way, with a lot of AvIndex output about halfway before playback begins, but that don't seem correlated with http GETs. My example is trying to seek 30 minutes into http://mediadownload.iqm2.com/CambridgeMA/2288.mpeg4 , the 5 GB video. So, for instance: bash$ ffplay -ss 30:00 -loglevel trace http://mediadownload.iqm2.com/CambridgeMA/2288.mpeg4 ... 2020-06-07 18:56:30.112945500 nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0 2020-06-07 18:56:30.112945500 Probing mov,mp4,m4a,3gp,3g2,mj2 score:100 size:2048 2020-06-07 18:56:30.127791500 Probing mp3 score:1 size:2048 2020-06-07 18:56:30.129018500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100 2020-06-07 18:56:30.129069500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'ftyp' parent:'root' sz: 32 8 6124146041 2020-06-07 18:56:30.129287500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] ISO: File Type Major Brand: isom 2020-06-07 18:56:30.129304500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'mdat' parent:'root' sz: 6050885515 48 6124146041 ... 2020-06-07 18:56:30.172001500 [http @ 0x7f9252c2e700] request: GET /CambridgeMA/2288.mpeg4 HTTP/1.1 2020-06-07 18:56:30.172002500 User-Agent: Lavf/58.29.100 2020-06-07 18:56:30.172002500 Accept: */* 2020-06-07 18:56:30.172002500 Range: bytes=6050885555- 2020-06-07 18:56:30.172003500 Connection: close 2020-06-07 18:56:30.172003500 Host: mediadownload.iqm2.com 2020-06-07 18:56:30.172003500 Icy-MetaData: 1 2020-06-07 18:56:30.172003500 2020-06-07 18:56:30.172004500 2020-06-07 18:56:30.177046500 nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0 2020-06-07 18:56:30.177046500 [http @ 0x7f9252c2e700] header='HTTP/1.1 206 Partial Content' 2020-06-07 18:56:30.195744500 [http @ 0x7f9252c2e700] http_code=206 2020-06-07 18:56:30.195745500 [http @ 0x7f9252c2e700] header='Server: Apache' 2020-06-07 18:56:30.195765500 [http @ 0x7f9252c2e700] header='Accept-Ranges: bytes' 2020-06-07 18:56:30.195766500 [http @ 0x7f9252c2e700] header='Content-Disposition: attachment' 2020-06-07 18:56:30.195766500 [http @ 0x7f9252c2e700] header='Content-Type: application/octet-stream' 2020-06-07 18:56:30.195767500 [http @ 0x7f9252c2e700] header='Content-Range: bytes 6050885555-6124146040/6124146041' 2020-06-07 18:56:30.195768500 [http @ 0x7f9252c2e700] header='Age: 35458' 2020-06-07 18:56:30.195773500 [http @ 0x7f9252c2e700] header='Date: Sun, 07 Jun 2020 22:56:30 GMT' 2020-06-07 18:56:30.195774500 [http @ 0x7f9252c2e700] header='Last-Modified: Wed, 03 Jun 2020 15:15:47 GMT' 2020-06-07 18:56:30.195779500 [http @ 0x7f9252c2e700] header='X-LLID: 0194500ec1fe9a05fa8c3f10d9a198d9' 2020-06-07 18:56:30.195784500 [http @ 0x7f9252c2e700] header='Content-Length: 73260486' 2020-06-07 18:56:30.195788500 [http @ 0x7f9252c2e700] header='Connection: close' 2020-06-07 18:56:30.195792500 [http @ 0x7f9252c2e700] header='' 2020-06-07 18:56:30.201315500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'moov' parent:'root' sz: 73260486 6050885563 6124146041 2020-06-07 18:56:30.201338500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'mvhd' parent:'moov' sz: 108 8 73260478 2020-06-07 18:56:30.201339500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] time scale = 1000 2020-06-07 18:56:30.201369500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'trak' parent:'moov' sz: 46942399 116 73260478 2020-06-07 18:56:30.201475500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'tkhd' parent:'trak' sz: 92 8 46942391 2020-06-07 18:56:30.201487500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'edts' parent:'trak' sz: 36 100 46942391 2020-06-07 18:56:30.201492500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'elst' parent:'edts' sz: 28 8 28 2020-06-07 18:56:30.201519500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] track[0].edit_count = 1 2020-06-07 18:56:30.201520500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] duration=87144443 time=1024 rate=1.000000 2020-06-07 18:56:30.201520500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'mdia' parent:'trak' sz: 46942263 136 46942391 2020-06-07 18:56:30.201526500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'mdhd' parent:'mdia' sz: 44 8 46942255 2020-06-07 18:56:30.201549500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'hdlr' parent:'mdia' sz: 45 52 46942255 2020-06-07 18:56:30.201550500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] ctype=[0][0][0][0] 2020-06-07 18:56:30.201550500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] stype=soun 2020-06-07 18:56:30.201557500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'minf' parent:'mdia' sz: 46942166 97 46942255 2020-06-07 18:56:30.201571500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'smhd' parent:'minf' sz: 16 8 46942158 2020-06-07 18:56:30.201579500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'dinf' parent:'minf' sz: 36 24 46942158 2020-06-07 18:56:30.201584500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'dref' parent:'dinf' sz: 28 8 28 2020-06-07 18:56:30.201593500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] Unknown dref type 0x206c7275 size 12 2020-06-07 18:56:30.201598500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'stbl' parent:'minf' sz: 46942106 60 46942158 2020-06-07 18:56:30.201606500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'stsd' parent:'stbl' sz: 106 8 46942098 2020-06-07 18:56:30.201629500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] size=90 4CC=mp4a codec_type=1 2020-06-07 18:56:30.201638500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] audio channels 2 2020-06-07 18:56:30.201639500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] version =0, isom =1 2020-06-07 18:56:30.201647500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'esds' parent:'stsd' sz: 54 8 54 2020-06-07 18:56:30.201659500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] MPEG-4 description: tag=0x03 len=37 2020-06-07 18:56:30.201665500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] MPEG-4 description: tag=0x04 len=23 2020-06-07 18:56:30.201670500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] esds object type id 0x40 2020-06-07 18:56:30.201675500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] MPEG-4 description: tag=0x05 len=5 2020-06-07 18:56:30.201680500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] Specific MPEG-4 header len=5 2020-06-07 18:56:30.201697500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] mp4a config channels 2 obj 2 ext obj 5 sample rate 44100 ext sample rate 0 2020-06-07 18:56:30.201708500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'stts' parent:'stbl' sz: 24 114 46942098 2020-06-07 18:56:30.201713500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] track[0].stts.entries = 1 2020-06-07 18:56:30.201718500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] sample_count=3752999, sample_duration=1024 2020-06-07 18:56:30.201727500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'stsc' parent:'stbl' sz: 14501248 138 46942098 2020-06-07 18:56:30.201732500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] track[0].stsc.entries = 1208436 2020-06-07 18:56:30.209085500 nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0 ... 2020-06-07 18:58:00.634529500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] AVIndex stream 0, sample 0, offset 30, dts 0, size 145, distance 0, keyframe 1 2020-06-07 18:58:00.634529500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] AVIndex stream 0, sample 1, offset c1, dts 1024, size 129, distance 0, keyframe 1 2020-06-07 18:58:00.634530500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] AVIndex stream 0, sample 2, offset 5735, dts 2048, size 142, distance 0, keyframe 1 ... 2020-06-07 18:59:47.780440500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] AVIndex stream 1, sample 2178584, offset 168a90a60, dts 7842902400, size 964, distance 34, keyframe 0 That is, we began at 18:56:30, a lot of these nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0 liens ntil 18:58:00, then many many [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7ffb46000000] AVIndex stream 0, sample 0, offset 30, dts 0, size 145, distance 0, keyframe 1 lines until 18:59:47, and then playback begins within a second. At that point thhere are some more http queries, including starting at byte 48 at 18:59:48, and then byte 126003831 within the same second. The complete uncut output at the defaul loglevel is uninteresting. The above is excerpted from loglevel trace, which gives nearly 1 GB of output and is probably not helpful here in the entirety. A lightly edited version and prematurely truncated version of the trace output follows, with prefixed timestamps (via tai64n/tai64nlocal). Anyhow, is there a way to reduce how much ffmpeg downloads when it goes for the moov atom, and am I correct in thinking that that is the issue here? Thanks. p.s.: I'm not 100% sure this HTTP resource cited above will persist. It's possible someone may decide to correct the errantly recorded 24+ hours of video (it should have been only 9) and so the problem may go away or shift. -- jhawk at alum.mit.edu John Hawkinson 2020-06-07 18:56:29.836799500 ffplay version 4.2.2 Copyright (c) 2003-2019 the FFmpeg developers 2020-06-07 18:56:29.836800500 built with Apple LLVM version 9.0.0 (clang-900.0.39.2) 2020-06-07 18:56:29.836801500 configuration: --prefix=/usr/local/Cellar/ffmpeg/4.2.2 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/include/darwin' --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable-indev=jack --enable-libzvbi 2020-06-07 18:56:29.836855500 libavutil 56. 31.100 / 56. 31.100 2020-06-07 18:56:29.836855500 libavcodec 58. 54.100 / 58. 54.100 2020-06-07 18:56:29.836856500 libavformat 58. 29.100 / 58. 29.100 2020-06-07 18:56:29.836856500 libavdevice 58. 8.100 / 58. 8.100 2020-06-07 18:56:29.836856500 libavfilter 7. 57.100 / 7. 57.100 2020-06-07 18:56:29.836863500 libavresample 4. 0. 0 / 4. 0. 0 2020-06-07 18:56:29.836864500 libswscale 5. 5.100 / 5. 5.100 2020-06-07 18:56:29.836869500 libswresample 3. 5.100 / 3. 5.100 2020-06-07 18:56:29.836874500 libpostproc 55. 5.100 / 55. 5.100 2020-06-07 18:56:29.987504500 Initialized metal renderer. 2020-06-07 18:56:29.996615500 [NULL @ 0x7f9253000600] Opening 'http://mediadownload.iqm2.com/CambridgeMA/2288.mpeg4' for reading 2020-06-07 18:56:29.996616500 [http @ 0x7f9252c2e700] Setting default whitelist 'http,https,tls,rtp,tcp,udp,crypto,httpproxy' 2020-06-07 18:56:30.057426500 [tcp @ 0x7f9252f34d40] Original list of addresses: 2020-06-07 18:56:30.057448500 [tcp @ 0x7f9252f34d40] Address 69.164.46.0 port 80 2020-06-07 18:56:30.057457500 [tcp @ 0x7f9252f34d40] Address 69.164.46.128 port 80 2020-06-07 18:56:30.057462500 [tcp @ 0x7f9252f34d40] Interleaved list of addresses: 2020-06-07 18:56:30.057472500 [tcp @ 0x7f9252f34d40] Address 69.164.46.0 port 80 2020-06-07 18:56:30.057476500 [tcp @ 0x7f9252f34d40] Address 69.164.46.128 port 80 2020-06-07 18:56:30.057485500 [tcp @ 0x7f9252f34d40] Starting connection attempt to 69.164.46.0 port 80 2020-06-07 18:56:30.082411500 [tcp @ 0x7f9252f34d40] Successfully connected to 69.164.46.0 port 80 2020-06-07 18:56:30.082499500 [http @ 0x7f9252c2e700] request: GET /CambridgeMA/2288.mpeg4 HTTP/1.1 2020-06-07 18:56:30.082499500 User-Agent: Lavf/58.29.100 2020-06-07 18:56:30.082500500 Accept: */* 2020-06-07 18:56:30.082500500 Range: bytes=0- 2020-06-07 18:56:30.082500500 Connection: close 2020-06-07 18:56:30.082501500 Host: mediadownload.iqm2.com 2020-06-07 18:56:30.082501500 Icy-MetaData: 1 2020-06-07 18:56:30.082501500 2020-06-07 18:56:30.082501500 2020-06-07 18:56:30.108572500 [http @ 0x7f9252c2e700] header='HTTP/1.1 206 Partial Content' 2020-06-07 18:56:30.108587500 [http @ 0x7f9252c2e700] http_code=206 2020-06-07 18:56:30.108591500 [http @ 0x7f9252c2e700] header='Server: Apache' 2020-06-07 18:56:30.108594500 [http @ 0x7f9252c2e700] header='Accept-Ranges: bytes' 2020-06-07 18:56:30.108598500 [http @ 0x7f9252c2e700] header='Content-Disposition: attachment' 2020-06-07 18:56:30.108601500 [http @ 0x7f9252c2e700] header='Content-Type: application/octet-stream' 2020-06-07 18:56:30.108605500 [http @ 0x7f9252c2e700] header='Age: 35458' 2020-06-07 18:56:30.108608500 [http @ 0x7f9252c2e700] header='Date: Sun, 07 Jun 2020 22:56:30 GMT' 2020-06-07 18:56:30.108612500 [http @ 0x7f9252c2e700] header='Last-Modified: Wed, 03 Jun 2020 15:15:47 GMT' 2020-06-07 18:56:30.108615500 [http @ 0x7f9252c2e700] header='Content-Range: bytes 0-6124146040/6124146041' 2020-06-07 18:56:30.108624500 [http @ 0x7f9252c2e700] header='X-LLID: fe2d4871173adb88805ac55d4a741bb8' 2020-06-07 18:56:30.108624500 [http @ 0x7f9252c2e700] header='Content-Length: 6124146041' 2020-06-07 18:56:30.108643500 [http @ 0x7f9252c2e700] header='Connection: close' 2020-06-07 18:56:30.108644500 [http @ 0x7f9252c2e700] header='' 2020-06-07 18:56:30.112945500 nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0 Probing mov,mp4,m4a,3gp,3g2,mj2 score:100 size:2048 2020-06-07 18:56:30.127791500 Probing mp3 score:1 size:2048 2020-06-07 18:56:30.129018500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100 2020-06-07 18:56:30.129069500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'ftyp' parent:'root' sz: 32 8 6124146041 2020-06-07 18:56:30.129287500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] ISO: File Type Major Brand: isom 2020-06-07 18:56:30.129304500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'mdat' parent:'root' sz: 6050885515 48 6124146041 2020-06-07 18:56:30.130446500 [tcp @ 0x7f9252e321c0] Original list of addresses: 2020-06-07 18:56:30.130461500 [tcp @ 0x7f9252e321c0] Address 69.164.46.0 port 80 2020-06-07 18:56:30.130462500 [tcp @ 0x7f9252e321c0] Address 69.164.46.128 port 80 2020-06-07 18:56:30.130462500 [tcp @ 0x7f9252e321c0] Interleaved list of addresses: 2020-06-07 18:56:30.130468500 [tcp @ 0x7f9252e321c0] Address 69.164.46.0 port 80 2020-06-07 18:56:30.130476500 [tcp @ 0x7f9252e321c0] Address 69.164.46.128 port 80 2020-06-07 18:56:30.130481500 [tcp @ 0x7f9252e321c0] Starting connection attempt to 69.164.46.0 port 80 2020-06-07 18:56:30.145192500 nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0 [tcp @ 0x7f9252e321c0] Successfully connected to 69.164.46.0 port 80 2020-06-07 18:56:30.172001500 [http @ 0x7f9252c2e700] request: GET /CambridgeMA/2288.mpeg4 HTTP/1.1 2020-06-07 18:56:30.172002500 User-Agent: Lavf/58.29.100 2020-06-07 18:56:30.172002500 Accept: */* 2020-06-07 18:56:30.172002500 Range: bytes=6050885555- 2020-06-07 18:56:30.172003500 Connection: close 2020-06-07 18:56:30.172003500 Host: mediadownload.iqm2.com 2020-06-07 18:56:30.172003500 Icy-MetaData: 1 2020-06-07 18:56:30.172003500 2020-06-07 18:56:30.172004500 2020-06-07 18:56:30.177046500 nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0 [http @ 0x7f9252c2e700] header='HTTP/1.1 206 Partial Content' 2020-06-07 18:56:30.195744500 [http @ 0x7f9252c2e700] http_code=206 2020-06-07 18:56:30.195745500 [http @ 0x7f9252c2e700] header='Server: Apache' 2020-06-07 18:56:30.195765500 [http @ 0x7f9252c2e700] header='Accept-Ranges: bytes' 2020-06-07 18:56:30.195766500 [http @ 0x7f9252c2e700] header='Content-Disposition: attachment' 2020-06-07 18:56:30.195766500 [http @ 0x7f9252c2e700] header='Content-Type: application/octet-stream' 2020-06-07 18:56:30.195767500 [http @ 0x7f9252c2e700] header='Content-Range: bytes 6050885555-6124146040/6124146041' 2020-06-07 18:56:30.195768500 [http @ 0x7f9252c2e700] header='Age: 35458' 2020-06-07 18:56:30.195773500 [http @ 0x7f9252c2e700] header='Date: Sun, 07 Jun 2020 22:56:30 GMT' 2020-06-07 18:56:30.195774500 [http @ 0x7f9252c2e700] header='Last-Modified: Wed, 03 Jun 2020 15:15:47 GMT' 2020-06-07 18:56:30.195779500 [http @ 0x7f9252c2e700] header='X-LLID: 0194500ec1fe9a05fa8c3f10d9a198d9' 2020-06-07 18:56:30.195784500 [http @ 0x7f9252c2e700] header='Content-Length: 73260486' 2020-06-07 18:56:30.195788500 [http @ 0x7f9252c2e700] header='Connection: close' 2020-06-07 18:56:30.195792500 [http @ 0x7f9252c2e700] header='' 2020-06-07 18:56:30.201315500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'moov' parent:'root' sz: 73260486 6050885563 6124146041 2020-06-07 18:56:30.201338500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'mvhd' parent:'moov' sz: 108 8 73260478 2020-06-07 18:56:30.201339500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] time scale = 1000 2020-06-07 18:56:30.201369500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'trak' parent:'moov' sz: 46942399 116 73260478 2020-06-07 18:56:30.201475500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'tkhd' parent:'trak' sz: 92 8 46942391 2020-06-07 18:56:30.201487500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'edts' parent:'trak' sz: 36 100 46942391 2020-06-07 18:56:30.201492500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'elst' parent:'edts' sz: 28 8 28 2020-06-07 18:56:30.201519500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] track[0].edit_count = 1 2020-06-07 18:56:30.201520500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] duration=87144443 time=1024 rate=1.000000 2020-06-07 18:56:30.201520500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'mdia' parent:'trak' sz: 46942263 136 46942391 2020-06-07 18:56:30.201526500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'mdhd' parent:'mdia' sz: 44 8 46942255 2020-06-07 18:56:30.201549500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'hdlr' parent:'mdia' sz: 45 52 46942255 2020-06-07 18:56:30.201550500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] ctype=[0][0][0][0] 2020-06-07 18:56:30.201550500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] stype=soun 2020-06-07 18:56:30.201557500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'minf' parent:'mdia' sz: 46942166 97 46942255 2020-06-07 18:56:30.201571500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'smhd' parent:'minf' sz: 16 8 46942158 2020-06-07 18:56:30.201579500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'dinf' parent:'minf' sz: 36 24 46942158 2020-06-07 18:56:30.201584500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'dref' parent:'dinf' sz: 28 8 28 2020-06-07 18:56:30.201593500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] Unknown dref type 0x206c7275 size 12 2020-06-07 18:56:30.201598500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'stbl' parent:'minf' sz: 46942106 60 46942158 2020-06-07 18:56:30.201606500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'stsd' parent:'stbl' sz: 106 8 46942098 2020-06-07 18:56:30.201629500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] size=90 4CC=mp4a codec_type=1 2020-06-07 18:56:30.201638500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] audio channels 2 2020-06-07 18:56:30.201639500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] version =0, isom =1 2020-06-07 18:56:30.201647500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'esds' parent:'stsd' sz: 54 8 54 2020-06-07 18:56:30.201659500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] MPEG-4 description: tag=0x03 len=37 2020-06-07 18:56:30.201665500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] MPEG-4 description: tag=0x04 len=23 2020-06-07 18:56:30.201670500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] esds object type id 0x40 2020-06-07 18:56:30.201675500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] MPEG-4 description: tag=0x05 len=5 2020-06-07 18:56:30.201680500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] Specific MPEG-4 header len=5 2020-06-07 18:56:30.201697500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] mp4a config channels 2 obj 2 ext obj 5 sample rate 44100 ext sample rate 0 2020-06-07 18:56:30.201708500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'stts' parent:'stbl' sz: 24 114 46942098 2020-06-07 18:56:30.201713500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] track[0].stts.entries = 1 2020-06-07 18:56:30.201718500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] sample_count=3752999, sample_duration=1024 2020-06-07 18:56:30.201727500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'stsc' parent:'stbl' sz: 14501248 138 46942098 2020-06-07 18:56:30.201732500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] track[0].stsc.entries = 1208436 2020-06-07 18:56:30.209085500 nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0 nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0 nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0 nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0 ... nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] type:'stsz' parent:'stbl' sz: 15012016 14501386 46942098 2020-06-07 18:56:56.305727500 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9253000600] sample_size = 0 sample_count = 3752999 2020-06-07 18:56:56.333577500 nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0 nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0 From koreanfanofficial at gmail.com Mon Jun 8 02:37:36 2020 From: koreanfanofficial at gmail.com (KoreanFanOfficial) Date: Mon, 8 Jun 2020 03:37:36 +0400 Subject: [FFmpeg-user] Cant find proper code for using complex filter and overlay with VAAPI In-Reply-To: References: Message-ID: For record with vaapi i use command: ---->DRI_PRIME=1 LIBVA_DRIVER_NAME=radeonsi ffmpeg -y -hwaccel vaapi -vaapi_device /dev/dri/renderD128 -hwaccel_output_format vaapi \ -framerate 30 -video_size 1920x1080 -f x11grab -i :0.0 -f pulse -ac 2 -i default \ -vf 'hwupload,scale_vaapi=w=1280:h=720:format=nv12' \ -vcodec h264_vaapi -g 60 -sei identifier+timing+recovery_point \ -bsf:v extract_extradata -b:v 3M -maxrate 3M -bf 0 -movflags +faststart -c:a aac -b:a 128k -ar 44100 \ -f flv vaapi.flv<---- and it works. ---->Try use complex filter with vaapi: DRI_PRIME=1 LIBVA_DRIVER_NAME=radeonsi ffmpeg -y -hwaccel vaapi -vaapi_device /dev/dri/renderD128 -hwaccel_output_format vaapi \ -framerate 30 -video_size 1920x1080 -f x11grab -i :0.0 -f pulse -ac 2 -i default \ -filter_complex \ "[0:v]hwupload,scale_vaapi=w=1280:h=720:format=nv12,setpts=PTS-STARTPTS[bg]" \ -map "[bg]" -map 1:a -c:v h264_vaapi -g 60 -sei identifier+timing+recovery_point \ -bsf:v extract_extradata -b:v 3M -maxrate 3M -bf 0 -movflags +faststart -c:a aac -b:a 128k -ar 44100 \ -f flv vaapi_complex.flv<---- and it works. Try use complex filter with vaapi and overlay 1)DRI_PRIME=1 LIBVA_DRIVER_NAME=radeonsi ffmpeg -y -loglevel debug -hwaccel vaapi -vaapi_device /dev/dri/renderD128 -hwaccel_output_format vaapi \ -framerate 30 -video_size 1920x1080 -f x11grab -i :0.0 -f pulse -ac 2 -i default -i logo.png \ -filter_complex \ "[0:v]hwupload,scale_vaapi=w=1280:h=720:format=nv12,setpts=PTS-STARTPTS[bg]; \ [bg][2:v]overlay=0:H-h[bg2]" \ -map "[bg2]" -map 1:a -c:v h264_vaapi -g 60 -sei identifier+timing+recovery_point \ -bsf:v extract_extradata -b:v 3M -maxrate 3M -bf 0 -movflags +faststart -c:a aac -b:a 128k -ar 44100 \ -f flv test1.flv and i got error: ---->DRI_PRIME=1 LIBVA_DRIVER_NAME=radeonsi ffmpeg -y -loglevel debug -hwaccel vaapi -vaapi_device /dev/dri/renderD128 -hwaccel_output_format vaapi \ > -framerate 30 -video_size 1920x1080 -f x11grab -i :0.0 -f pulse -ac 2 -i default -i logo.png \ > -filter_complex \ > "[0:v]hwupload,scale_vaapi=w=1280:h=720:format=nv12,setpts=PTS-STARTPTS[bg]; \ > [bg][2:v]overlay=0:H-h[bg2]" \ > -map "[bg2]" -map 1:a -c:v h264_vaapi -g 60 -sei identifier+timing+recovery_point \ > -bsf:v extract_extradata -b:v 3M -maxrate 3M -bf 0 -movflags +faststart -c:a aac -b:a 128k -ar 44100 \ > -f flv test1.flv ffmpeg version n4.2.3 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 10.1.0 (GCC) configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-version3 libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 Splitting the commandline. Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'. Reading option '-hwaccel' ... matched as option 'hwaccel' (use HW accelerated decoding) with argument 'vaapi'. Reading option '-vaapi_device' ... matched as option 'vaapi_device' (set VAAPI hardware device (DRM path or X11 display name)) with argument '/dev/dri/renderD128'. Reading option '-hwaccel_output_format' ... matched as option 'hwaccel_output_format' (select output format used with HW accelerated decoding) with argument 'vaapi'. Reading option '-framerate' ... matched as AVOption 'framerate' with argument '30'. Reading option '-video_size' ... matched as AVOption 'video_size' with argument '1920x1080'. Reading option '-f' ... matched as option 'f' (force format) with argument 'x11grab'. Reading option '-i' ... matched as input url with argument ':0.0'. Reading option '-f' ... matched as option 'f' (force format) with argument 'pulse'. Reading option '-ac' ... matched as option 'ac' (set number of audio channels) with argument '2'. Reading option '-i' ... matched as input url with argument 'default'. Reading option '-i' ... matched as input url with argument 'logo.png'. Reading option '-filter_complex' ... matched as option 'filter_complex' (create a complex filtergraph) with argument '[0:v]hwupload,scale_vaapi=w=1280:h=720:format=nv12,setpts=PTS-STARTPTS[bg]; [bg][2:v]overlay=0:H-h[bg2]'. Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '[bg2]'. Reading option '-map' ... matched as option 'map' (set input stream mapping) with argument '1:a'. Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'h264_vaapi'. Reading option '-g' ... matched as AVOption 'g' with argument '60'. Reading option '-sei' ... matched as AVOption 'sei' with argument 'identifier+timing+recovery_point'. Reading option '-bsf:v' ... matched as option 'bsf' (A comma-separated list of bitstream filters) with argument 'extract_extradata'. Reading option '-b:v' ... matched as option 'b' (video bitrate (please use -b:v)) with argument '3M'. Reading option '-maxrate' ... matched as AVOption 'maxrate' with argument '3M'. Reading option '-bf' ... matched as AVOption 'bf' with argument '0'. Reading option '-movflags' ... matched as AVOption 'movflags' with argument '+faststart'. Reading option '-c:a' ... matched as option 'c' (codec name) with argument 'aac'. Reading option '-b:a' ... matched as option 'b' (video bitrate (please use -b:v)) with argument '128k'. Reading option '-ar' ... matched as option 'ar' (set audio sampling rate (in Hz)) with argument '44100'. Reading option '-f' ... matched as option 'f' (force format) with argument 'flv'. Reading option 'test1.flv' ... matched as output url. Finished splitting the commandline. Parsing a group of options: global . Applying option y (overwrite output files) with argument 1. Applying option loglevel (set logging level) with argument debug. Applying option vaapi_device (set VAAPI hardware device (DRM path or X11 display name)) with argument /dev/dri/renderD128. [AVHWDeviceContext @ 0x557b57709b80] libva: VA-API version 1.7.0 [AVHWDeviceContext @ 0x557b57709b80] libva: User environment variable requested driver 'radeonsi' [AVHWDeviceContext @ 0x557b57709b80] libva: Trying to open /usr/lib/dri/radeonsi_drv_video.so [AVHWDeviceContext @ 0x557b57709b80] libva: Found init function __vaDriverInit_1_7 [AVHWDeviceContext @ 0x557b57709b80] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x557b57709b80] Initialised VAAPI connection: version 1.7 [AVHWDeviceContext @ 0x557b57709b80] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x557b57709b80] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x557b57709b80] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x557b57709b80] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x557b57709b80] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x557b57709b80] Format 0x56595559 -> unknown. [AVHWDeviceContext @ 0x557b57709b80] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x557b57709b80] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x557b57709b80] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x557b57709b80] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x557b57709b80] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x557b57709b80] VAAPI driver: Mesa Gallium driver 20.0.7 for Radeon RX 560 Series (POLARIS11, DRM 3.36.0, 5.6.15-1-MANJARO, LLVM 10.0.0). [AVHWDeviceContext @ 0x557b57709b80] Driver not found in known nonstandard list, using standard behaviour. Applying option filter_complex (create a complex filtergraph) with argument [0:v]hwupload,scale_vaapi=w=1280:h=720:format=nv12,setpts=PTS-STARTPTS[bg]; [bg][2:v]overlay=0:H-h[bg2]. Successfully parsed a group of options. Parsing a group of options: input url :0.0. Applying option hwaccel (use HW accelerated decoding) with argument vaapi. Applying option hwaccel_output_format (select output format used with HW accelerated decoding) with argument vaapi. Applying option f (force format) with argument x11grab. Successfully parsed a group of options. Opening an input file: :0.0. [x11grab @ 0x557b57953b80] Probe buffer size limit of 5000000 bytes reached [x11grab @ 0x557b57953b80] Stream #0: not enough frames to estimate rate; consider increasing probesize Input #0, x11grab, from ':0.0': Duration: N/A, start: 1591571915.754162, bitrate: N/A Stream #0:0, 1, 1/1000000: Video: rawvideo, 1 reference frame (BGR[0] / 0x524742), bgr0, 1920x1080, 0/1, 30 fps, 1000k tbr, 1000k tbn, 1000k tbc Successfully opened the file. Parsing a group of options: input url default. Applying option f (force format) with argument pulse. Applying option ac (set number of audio channels) with argument 2. Successfully parsed a group of options. Opening an input file: default. [pulse @ 0x557b57904340] All info found Guessed Channel Layout for Input Stream #1.0 : stereo Input #1, pulse, from 'default': Duration: N/A, start: 1591571915.813984, bitrate: 1536 kb/s Stream #1:0, 1, 1/1000000: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s Successfully opened the file. Parsing a group of options: input url logo.png. Successfully parsed a group of options. Opening an input file: logo.png. [NULL @ 0x557b578ecc80] Opening 'logo.png' for reading [file @ 0x557b5789b5c0] Setting default whitelist 'file,crypto' [png_pipe @ 0x557b578ecc80] Format png_pipe probed with size=2048 and score=99 [png_pipe @ 0x557b578ecc80] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 nb_streams:1 [png_pipe @ 0x557b578ecc80] After avformat_find_stream_info() pos: 80378 bytes read:80378 seeks:0 frames:1 Input #2, png_pipe, from 'logo.png': Duration: N/A, bitrate: N/A Stream #2:0, 1, 1/25: Video: png, 1 reference frame, rgb24(pc), 244x243, 0/1, 25 tbr, 25 tbn, 25 tbc Successfully opened the file. [Parsed_scale_vaapi_1 @ 0x557b578ed280] Setting 'w' to value '1280' [Parsed_scale_vaapi_1 @ 0x557b578ed280] Setting 'h' to value '720' [Parsed_scale_vaapi_1 @ 0x557b578ed280] Setting 'format' to value 'nv12' [Parsed_setpts_2 @ 0x557b578fe780] Setting 'expr' to value 'PTS-STARTPTS' [Parsed_overlay_3 @ 0x557b57898440] Setting 'x' to value '0' [Parsed_overlay_3 @ 0x557b57898440] Setting 'y' to value 'H-h' Parsing a group of options: output url test1.flv. Applying option map (set input stream mapping) with argument [bg2]. Applying option map (set input stream mapping) with argument 1:a. Applying option c:v (codec name) with argument h264_vaapi. Applying option bsf:v (A comma-separated list of bitstream filters) with argument extract_extradata. Applying option b:v (video bitrate (please use -b:v)) with argument 3M. Applying option c:a (codec name) with argument aac. Applying option b:a (video bitrate (please use -b:v)) with argument 128k. Applying option ar (set audio sampling rate (in Hz)) with argument 44100. Applying option f (force format) with argument flv. Successfully parsed a group of options. Opening an output file: test1.flv. [file @ 0x557b57884a40] Setting default whitelist 'file,crypto' Successfully opened the file. detected 8 logical cores Stream mapping: Stream #0:0 (rawvideo) -> hwupload (graph 0) Stream #2:0 (png) -> overlay:overlay (graph 0) overlay (graph 0) -> Stream #0:0 (h264_vaapi) Stream #1:0 -> #0:1 (pcm_s16le (native) -> aac (native)) Press [q] to stop, [?] for help cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) [rawvideo @ 0x557b5787d3c0] PACKET SIZE: 8294400, STRIDE: 7680 cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) Last message repeated 1 times [Parsed_scale_vaapi_1 @ 0x557b57884d40] Setting 'w' to value '1280' [Parsed_scale_vaapi_1 @ 0x557b57884d40] Setting 'h' to value '720' [Parsed_scale_vaapi_1 @ 0x557b57884d40] Setting 'format' to value 'nv12' [Parsed_setpts_2 @ 0x557b57815740] Setting 'expr' to value 'PTS-STARTPTS' [Parsed_overlay_3 @ 0x557b57986e40] Setting 'x' to value '0' [Parsed_overlay_3 @ 0x557b57986e40] Setting 'y' to value 'H-h' [graph 0 input from stream 0:0 @ 0x557b57987a00] Setting 'video_size' to value '1920x1080' [graph 0 input from stream 0:0 @ 0x557b57987a00] Setting 'pix_fmt' to value '123' [graph 0 input from stream 0:0 @ 0x557b57987a00] Setting 'time_base' to value '1/1000000' [graph 0 input from stream 0:0 @ 0x557b57987a00] Setting 'pixel_aspect' to value '0/1' [graph 0 input from stream 0:0 @ 0x557b57987a00] Setting 'sws_param' to value 'flags=2' [graph 0 input from stream 0:0 @ 0x557b57987a00] Setting 'frame_rate' to value '30/1' [graph 0 input from stream 0:0 @ 0x557b57987a00] w:1920 h:1080 pixfmt:bgr0 tb:1/1000000 fr:30/1 sar:0/1 sws_param:flags=2 [graph 0 input from stream 2:0 @ 0x557b57988900] Setting 'video_size' to value '244x243' [graph 0 input from stream 2:0 @ 0x557b57988900] Setting 'pix_fmt' to value '2' [graph 0 input from stream 2:0 @ 0x557b57988900] Setting 'time_base' to value '1/25' [graph 0 input from stream 2:0 @ 0x557b57988900] Setting 'pixel_aspect' to value '0/1' [graph 0 input from stream 2:0 @ 0x557b57988900] Setting 'sws_param' to value 'flags=2' [graph 0 input from stream 2:0 @ 0x557b57988900] Setting 'frame_rate' to value '25/1' [graph 0 input from stream 2:0 @ 0x557b57988900] w:244 h:243 pixfmt:rgb24 tb:1/25 fr:25/1 sar:0/1 sws_param:flags=2 [format @ 0x557b57815640] Setting 'pix_fmts' to value 'vaapi_vld' [auto_scaler_0 @ 0x557b5788aa40] w:iw h:ih flags:'bilinear' interl:0 [Parsed_overlay_3 @ 0x557b57986e40] auto-inserting filter 'auto_scaler_0' between the filter 'Parsed_setpts_2' and the filter 'Parsed_overlay_3' Impossible to convert between the formats supported by the filter 'Parsed_setpts_2' and the filter 'auto_scaler_0' Error reinitializing filters! Failed to inject frame into filter network: Function not implemented Error while processing the decoded data for stream #2:0 [AVIOContext @ 0x557b57884c00] Statistics: 0 seeks, 0 writeouts [AVIOContext @ 0x557b5789b640] Statistics: 80378 bytes read, 0 seeks Conversion failed!<---- 2)test command 1) with libx264 ffmpeg -y -f x11grab -video_size 1920x1080 -framerate 30 -i :0.0+0,0 \ -f pulse -ac 2 -i default -i logo.png -filter_complex \ "[0:v]scale=1280:-1,setpts=PTS-STARTPTS[bg]; \ [bg][2:v]overlay=0:H-h[bg2]" \ -map "[bg2]" -map 1:a -c:v libx264 -g 60 -preset ultrafast \ -b:v 3M -maxrate 3M -c:a aac -b:a 128k -ar 44100 \ -f flv test2.flv and it works with libx264 пн, 8 июн. 2020 г. в 02:01, Ted Park : > Hi there, > > > Always i got error: > > ---->Impossible to convert between the formats supported by the filter > > 'Parsed_format_' and the filter 'auto_scaler_' Error reinitializing > > filters! Failed to inject frame into filter network: Function not > > implemented > > There is an automatic format conversion being attempted that is not > happening. What is the input format of x11grab? The command is too > complicated right now to investigate efficiently. Can you try a simple > screen capture and single overlay with increased verbosity (-loglevel > debug)? > > Regards, > Ted Park > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From barsnick at gmx.net Mon Jun 8 11:20:09 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Mon, 8 Jun 2020 10:20:09 +0200 Subject: [FFmpeg-user] Silence, audio level and loudness measurement using FFMPEG In-Reply-To: References: Message-ID: <20200608082009.GA8012@sunshine.barsnick.net> On Fri, Jun 05, 2020 at 18:31:04 +0530, rohit khali wrote: > All links I came across seem to be based on ffmpeg commands. Ex: ffmpeg.exe > -i .input.ac3 -filter_complex ebur128=peak=true op.wav > It will be great if you can point to some API usage with filter options. this list is for the command line usage. For assistance with API usage, please refer to libav-user: https://lists.ffmpeg.org/mailman/listinfo/libav-user You might also want to look at the examples in the doc/examples/ folder of the ffmpeg sources. Regards, Moritz From brad.j.hambleton at gmail.com Mon Jun 8 13:09:15 2020 From: brad.j.hambleton at gmail.com (Brad Hambleton) Date: Mon, 8 Jun 2020 20:09:15 +1000 Subject: [FFmpeg-user] FFMPEG HTTP to RTP then RTP to HTTP with OPUS Message-ID: I'm taking a HTTP output to FFMPEG and copying the audio (no video) to an RTP: ffmpeg -i http://192.168.0.40:20110 -c:a copy -f rtp rtp:// 192.168.87.40:20210?pkt_size=1328 -sdp_file opus.sdp At the other end receiving the RTP and pushing it back to HTTP: ffmpeg -re -protocol_whitelist rtp,file,udp -i opus.sdp -c:a copy -listen 1 -method GET -f opus http://192.168.87.40:20220 2 Problems: 1) Currently the encoding process doesn't optimize packets. 92 1.004672 192.168.0.40 192.168.0.40 UDP 392 52954 → 20210 Len=332 93 1.004727 192.168.0.40 192.168.0.40 UDP 392 52954 → 20210 Len=332 94 1.004789 192.168.0.40 192.168.0.40 UDP 392 52954 → 20210 Len=332 95 1.004855 192.168.0.40 192.168.0.40 UDP 392 52954 → 20210 Len=332 96 1.004908 192.168.0.40 192.168.0.40 UDP 392 52954 → 20210 Len=332 Each packet length is 332, which leaves a lot of wasted space. I'd like to get close to 1500 (Stack 4 together I get 1328 which is close enough) Is there a command in the FFMPEG/RTP that will optimize packets? I added ?pkt_size=1328 to the RTP however that only sets max, not preferred. 2) I get the following error when I try to HTTP to RTP via copy: C:\Decode>ffmpeg -re -protocol_whitelist rtp,file,udp -i opus.sdp -c:a copy -listen 1 -method GET -f opus http://192.168.0.40:20220 ffmpeg version git-2020-05-23-26b4509 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9.3.1 (GCC) 20200523 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf libavutil 56. 48.100 / 56. 48.100 libavcodec 58. 87.101 / 58. 87.101 libavformat 58. 43.100 / 58. 43.100 libavdevice 58. 9.103 / 58. 9.103 libavfilter 7. 83.100 / 7. 83.100 libswscale 5. 6.101 / 5. 6.101 libswresample 3. 6.100 / 3. 6.100 libpostproc 55. 6.100 / 55. 6.100 Input #0, sdp, from 'opus.sdp': Metadata: title : No Name Duration: N/A, start: 0.000000, bitrate: N/A Stream #0:0: Audio: opus, 48000 Hz, stereo, fltp [opus @ 00000221a9a4d280] No extradata present Could not write header for output file #0 (incorrect codec parameters ?): Invalid data found when processing input Stream mapping: Stream #0:0 -> #0:0 (copy) Last message repeated 1 times Tried a variety of additions to the RTP to HTTP CLI to get it to work, but still nothing. -flags -global_header -reconnect_streamed 1 -headers "X-Forwarded-For: 13.14.15.66" Is there a specific OPUS or HTTP header that can be added to get it to work. Decoding and Encoding does work for RTP to HTTP, the idea isn't to decode/encode at either point, just to copy the audio, change the container.. Cheers From mhkohne at moberg.com Mon Jun 8 17:01:20 2020 From: mhkohne at moberg.com (Michael Kohne) Date: Mon, 8 Jun 2020 10:01:20 -0400 Subject: [FFmpeg-user] Video corruption when transcoding on new computer Message-ID: We use ffmpeg to transcode video from an H.264 video stream from an IP camera to an mpeg4 AVI file. On our old system (Core i7-4765T, CentOS 6, with a locally built 3.16.60 kernel. 4 cores + hyperthreading) we had no problems. Upon switching to a new system (with a Core i7-6600U, still CentOS 6, with a locally built 4.9.215 kernel 2 cores + hyperthreading) we're getting video corruption in the output file. The lower portion of the output video smears for a while, then get reset several seconds later. If I crank the video size and bitrate down, the problems show up less frequently or go away altogether. If I just ffmplay from the camera I never see any problems. I'm working with ffmpeg 4.2.3 that I built myself. When I was running this test, I ran top showing per-cpu usage, and none of the 4 cores was above 55%. Any idea how to fix this? Or at least clues as to how to track down the exact issue? I suspect I don't really understand what's going on. Is there any options I could use that would give us better output? I mean like, dropping frames instead of smearing? Thanks for any hints. Command: /usr/bin/time nice -n -13 /data/SHR5246/ffmpeg/ffmpeg-orig/ffmpeg -t 60 -loglevel info -rtsp_transport udp -i rtsp://192.168.249.58/media/video1 -y -codec:v mpeg4 -f avi output1.avi > ffmpeg.info.out 2>&1 Log snippet: ffmpeg version 4.2.3 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-11) configuration: --prefix=/data/SHR5246/ffmpeg/build --extra-cflags=-I/data/SHR5246/ffmpeg/build/include --extra-ldflags=-L/data/SHR5246/ffmpeg/build/lib --extra-libs='-lm -ldl -lpthread -lrt' --enable-gpl --enable-nonfree --disable-libfdk_aac --enable-libmp3lame --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libfreetype --enable-libspeex --enable-libtheora --cpu=i686 --enable-runtime-cpudetect libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 [rtsp @ 0xb432380] max delay reached. need to consume packet [rtsp @ 0xb432380] RTP: missed 82 packets Invalid UE golomb code [h264 @ 0xb435280] cbp too large (3199971767) at 12 50 [h264 @ 0xb435280] error while decoding MB 12 50 [h264 @ 0xb435280] concealing 2197 DC, 2197 AC, 2197 MV errors in P frame Input #0, rtsp, from 'rtsp://192.168.249.58/media/video1': Metadata: title : SONY RTSP Server Duration: N/A, start: 0.033333, bitrate: N/A Stream #0:0: Video: h264 (Baseline), yuv420p(progressive), 1920x1080, 30 tbr, 90k tbn, 180k tbc Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> mpeg4 (native)) Press [q] to stop, [?] for help Invalid UE golomb code [h264 @ 0xb5ab980] cbp too large (3199971767) at 12 50 [h264 @ 0xb5ab980] error while decoding MB 12 50 [h264 @ 0xb5ab980] concealing 2197 DC, 2197 AC, 2197 MV errors in P frame Output #0, avi, to 'output1.avi': Metadata: INAM : SONY RTSP Server ISFT : Lavf58.29.100 Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 1920x1080, q=2-31, 200 kb/s, 30 fps, 30 tbn, 30 tbc Metadata: encoder : Lavc58.54.100 mpeg4 Side data: cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1 rtsp://192.168.249.58/media/video1: corrupt decoded frame in stream 0 [rtsp @ 0xb432380] max delay reached. need to consume packet [rtsp @ 0xb432380] RTP: missed 206 packets [h264 @ 0xb472140] corrupted macroblock 82 60 (total_coeff=-1) [h264 @ 0xb472140] error while decoding MB 82 60 [h264 @ 0xb472140] concealing 927 DC, 927 AC, 927 MV errors in P frame frame= 30 fps=0.0 q=31.0 size= 262kB time=00:00:01.56 bitrate=1367.7kbits/s speed=3.11x rtsp://192.168.249.58/media/video1: corrupt decoded frame in stream 0 frame= 35 fps= 34 q=31.0 size= 262kB time=00:00:02.36 bitrate= 905.4kbits/s speed=2.29x frame= 46 fps= 30 q=31.0 size= 262kB time=00:00:02.83 bitrate= 756.3kbits/s speed=1.82x [rtsp @ 0xb432380] max delay reached. need to consume packet [rtsp @ 0xb432380] RTP: missed 48 packets [rtsp @ 0xb432380] max delay reached. need to consume packet [rtsp @ 0xb432380] RTP: missed 1 packets [h264 @ 0xb472140] out of range intra chroma pred mode [h264 @ 0xb472140] error while decoding MB 77 31 [h264 @ 0xb472140] concealing 4412 DC, 4412 AC, 4412 MV errors in I frame rtsp://192.168.249.58/media/video1: corrupt decoded frame in stream 0 frame= 58 fps= 28 q=31.0 size= 518kB time=00:00:03.40 bitrate=1247.0kbits/s speed=1.65x frame= 70 fps= 27 q=31.0 size= 518kB time=00:00:03.93 bitrate=1077.9kbits/s speed=1.52x [rtsp @ 0xb432380] max delay reached. need to consume packet [rtsp @ 0xb432380] RTP: missed 5 packets The full log output: https://drive.google.com/file/d/1Jjz0enwQm6BYiYviwVzAiaSe2Ki0r3n-/view?usp=sharing A screenshot showing the smearing (17 seconds in): https://drive.google.com/file/d/1H2VUngyZZ33Wm46FOMKZ2njKZLfw7Rqu/view?usp=sharing The video file: https://drive.google.com/file/d/1IMFbdiCfRFhvm5pEvztZXdeS_KYsUTYj/view?usp=sharing With best regards Michael Kohne SR. SOFTWARE ENGINEER Office +1.215.283.0860 x208 | www.moberg.com -- Now a member of From fermitanio at hotmail.com Mon Jun 8 18:21:59 2020 From: fermitanio at hotmail.com (Fernando M) Date: Mon, 8 Jun 2020 15:21:59 +0000 Subject: [FFmpeg-user] Continuing or replacing the ffserver server Message-ID: Good afternoon, I write to you from Spain. I am interested on coding my own streaming server. As the first stage, I've begun to read about similar programas, as ffserver. I've read on the ffmpeg's website that users who want to write a similar program to ffserver, can contact you. I'd like to know about the convenience of writing a program the most similar possible to ffserver, or developing a new program. Thank you in advance, Fernando. From ceffmpeg at gmail.com Mon Jun 8 21:08:11 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Mon, 8 Jun 2020 20:08:11 +0200 Subject: [FFmpeg-user] Continuing or replacing the ffserver server In-Reply-To: References: Message-ID: Am Mo., 8. Juni 2020 um 17:22 Uhr schrieb Fernando M : > I write to you from Spain. I am interested on coding my own streaming > server. As the first stage, I've begun to read about similar programas, > as ffserver. See https://github.com/klaxa/ffserver Carl Eugen From ceffmpeg at gmail.com Mon Jun 8 21:25:56 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Mon, 8 Jun 2020 20:25:56 +0200 Subject: [FFmpeg-user] Video corruption when transcoding on new computer In-Reply-To: References: Message-ID: Am Mo., 8. Juni 2020 um 16:31 Uhr schrieb Michael Kohne via ffmpeg-user : > I'm working with ffmpeg 4.2.3 that I built myself. Please test current FFmpeg git head, the only version supported on this mailing list. Unrelated: --enable-nonfree has only disadvantages for you, no advantages. --enable-runtime-cpudetect is the default and does not do what you think it does, remove it. If the extra-ldflags are needed, this could indicate a bug that I would like to know more about. And please test with file input. Oh, and please test with a sane compiler version, yours is antique (and if there is an issue, your compiler is a likely reason). Carl Eugen From fermitanio at hotmail.com Mon Jun 8 22:36:01 2020 From: fermitanio at hotmail.com (Fernando M) Date: Mon, 8 Jun 2020 19:36:01 +0000 Subject: [FFmpeg-user] Continuing or replacing the ffserver server In-Reply-To: References: , Message-ID: Thanks Carl. ________________________________ De: ffmpeg-user en nombre de Carl Eugen Hoyos Enviado: lunes, 8 de junio de 2020 20:08 Para: FFmpeg user questions Asunto: Re: [FFmpeg-user] Continuing or replacing the ffserver server Am Mo., 8. Juni 2020 um 17:22 Uhr schrieb Fernando M : > I write to you from Spain. I am interested on coding my own streaming > server. As the first stage, I've begun to read about similar programas, > as ffserver. See https://github.com/klaxa/ffserver Carl Eugen _______________________________________________ ffmpeg-user mailing list ffmpeg-user at ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From nunosantos at imaginando.net Tue Jun 9 00:28:55 2020 From: nunosantos at imaginando.net (Nuno Santos) Date: Mon, 8 Jun 2020 22:28:55 +0100 Subject: [FFmpeg-user] H264 video toolbox settings Message-ID: <91A4130C-AE49-4D30-BAB6-CC2C77C87EAC@imaginando.net> Hi, Sorry if this is a basic question, but how does one know the available the options for the h264_videotoolbox? I want to set them programmatically and not via ffmpeg command. Thanks! Regards, Nuno From fermitanio at hotmail.com Tue Jun 9 00:40:49 2020 From: fermitanio at hotmail.com (Fernando M) Date: Mon, 8 Jun 2020 21:40:49 +0000 Subject: [FFmpeg-user] Continuing or replacing the ffserver server In-Reply-To: References: , Message-ID: Dear Carl, I've been comparing the old ffserver with the new mkvserver_mk2 project. I find this more interesting and simple than ffserver, however mkvserver_mk2 has few documentation. Although the ffserver's code contains more lines, its are better documented. I suspect mkvserver_mk2 is a more specific system and don't cover several issues that were covered by the ffserver project. I'm going to read about both projects during the next days. I'd like to adopt one of them for my website, I think the GPL license allows that use. Thank you in advance, Fernando ________________________________ De: ffmpeg-user en nombre de Carl Eugen Hoyos Enviado: lunes, 8 de junio de 2020 20:08 Para: FFmpeg user questions Asunto: Re: [FFmpeg-user] Continuing or replacing the ffserver server Am Mo., 8. Juni 2020 um 17:22 Uhr schrieb Fernando M : > I write to you from Spain. I am interested on coding my own streaming > server. As the first stage, I've begun to read about similar programas, > as ffserver. See https://github.com/klaxa/ffserver Carl Eugen _______________________________________________ ffmpeg-user mailing list ffmpeg-user at ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From geek at uniserve.com Tue Jun 9 01:35:55 2020 From: geek at uniserve.com (Dave Stevens) Date: Mon, 8 Jun 2020 15:35:55 -0700 Subject: [FFmpeg-user] newbie in trouble Message-ID: <20200608153555.47292ae8@dave-900X1B> I have ~3k images of about 2.3 megs each, all jpgs. I want to make a video using them. I very seldom use ffmpeg so I always forget the settings. I found a command line on stackexchange that seemed as if it would do the job. Output is below. I perhaps naively thought that 3k input frames would produce the same number of output frames and then at 30fps playback I'd have 100 seconds of video. That would be fine. What I did was wait a really long time while ffmpeg displayed a frame count in excess of 10K, almost 20K and turned out a video clip of 112 megs. This doesn't seem reasonable. Can anyone who is able to interpret the output below make a suggestion? I only want a simple video. The max number of frames would be 16,000 - a day's worth at one every 5 seconds. I thought that many frames would make a 10 minute video which is okay. Ideas? Thanks, Dave --------------- ffmpeg run time output ------------------- dave at dave-900X1B ~/Documents/Smokecam/2days ofoutdoorcapturesDecember112016 $ ffmpeg -r 1/5 -start_number 2 -i /home/dave/Documents/Smokecam/2days\ ofoutdoorcapturesDecember112016/smokey%04d.jpg -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4 ffmpeg version 2.8.15-0ubuntu0.16.04.1 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 20160609 configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv WARNING: library configuration mismatch avcodec configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv --enable-version3 --disable-doc --disable-programs --disable-avdevice --disable-avfilter --disable-avformat --disable-avresample --disable-postproc --disable-swscale --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libvo_aacenc --enable-libvo_amrwbenc libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100 [mjpeg @ 0x198d800] Changeing bps to 8 Input #0, image2, from '/home/dave/Documents/Smokecam/2days ofoutdoorcapturesDecember112016/smokey%04d.jpg': Duration: 00:01:57.64, start: 0.000000, bitrate: N/A Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 2592x1944, 25 fps, 25 tbr, 25 tbn, 25 tbc File 'out.mp4' already exists. Overwrite ? [y/N] y [swscaler @ 0x199cb80] deprecated pixel format used, make sure you did set range correctly [libx264 @ 0x198f200] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX [libx264 @ 0x198f200] profile High, level 5.1 [libx264 @ 0x198f200] 264 - core 148 r2643 5c65704 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to 'out.mp4': Metadata: encoder : Lavf56.40.101 Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 2592x1944, q=-1--1, 30 fps, 15360 tbn, 30 tbc Metadata: encoder : Lavc56.60.100 libx264 Stream mapping: Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264)) Press [q] to stop, [?] for help frame=19351 fps=5.9 q=-1.0 Lsize= 110126kB time=00:10:44.96 bitrate=1398.8kbits/s dup=19221 drop=0 video:109896kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.208995% [libx264 @ 0x198f200] frame I:78 Avg QP:13.34 size:686665 [libx264 @ 0x198f200] frame P:4980 Avg QP:16.25 size: 11239 [libx264 @ 0x198f200] frame B:14293 Avg QP:22.23 size: 210 [libx264 @ 0x198f200] consecutive B-frames: 1.3% 0.5% 0.0% 98.1% [libx264 @ 0x198f200] mb I I16..4: 0.5% 83.0% 16.5% [libx264 @ 0x198f200] mb P I16..4: 0.0% 0.9% 0.0% P16..4: 3.9% 0.8% 0.5% 0.0% 0.0% skip:93.9% [libx264 @ 0x198f200] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.5% 0.0% 0.0% direct: 0.0% skip:99.5% L0:11.7% L1:88.3% BI: 0.0% [libx264 @ 0x198f200] 8x8 transform intra:87.5% inter:80.1% [libx264 @ 0x198f200] coded y,uvDC,uvAC intra: 98.3% 70.2% 53.3% inter: 0.5% 0.9% 0.0% [libx264 @ 0x198f200] i16 v,h,dc,p: 12% 15% 24% 49% [libx264 @ 0x198f200] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 13% 15% 30% 6% 8% 6% 7% 6% 9% [libx264 @ 0x198f200] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 18% 9% 7% 11% 9% 10% 8% 10% [libx264 @ 0x198f200] i8c dc,h,v,p: 48% 31% 13% 8% [libx264 @ 0x198f200] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 0x198f200] ref P L0: 81.9% 7.5% 9.9% 0.6% 0.0% [libx264 @ 0x198f200] ref B L0: 71.5% 28.5% 0.1% [libx264 @ 0x198f200] ref B L1: 97.5% 2.5% [libx264 @ 0x198f200] kb/s:1395.68 Exiting normally, received signal 2. -- Affectionate tactile stimulation is a primary need, a need which must be satisfied if the infant is to develop as a healthy human being. And what is a healthy human being? One who is able to love, to work, to play, and to think critically and unprejudicially. -- Ashley Montagu – Touching, The human significance of the skin. 2e 1978 ettings From john at vanostrand.com Tue Jun 9 01:59:27 2020 From: john at vanostrand.com (John Van Ostrand) Date: Mon, 8 Jun 2020 18:59:27 -0400 Subject: [FFmpeg-user] newbie in trouble In-Reply-To: <20200608153555.47292ae8@dave-900X1B> References: <20200608153555.47292ae8@dave-900X1B> Message-ID: I'm also new, but doesn't your "-r 1/5" argument show each jpg for 5 seconds? That wouldn't create 100 seconds, it would create 500 seconds. Instead of using -r 30 try -vf "fps30" On Mon, Jun 8, 2020 at 6:36 PM Dave Stevens wrote: > I have ~3k images of about 2.3 megs each, all jpgs. I want to make a > video using them. I very seldom use ffmpeg so I always forget the > settings. I found a command line on stackexchange that seemed as if it > would do the job. Output is below. > > I perhaps naively thought that 3k input frames would produce the same > number of output frames and then at 30fps playback I'd have 100 seconds > of video. That would be fine. > > What I did was wait a really long time while ffmpeg displayed a frame > count in excess of 10K, almost 20K and turned out a video clip of 112 > megs. This doesn't seem reasonable. Can anyone who is able to interpret > the output below make a suggestion? I only want a simple video. The max > number of frames would be 16,000 - a day's worth at one every 5 > seconds. I thought that many frames would make a 10 minute video which > is okay. > > Ideas? > > Thanks, > > Dave > > --------------- ffmpeg run time output ------------------- > > dave at dave-900X1B ~/Documents/Smokecam/2days > ofoutdoorcapturesDecember112016 $ ffmpeg -r 1/5 -start_number 2 > -i /home/dave/Documents/Smokecam/2days\ > ofoutdoorcapturesDecember112016/smokey%04d.jpg -c:v libx264 -r 30 > -pix_fmt yuv420p out.mp4 ffmpeg version 2.8.15-0ubuntu0.16.04.1 > Copyright (c) 2000-2018 the FFmpeg developers built with gcc 5.4.0 > (Ubuntu 5.4.0-6ubuntu1~16.04.10) 20160609 configuration: --prefix=/usr > --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg > --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu > --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl > --enable-shared --disable-stripping --disable-decoder=libopenjpeg > --disable-decoder=libschroedinger --enable-avresample --enable-avisynth > --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray > --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite > --enable-libfontconfig --enable-libfreetype --enable-libfribidi > --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame > --enable-libopenjpeg --enable-libopus --enable-libpulse > --enable-librtmp --enable-libschroedinger --enable-libshine > --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh > --enable-libtheora --enable-libtwolame --enable-libvorbis > --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 > --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl > --enable-x11grab --enable-libdc1394 --enable-libiec61883 > --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv > WARNING: library configuration mismatch avcodec configuration: > --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg > --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu > --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl > --enable-shared --disable-stripping --disable-decoder=libopenjpeg > --disable-decoder=libschroedinger --enable-avresample --enable-avisynth > --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray > --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite > --enable-libfontconfig --enable-libfreetype --enable-libfribidi > --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame > --enable-libopenjpeg --enable-libopus --enable-libpulse > --enable-librtmp --enable-libschroedinger --enable-libshine > --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh > --enable-libtheora --enable-libtwolame --enable-libvorbis > --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 > --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl > --enable-x11grab --enable-libdc1394 --enable-libiec61883 > --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv > --enable-version3 --disable-doc --disable-programs --disable-avdevice > --disable-avfilter --disable-avformat --disable-avresample > --disable-postproc --disable-swscale --enable-libopencore_amrnb > --enable-libopencore_amrwb --enable-libvo_aacenc > --enable-libvo_amrwbenc libavutil 54. 31.100 / 54. 31.100 > libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. > 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. > 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 > libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. > 2.101 libpostproc 53. 3.100 / 53. 3.100 [mjpeg @ 0x198d800] > Changeing bps to 8 Input #0, image2, from > '/home/dave/Documents/Smokecam/2days > ofoutdoorcapturesDecember112016/smokey%04d.jpg': Duration: 00:01:57.64, > start: 0.000000, bitrate: N/A Stream #0:0: Video: mjpeg, yuvj420p(pc, > bt470bg/unknown/unknown), 2592x1944, 25 fps, 25 tbr, 25 tbn, 25 tbc > File 'out.mp4' already exists. Overwrite ? [y/N] y [swscaler @ > 0x199cb80] deprecated pixel format used, make sure you did set range > correctly [libx264 @ 0x198f200] using cpu capabilities: MMX2 SSE2Fast > SSSE3 SSE4.2 AVX [libx264 @ 0x198f200] profile High, level 5.1 [libx264 > @ 0x198f200] 264 - core 148 r2643 5c65704 - H.264/MPEG-4 AVC codec - > Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: > cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 > psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 > cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 > lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 > bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 > b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 > keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf > mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 > aq=1:1.00 Output #0, mp4, to 'out.mp4': Metadata: encoder : > Lavf56.40.101 Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / > 0x0021), yuv420p, 2592x1944, q=-1--1, 30 fps, 15360 tbn, 30 tbc > Metadata: encoder : Lavc56.60.100 libx264 Stream mapping: > Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264)) Press [q] to > stop, [?] for help frame=19351 fps=5.9 q=-1.0 Lsize= 110126kB > time=00:10:44.96 bitrate=1398.8kbits/s dup=19221 drop=0 video:109896kB > audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing > overhead: 0.208995% [libx264 @ 0x198f200] frame I:78 Avg QP:13.34 > size:686665 [libx264 @ 0x198f200] frame P:4980 Avg QP:16.25 size: > 11239 [libx264 @ 0x198f200] frame B:14293 Avg QP:22.23 size: 210 > [libx264 @ 0x198f200] consecutive B-frames: 1.3% 0.5% 0.0% 98.1% > [libx264 @ 0x198f200] mb I I16..4: 0.5% 83.0% 16.5% [libx264 @ > 0x198f200] mb P I16..4: 0.0% 0.9% 0.0% P16..4: 3.9% 0.8% 0.5% > 0.0% 0.0% skip:93.9% [libx264 @ 0x198f200] mb B I16..4: 0.0% > 0.0% 0.0% B16..8: 0.5% 0.0% 0.0% direct: 0.0% skip:99.5% > L0:11.7% L1:88.3% BI: 0.0% [libx264 @ 0x198f200] 8x8 transform > intra:87.5% inter:80.1% [libx264 @ 0x198f200] coded y,uvDC,uvAC intra: > 98.3% 70.2% 53.3% inter: 0.5% 0.9% 0.0% [libx264 @ 0x198f200] i16 > v,h,dc,p: 12% 15% 24% 49% [libx264 @ 0x198f200] i8 > v,h,dc,ddl,ddr,vr,hd,vl,hu: 13% 15% 30% 6% 8% 6% 7% 6% 9% > [libx264 @ 0x198f200] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 18% 9% 7% > 11% 9% 10% 8% 10% [libx264 @ 0x198f200] i8c dc,h,v,p: 48% 31% 13% 8% > [libx264 @ 0x198f200] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ > 0x198f200] ref P L0: 81.9% 7.5% 9.9% 0.6% 0.0% [libx264 @ > 0x198f200] ref B L0: 71.5% 28.5% 0.1% [libx264 @ 0x198f200] ref B L1: > 97.5% 2.5% [libx264 @ 0x198f200] kb/s:1395.68 Exiting normally, > received signal 2. > > > -- > Affectionate tactile stimulation is a primary need, a need which must > be satisfied if the infant is to develop as a healthy human being. > > And what is a healthy human being? One who is able to love, to work, to > play, and to think critically and unprejudicially. > > -- Ashley Montagu – Touching, The human significance of the skin. 2e > 1978 > ettings > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". -- John Van Ostrand At large on sabbatical From kieran.o.leary at gmail.com Tue Jun 9 02:06:08 2020 From: kieran.o.leary at gmail.com (Kieran O Leary) Date: Tue, 9 Jun 2020 00:06:08 +0100 Subject: [FFmpeg-user] newbie in trouble In-Reply-To: <20200608153555.47292ae8@dave-900X1B> References: <20200608153555.47292ae8@dave-900X1B> Message-ID: Hi, How about: ffmpeg -framerate 30 -start_number 2 -i /home/dave/Documents/Smokecam/2days\ ofoutdoorcapturesDecember112016/smokey%04d.jpg -c:v libx264 -pix_fmt yuv420p out.mp4 I don't think you need to use -r or John's suggestion of video filters to set framerates. Also your ffmpeg version is super old - we are now up to 4:2:2, with 4:3 about to be released. K From cpz at tuunq.com Tue Jun 9 02:09:46 2020 From: cpz at tuunq.com (Carl Zwanzig) Date: Mon, 8 Jun 2020 16:09:46 -0700 Subject: [FFmpeg-user] newbie in trouble In-Reply-To: References: <20200608153555.47292ae8@dave-900X1B> Message-ID: <517a5808-db85-6a4b-d865-d879edce48f6@tuunq.com> On 6/8/2020 3:59 PM, John Van Ostrand wrote: > Instead of using -r 30 try -vf "fps30" Rate setting can be tricky, with multiple options and filters. Some searching of the the list archive should give examples of how to do this. Part of the confusions come with setting input rate vs output rate, and how to translate between them. Also.... Please use a modern version of ffmpeg, if you don't want to build it yourself, get last night's build (links from the ffmpeg site). Please don't "top post" on this mailing list. Later, z! From geek at uniserve.com Tue Jun 9 02:42:51 2020 From: geek at uniserve.com (Dave Stevens) Date: Mon, 8 Jun 2020 16:42:51 -0700 Subject: [FFmpeg-user] newbie in trouble In-Reply-To: References: <20200608153555.47292ae8@dave-900X1B> Message-ID: <20200608164251.0a4b30b7@dave-900X1B> On Tue, 9 Jun 2020 00:06:08 +0100 Kieran O Leary wrote: > Hi, > > How about: > ffmpeg -framerate 30 -start_number 2 -i > /home/dave/Documents/Smokecam/2days\ > ofoutdoorcapturesDecember112016/smokey%04d.jpg -c:v libx264 -pix_fmt > yuv420p out.mp4 > > I don't think you need to use -r or John's suggestion of video > filters to set framerates. > Also your ffmpeg version is super old - we are now up to 4:2:2, with > 4:3 about to be released. > > K yes. lovely, just what I wanted, simple and fast. I'll update to the 4.2.2 release. Thanks to all who answered. d From barsnick at gmx.net Tue Jun 9 11:00:05 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Tue, 9 Jun 2020 10:00:05 +0200 Subject: [FFmpeg-user] H264 video toolbox settings In-Reply-To: <91A4130C-AE49-4D30-BAB6-CC2C77C87EAC@imaginando.net> References: <91A4130C-AE49-4D30-BAB6-CC2C77C87EAC@imaginando.net> Message-ID: <20200609080005.GA28424@sunshine.barsnick.net> On Mon, Jun 08, 2020 at 22:28:55 +0100, Nuno Santos wrote: > Sorry if this is a basic question, but how does one know the > available the options for the h264_videotoolbox? Usually with something like $ ffmpeg -h encoder=h264_videotoolbox > I want to set them programmatically and not via ffmpeg command. Oh, you mean using the libav* libraries? Then you're basically on the wrong mailing list. The options are defined in libavcodec/videotoolboxenc.c, you should be able to extract the knowledge from there. They *should* also be in the documentation, but that doesn't seem to be the case for the videotoolbox codecs. Cheers, Moritz From nunosantos at imaginando.net Tue Jun 9 11:04:53 2020 From: nunosantos at imaginando.net (Nuno Santos) Date: Tue, 9 Jun 2020 09:04:53 +0100 Subject: [FFmpeg-user] H264 video toolbox settings In-Reply-To: <20200609080005.GA28424@sunshine.barsnick.net> References: <91A4130C-AE49-4D30-BAB6-CC2C77C87EAC@imaginando.net> <20200609080005.GA28424@sunshine.barsnick.net> Message-ID: <9DC23F11-9841-4EFC-9F3C-0B6BC6390CC9@imaginando.net> Moritz, Thanks for your reply. > On 9 Jun 2020, at 09:00, Moritz Barsnick wrote: > > On Mon, Jun 08, 2020 at 22:28:55 +0100, Nuno Santos wrote: >> Sorry if this is a basic question, but how does one know the >> available the options for the h264_videotoolbox? > > Usually with something like > $ ffmpeg -h encoder=h264_videotoolbox > >> I want to set them programmatically and not via ffmpeg command. > > Oh, you mean using the libav* libraries? Then you're basically on the > wrong mailing list. What’s the correct mailing list for this? > > The options are defined in libavcodec/videotoolboxenc.c, you should be > able to extract the knowledge from there. They *should* also be in the > documentation, but that doesn't seem to be the case for the > videotoolbox codecs. I’ve been sniffing that file: https://ffmpeg.org/doxygen/trunk/videotoolboxenc_8c_source.html And I believe function static bool get_vt_h264_profile_level(AVCodecContext *avctx, CFStringRef *profile_level_val) Is what I want but I don’t know how to pass the right parameters from the api side. Regards, Nuno > > Cheers, > Moritz > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From barsnick at gmx.net Tue Jun 9 12:24:37 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Tue, 9 Jun 2020 11:24:37 +0200 Subject: [FFmpeg-user] H264 video toolbox settings In-Reply-To: <9DC23F11-9841-4EFC-9F3C-0B6BC6390CC9@imaginando.net> References: <91A4130C-AE49-4D30-BAB6-CC2C77C87EAC@imaginando.net> <20200609080005.GA28424@sunshine.barsnick.net> <9DC23F11-9841-4EFC-9F3C-0B6BC6390CC9@imaginando.net> Message-ID: <20200609092437.GA29363@sunshine.barsnick.net> Hi Nuno, On Tue, Jun 09, 2020 at 09:04:53 +0100, Nuno Santos wrote: > > Oh, you mean using the libav* libraries? Then you're basically on the > > wrong mailing list. > > What’s the correct mailing list for this? It's pretty clearly outlined here: https://ffmpeg.org/mailing-list-faq.html#What-type-of-questions-can-I-ask_003f So choose libav-user. > And I believe function > > static bool get_vt_h264_profile_level(AVCodecContext *avctx, CFStringRef *profile_level_val) > > Is what I want but I don’t know how to pass the right parameters from the api side. This function is not part of the API. For one, being declared "static" means it's only available internally to this compilation unit. Secondly, externally available functions have a different naming scheme (av_*). This function is already called internally on initialization of the encoder, so I don't understand what you need to do with it. Cheers, Moritz From nunosantos at imaginando.net Tue Jun 9 13:21:23 2020 From: nunosantos at imaginando.net (Nuno Santos) Date: Tue, 9 Jun 2020 11:21:23 +0100 Subject: [FFmpeg-user] H264 video toolbox settings In-Reply-To: <20200609092437.GA29363@sunshine.barsnick.net> References: <91A4130C-AE49-4D30-BAB6-CC2C77C87EAC@imaginando.net> <20200609080005.GA28424@sunshine.barsnick.net> <9DC23F11-9841-4EFC-9F3C-0B6BC6390CC9@imaginando.net> <20200609092437.GA29363@sunshine.barsnick.net> Message-ID: <832624DE-6558-4BC0-94E0-250690A46BFE@imaginando.net> Moritz, > On 9 Jun 2020, at 10:24, Moritz Barsnick wrote: > > Hi Nuno, > > On Tue, Jun 09, 2020 at 09:04:53 +0100, Nuno Santos wrote: >>> Oh, you mean using the libav* libraries? Then you're basically on the >>> wrong mailing list. >> >> What’s the correct mailing list for this? > > It's pretty clearly outlined here: > https://ffmpeg.org/mailing-list-faq.html#What-type-of-questions-can-I-ask_003f > So choose libav-user. Great! Thx! > >> And I believe function >> >> static bool get_vt_h264_profile_level(AVCodecContext *avctx, CFStringRef *profile_level_val) >> >> Is what I want but I don’t know how to pass the right parameters from the api side. > > This function is not part of the API. For one, being declared "static" > means it's only available internally to this compilation unit. > Secondly, externally available functions have a different naming > scheme (av_*). > > This function is already called internally on initialization of the encoder, > so I don't understand what you need to do with it. I’m not trying to call that function. I’m trying to call this: av_opt_set(_encodingContext->priv_data, "preset", "medium", 0); But I don’t know what kind of parameters it expects inside. Regards, Nuno > > Cheers, > Moritz > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From mhkohne at moberg.com Tue Jun 9 17:01:57 2020 From: mhkohne at moberg.com (Michael Kohne) Date: Tue, 9 Jun 2020 10:01:57 -0400 Subject: [FFmpeg-user] Video corruption when transcoding on new computer In-Reply-To: References: Message-ID: Thank you. My apologies for not going to the latest before posting here. I should know this by now. I even have targets in the makefile for building the git version. nonfree - left from an experiment with AAC, perhaps? Definitely needed to go. cpudetect - not sure why I thought I need it. Perhaps because I specified the cpu? I've also removed that because...it's not helping if I'm runtime detecting. I'm pretty sure the extra-ldflags have to do with strange layout choices in my build tree. If you properly install the libraries into your system, I don't think that it is needed. I don't do so because I'm afraid of interfering with other system components. Yes, that does mean we have bigger problems (so many problems). Switching to the latest code seems to have fixed the issue, so I can continue for now and get past this. After I get this bit finished up, I'll be going on to switching in new compilers. (The reason we use these is an entire backward compatibility cluster**** that I don't want to talk about. We're getting better, but not quickly.). Again, thank you for your help. With best regards Michael Kohne SR. SOFTWARE ENGINEER Office +1.215.283.0860 x208 | www.moberg.com On Mon, Jun 8, 2020 at 2:34 PM Carl Eugen Hoyos wrote: > Am Mo., 8. Juni 2020 um 16:31 Uhr schrieb Michael Kohne via > ffmpeg-user : > > > I'm working with ffmpeg 4.2.3 that I built myself. > > Please test current FFmpeg git head, the only version > supported on this mailing list. > > Unrelated: --enable-nonfree has only disadvantages for you, > no advantages. --enable-runtime-cpudetect is the default > and does not do what you think it does, remove it. If the > extra-ldflags are needed, this could indicate a bug that I > would like to know more about. > > And please test with file input. > > Oh, and please test with a sane compiler version, yours > is antique (and if there is an issue, your compiler is a > likely reason). > > Carl Eugen > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". -- Now a member of From ceffmpeg at gmail.com Tue Jun 9 19:56:21 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Tue, 9 Jun 2020 18:56:21 +0200 Subject: [FFmpeg-user] Video corruption when transcoding on new computer In-Reply-To: References: Message-ID: Am Di., 9. Juni 2020 um 16:01 Uhr schrieb Michael Kohne via ffmpeg-user : > I'm pretty sure the extra-ldflags have to do with strange layout > choices in my build tree. > If you properly install the libraries into your system, I don't think that > it is needed. I don't do so because I'm afraid of interfering with other > system components. Sorry, my mistake: I wanted to mention that if the --extra-libs from your configure line are really needed that I would be curious because there may be bugs I'd like to fix. The --extra-ldflags may of course be necessary and make sense. Please find out what top-posting means and avoid it here, Carl Eugen From tuming16 at gmail.com Tue Jun 9 22:03:09 2020 From: tuming16 at gmail.com (Ming Tu) Date: Tue, 9 Jun 2020 12:03:09 -0700 Subject: [FFmpeg-user] ffmpeg/ffprobe different outputs for file input and binary data input Message-ID: Hi, I asked the same question on stackoverflow but no one answers. So I come here and hope it can be answered. The question is: https://stackoverflow.com/questions/62226122/ffmpeg-ffprobe-different-outputs-for-file-input-and-binary-data-input Thanks, Ming From ceffmpeg at gmail.com Tue Jun 9 22:16:42 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Tue, 9 Jun 2020 21:16:42 +0200 Subject: [FFmpeg-user] ffmpeg/ffprobe different outputs for file input and binary data input In-Reply-To: References: Message-ID: Am Di., 9. Juni 2020 um 21:11 Uhr schrieb Ming Tu : > > Hi, > > I asked the same question on stackoverflow but no one answers. So I come > here and hope it can be answered. Please ask your question here on the mailing list, don't forget to provide the command line(s) you tested including the complete, uncut console output. Carl Eugen From tuming16 at gmail.com Wed Jun 10 00:00:56 2020 From: tuming16 at gmail.com (Ming Tu) Date: Tue, 9 Jun 2020 14:00:56 -0700 Subject: [FFmpeg-user] ffprobe different outputs for file input and binary data input Message-ID: Hi, I noticed the different outputs of ffprobe for file input and binary data input. ffprobe -v error -show_streams -print_format xml Y001BAQ9k3SU-140.mp4 Output: cat Y001BAQ9k3SU-140.mp4 | ffprobe -v error -show_streams -i pipe: -print_format xml [mov,mp4,m4a,3gp,3g2,mj2 @ 0x55d1d5959ae0] stream 1, offset 0x30: partial file You can see there are some differences. The pix_fmt="yuv420p" is lost. And because of this, if I send the same pipe input to ffmpeg, it gives me errors: cat Y001BAQ9k3SU-140.mp4 | ffmpeg -nostats -probesize 100M -analyzeduration 100M -i pipe: -s 456x256 -r 5 -f image2pipe -pix_fmt rgb24 -vcodec rawvideo pipe: And the error is ffmpeg version 3.2.14-1~deb9u1 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516 configuration: --prefix=/usr --extra-version='1~deb9u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared libavutil 55. 34.101 / 55. 34.101 libavcodec 57. 64.101 / 57. 64.101 libavformat 57. 56.101 / 57. 56.101 libavdevice 57. 1.100 / 57. 1.100 libavfilter 6. 65.100 / 6. 65.100 libavresample 3. 1. 0 / 3. 1. 0 libswscale 4. 2.100 / 4. 2.100 libswresample 2. 3.100 / 2. 3.100 libpostproc 54. 1.100 / 54. 1.100 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x56129aff3f80] stream 1, offset 0x30: partial file [mov,mp4,m4a,3gp,3g2,mj2 @ 0x56129aff3f80] Could not find codec parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none, 1280x720, 1041 kb/s): unspecified pixel format Consider increasing the value for the 'analyzeduration' and 'probesize' options Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'pipe:': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf58.29.100 Duration: 00:00:11.25, bitrate: N/A Stream #0:0(und): Video: h264 (avc1 / 0x31637661), none, 1280x720, 1041 kb/s, SAR 1:1 DAR 16:9, 29.97 fps, 29.97 tbr, 90k tbn, 180k tbc (default) Metadata: handler_name : ISO Media file produced by Google Inc. Created on: 12/09/2017. Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default) Metadata: handler_name : ISO Media file produced by Google Inc. Created on: 12/09/2017. [buffer @ 0x56129b00d060] Unable to parse option value "-1" as pixel format Last message repeated 1 times [buffer @ 0x56129b00d060] Error setting option pix_fmt to value -1. [graph 0 input from stream 0:0 @ 0x56129b00cf60] Error applying options to the filter. Error opening filters! Please check! Thanks, Ming From barsnick at gmx.net Wed Jun 10 01:07:35 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Wed, 10 Jun 2020 00:07:35 +0200 Subject: [FFmpeg-user] ffprobe different outputs for file input and binary data input In-Reply-To: References: Message-ID: <20200609220735.GA32696@sunshine.barsnick.net> On Tue, Jun 09, 2020 at 14:00:56 -0700, Ming Tu wrote: > ffmpeg version 3.2.14-1~deb9u1 Copyright (c) 2000-2019 the FFmpeg developers This version is (functionally) almost ancient. Could you please retry with latest git? You can grab a static binary here: https://johnvansickle.com/ffmpeg/ (Left column, git master.) > [mov,mp4,m4a,3gp,3g2,mj2 @ 0x56129aff3f80] stream 1, offset 0x30: partial file > [mov,mp4,m4a,3gp,3g2,mj2 @ 0x56129aff3f80] Could not find codec parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none, 1280x720, 1041 kb/s): unspecified pixel format > Consider increasing the value for the 'analyzeduration' and 'probesize' options Did you try these options recommended here? (Even though I'm sure if that was the problem, the other version of your comand wouldn't work either.) Cheers, Moritz From tuming16 at gmail.com Wed Jun 10 02:20:33 2020 From: tuming16 at gmail.com (Ming Tu) Date: Tue, 9 Jun 2020 16:20:33 -0700 Subject: [FFmpeg-user] ffprobe different outputs for file input and binary data input In-Reply-To: <20200609220735.GA32696@sunshine.barsnick.net> References: <20200609220735.GA32696@sunshine.barsnick.net> Message-ID: "-probesize 100M -analyzeduration 100M " these options are from others' suggestions but they won't work. I will try the latest version. Thanks, Ming On Tue, Jun 9, 2020 at 3:13 PM Moritz Barsnick wrote: > On Tue, Jun 09, 2020 at 14:00:56 -0700, Ming Tu wrote: > > ffmpeg version 3.2.14-1~deb9u1 Copyright (c) 2000-2019 the FFmpeg > developers > > This version is (functionally) almost ancient. Could you please retry > with latest git? You can grab a static binary here: > https://johnvansickle.com/ffmpeg/ > (Left column, git master.) > > > [mov,mp4,m4a,3gp,3g2,mj2 @ 0x56129aff3f80] stream 1, offset 0x30: > partial file > > [mov,mp4,m4a,3gp,3g2,mj2 @ 0x56129aff3f80] Could not find codec > parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none, 1280x720, > 1041 kb/s): unspecified pixel format > > Consider increasing the value for the 'analyzeduration' and 'probesize' > options > > Did you try these options recommended here? (Even though I'm sure if > that was the problem, the other version of your comand wouldn't work > either.) > > Cheers, > Moritz > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From tuming16 at gmail.com Wed Jun 10 02:56:22 2020 From: tuming16 at gmail.com (Ming Tu) Date: Tue, 9 Jun 2020 16:56:22 -0700 Subject: [FFmpeg-user] ffprobe different outputs for file input and binary data input In-Reply-To: References: <20200609220735.GA32696@sunshine.barsnick.net> Message-ID: Updated to newest version but still has errors, different from before ffmpeg version 4.2.3-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2020 the FFmpeg developers built with gcc 8 (Debian 8.3.0-6) configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x63fc900] stream 1, offset 0x30: partial file [mov,mp4,m4a,3gp,3g2,mj2 @ 0x63fc900] Could not find codec parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none, 1280x720, 1041 kb/s): unspecified pixel format Consider increasing the value for the 'analyzeduration' and 'probesize' options Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'pipe:': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf58.29.100 Duration: 00:00:11.25, start: 0.000000, bitrate: N/A Stream #0:0(und): Video: h264 (avc1 / 0x31637661), none, 1280x720, 1041 kb/s, SAR 1:1 DAR 16:9, 29.97 fps, 29.97 tbr, 90k tbn, 180k tbc (default) Metadata: handler_name : ISO Media file produced by Google Inc. Created on: 12/09/2017 . Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default) Metadata: handler_name : ISO Media file produced by Google Inc. Created on: 12/09/2017 . Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> rawvideo (native)) [mov,mp4,m4a,3gp,3g2,mj2 @ 0x63fc900] stream 0, offset 0x19a: partial file pipe:: Invalid data found when processing input Cannot determine format of input stream 0:0 after EOF Error marking filters as finished Conversion failed! On Tue, Jun 9, 2020 at 4:20 PM Ming Tu wrote: > "-probesize 100M -analyzeduration 100M " these options are from others' > suggestions but they won't work. > > I will try the latest version. > > Thanks, > Ming > > On Tue, Jun 9, 2020 at 3:13 PM Moritz Barsnick wrote: > >> On Tue, Jun 09, 2020 at 14:00:56 -0700, Ming Tu wrote: >> > ffmpeg version 3.2.14-1~deb9u1 Copyright (c) 2000-2019 the FFmpeg >> developers >> >> This version is (functionally) almost ancient. Could you please retry >> with latest git? You can grab a static binary here: >> https://johnvansickle.com/ffmpeg/ >> (Left column, git master.) >> >> > [mov,mp4,m4a,3gp,3g2,mj2 @ 0x56129aff3f80] stream 1, offset 0x30: >> partial file >> > [mov,mp4,m4a,3gp,3g2,mj2 @ 0x56129aff3f80] Could not find codec >> parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none, 1280x720, >> 1041 kb/s): unspecified pixel format >> > Consider increasing the value for the 'analyzeduration' and 'probesize' >> options >> >> Did you try these options recommended here? (Even though I'm sure if >> that was the problem, the other version of your comand wouldn't work >> either.) >> >> Cheers, >> Moritz >> _______________________________________________ >> ffmpeg-user mailing list >> ffmpeg-user at ffmpeg.org >> https://ffmpeg.org/mailman/listinfo/ffmpeg-user >> >> To unsubscribe, visit link above, or email >> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". > > From george at nsup.org Wed Jun 10 12:16:37 2020 From: george at nsup.org (Nicolas George) Date: Wed, 10 Jun 2020 11:16:37 +0200 Subject: [FFmpeg-user] ffprobe different outputs for file input and binary data input In-Reply-To: References: Message-ID: <20200610091637.efxih6is2vmmo5nf@phare.normalesup.org> Ming Tu (12020-06-09): > cat Y001BAQ9k3SU-140.mp4 | A lot of MP4 files require reading something at the end first. It cannot work if the file is not seekable. Try to apply qt-faststart to see if it helps. Regards, -- Nicolas George -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From applemax82 at 163.com Wed Jun 10 13:18:29 2020 From: applemax82 at 163.com (qw) Date: Wed, 10 Jun 2020 18:18:29 +0800 (CST) Subject: [FFmpeg-user] does ffmpeg h264 decoder support h264 svc stream Message-ID: <6df9345.3f9e.1729dbd016a.Coremail.applemax82@163.com> Hi, I have one question about h264 svc: Does ffmpeg h264 decoder support h264 svc stream? Thanks! regards Andrew From kentaro at fukuchi.org Wed Jun 10 15:52:06 2020 From: kentaro at fukuchi.org (Kentaro Fukuchi) Date: Wed, 10 Jun 2020 21:52:06 +0900 Subject: [FFmpeg-user] Concatenate multiple (<10) movies with xfade filter Message-ID: <20200610215206.0d95e33f76d1a2085f85fcf7@fukuchi.org> Hi, Here I have more than 10 movies and want to concatenate into a single movie with cross-fade effect. I tried to use 'xfade' filter with many thanks to the authors of it, but I had no luck. What I did: ffmpeg -f concat -i movies.txt -filter_complex "xfade=transition=fade:duration=1" output.mp4 What I received: ffmpeg version N-98092-g7ab375f574 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04) configuration: libavutil 56. 52.100 / 56. 52.100 libavcodec 58. 92.100 / 58. 92.100 libavformat 58. 46.101 / 58. 46.101 libavdevice 58. 11.100 / 58. 11.100 libavfilter 7. 86.100 / 7. 86.100 libswscale 5. 8.100 / 5. 8.100 libswresample 3. 8.100 / 3. 8.100 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x55aa7f382000] Auto-inserting h264_mp4toannexb bitstream filter Input #0, concat, from 'movies.txt': Duration: N/A, start: 0.000000, bitrate: 5521 kb/s Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 5521 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc Metadata: handler_name : VideoHandler Cannot find a matching stream for unlabeled input pad 1 on filter Parsed_xfade_0 Additional note: The following worked as expected: ffmpeg -i movie1.mp4 -i movie2.mp4 -filter_complex xfade=transition=fade:duration=1 output.mp4 Seems that the combination of filter_complex and concat format does not work as expected. How can I use filter_complex and xfade filter with concat format? Any suggestions are welcome. Kentaro From onemda at gmail.com Wed Jun 10 16:26:23 2020 From: onemda at gmail.com (Paul B Mahol) Date: Wed, 10 Jun 2020 15:26:23 +0200 Subject: [FFmpeg-user] Concatenate multiple (<10) movies with xfade filter In-Reply-To: <20200610215206.0d95e33f76d1a2085f85fcf7@fukuchi.org> References: <20200610215206.0d95e33f76d1a2085f85fcf7@fukuchi.org> Message-ID: On 6/10/20, Kentaro Fukuchi wrote: > Hi, > > Here I have more than 10 movies and want to concatenate into a single movie > with cross-fade effect. I tried to use 'xfade' filter with many thanks to > the authors of it, but I had no luck. > > What I did: > ffmpeg -f concat -i movies.txt -filter_complex > "xfade=transition=fade:duration=1" output.mp4 > > What I received: > ffmpeg version N-98092-g7ab375f574 Copyright (c) 2000-2020 the FFmpeg > developers > built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04) > configuration: > libavutil 56. 52.100 / 56. 52.100 > libavcodec 58. 92.100 / 58. 92.100 > libavformat 58. 46.101 / 58. 46.101 > libavdevice 58. 11.100 / 58. 11.100 > libavfilter 7. 86.100 / 7. 86.100 > libswscale 5. 8.100 / 5. 8.100 > libswresample 3. 8.100 / 3. 8.100 > [mov,mp4,m4a,3gp,3g2,mj2 @ 0x55aa7f382000] Auto-inserting h264_mp4toannexb > bitstream filter > Input #0, concat, from 'movies.txt': > Duration: N/A, start: 0.000000, bitrate: 5521 kb/s > Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, > 1280x720, 5521 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc > Metadata: > handler_name : VideoHandler > Cannot find a matching stream for unlabeled input pad 1 on filter > Parsed_xfade_0 > > Additional note: > The following worked as expected: > ffmpeg -i movie1.mp4 -i movie2.mp4 -filter_complex > xfade=transition=fade:duration=1 output.mp4 > > Seems that the combination of filter_complex and concat format does not work > as expected. > How can I use filter_complex and xfade filter with concat format? Any > suggestions are welcome. xfade filter can not work with concat demuxer output. > > Kentaro > > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From george at nsup.org Wed Jun 10 16:37:22 2020 From: george at nsup.org (Nicolas George) Date: Wed, 10 Jun 2020 15:37:22 +0200 Subject: [FFmpeg-user] Concatenate multiple (<10) movies with xfade filter In-Reply-To: References: <20200610215206.0d95e33f76d1a2085f85fcf7@fukuchi.org> Message-ID: <20200610133722.c2ymtrtmjzqfhzkr@phare.normalesup.org> Paul B Mahol (12020-06-10): > xfade filter can not work with concat demuxer output. That would be a bug. Please report it properly. Regards, -- Nicolas George -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From onemda at gmail.com Wed Jun 10 16:39:14 2020 From: onemda at gmail.com (Paul B Mahol) Date: Wed, 10 Jun 2020 15:39:14 +0200 Subject: [FFmpeg-user] Concatenate multiple (<10) movies with xfade filter In-Reply-To: <20200610133722.c2ymtrtmjzqfhzkr@phare.normalesup.org> References: <20200610215206.0d95e33f76d1a2085f85fcf7@fukuchi.org> <20200610133722.c2ymtrtmjzqfhzkr@phare.normalesup.org> Message-ID: On 6/10/20, Nicolas George wrote: > Paul B Mahol (12020-06-10): >> xfade filter can not work with concat demuxer output. > > That would be a bug. Please report it properly. > How so it is a bug? xfade needs 2 inputs. concat demuxer gives single output. > Regards, > > -- > Nicolas George > From george at nsup.org Wed Jun 10 17:22:58 2020 From: george at nsup.org (Nicolas George) Date: Wed, 10 Jun 2020 16:22:58 +0200 Subject: [FFmpeg-user] Concatenate multiple (<10) movies with xfade filter In-Reply-To: References: <20200610215206.0d95e33f76d1a2085f85fcf7@fukuchi.org> <20200610133722.c2ymtrtmjzqfhzkr@phare.normalesup.org> Message-ID: <20200610142258.emksmsgplu4jynu2@phare.normalesup.org> Paul B Mahol (12020-06-10): > How so it is a bug? xfade needs 2 inputs. > concat demuxer gives single output. A filter that "can not work with" the output of another filter, your words, is a bug. Filters should all work together seamlessly. Regards, -- Nicolas George -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From onemda at gmail.com Wed Jun 10 17:24:45 2020 From: onemda at gmail.com (Paul B Mahol) Date: Wed, 10 Jun 2020 16:24:45 +0200 Subject: [FFmpeg-user] Concatenate multiple (<10) movies with xfade filter In-Reply-To: <20200610142258.emksmsgplu4jynu2@phare.normalesup.org> References: <20200610215206.0d95e33f76d1a2085f85fcf7@fukuchi.org> <20200610133722.c2ymtrtmjzqfhzkr@phare.normalesup.org> <20200610142258.emksmsgplu4jynu2@phare.normalesup.org> Message-ID: On 6/10/20, Nicolas George wrote: > Paul B Mahol (12020-06-10): >> How so it is a bug? xfade needs 2 inputs. >> concat demuxer gives single output. > > A filter that "can not work with" the output of another filter, your > words, is a bug. Filters should all work together seamlessly. It can work with its output just fine, just not in way user imagined. > > Regards, > > -- > Nicolas George > From george at nsup.org Wed Jun 10 18:19:45 2020 From: george at nsup.org (Nicolas George) Date: Wed, 10 Jun 2020 17:19:45 +0200 Subject: [FFmpeg-user] Concatenate multiple (<10) movies with xfade filter In-Reply-To: References: <20200610215206.0d95e33f76d1a2085f85fcf7@fukuchi.org> <20200610133722.c2ymtrtmjzqfhzkr@phare.normalesup.org> <20200610142258.emksmsgplu4jynu2@phare.normalesup.org> Message-ID: <20200610151945.52dbjzy7vskzebv7@phare.normalesup.org> Paul B Mahol (12020-06-10): > It can work with its output just fine, just not in way user imagined. So your statement: | xfade filter can not work with concat demuxer output. was actually wrong? -- Nicolas George -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From omega_canta at yahoo.com Wed Jun 10 18:21:32 2020 From: omega_canta at yahoo.com (Daniel Cantarin) Date: Wed, 10 Jun 2020 15:21:32 +0000 (UTC) Subject: [FFmpeg-user] Tracking ffmpeg instance by its logs References: <1885277835.1548762.1591802492153.ref@mail.yahoo.com> Message-ID: <1885277835.1548762.1591802492153@mail.yahoo.com> Hi there. I'm having some trouble with a ffmpeg working with an external stream as input. This are the logs I see: ``` (...) Jun  8 10:57:05 server-name journal: [h264 @ 0x55a098c0c700] non-existing PPS 0 referenced Jun  8 10:57:05 server-name journal: [h264 @ 0x55a098c0c700] decode_slice_header error Jun  8 10:57:05 server-name journal: [h264 @ 0x55a098c0c700] non-existing PPS 0 referenced (...) Jun  8 10:57:05 server-name journal: [NULL @ 0x55a0984b5fc0] non-existing PPS 0 referenced (...) Jun  8 10:57:05 server-name journal: [h264 @ 0x55a098dbc740] non-existing PPS 0 referenced Jun  8 10:57:05 server-name journal: [h264 @ 0x55a098dbc740] decode_slice_header error Jun  8 10:57:05 server-name journal: [h264 @ 0x55a098dbc740] non-existing PPS 0 referenced (...) Jun  8 11:04:26 server-name journal: [h264 @ 0x55ae88d1c3c0] non-existing PPS 0 referenced Jun  8 11:04:26 server-name journal: [h264 @ 0x55ae88d1c3c0] decode_slice_header error Jun  8 11:04:26 server-name journal: [h264 @ 0x55ae88d1c3c0] no frame! (...) ``` Thing is, I have several instances of ffmpeg running in the same server (configured as a system service, and thus the systemd journal logs), and can't find which one is triggering the errors. All I have is that memory address form the encoder/decoder. So, I come to this mailing list to ask this question: does anybody knows a simple way to match that memory address with the current system proccess using it? Thanks in advance. From george at nsup.org Wed Jun 10 18:52:23 2020 From: george at nsup.org (Nicolas George) Date: Wed, 10 Jun 2020 17:52:23 +0200 Subject: [FFmpeg-user] Tracking ffmpeg instance by its logs In-Reply-To: <1885277835.1548762.1591802492153@mail.yahoo.com> References: <1885277835.1548762.1591802492153.ref@mail.yahoo.com> <1885277835.1548762.1591802492153@mail.yahoo.com> Message-ID: <20200610155223.xa33myowsegkwlyw@phare.normalesup.org> Daniel Cantarin via ffmpeg-user (12020-06-10): > So, I come to this mailing list to ask this question: does anybody > knows a simple way to match that memory address with the current > system proccess using it? No, the address will not help you to that. Most likely it is randomized, and even if it was not it is not reproducible. Arrange for your logs to arrive to different places or with proper tagging. If your several instances of ffmpeg are started by systemd, it is probably already the case, and you just need to read journalctl's doc to get the information you need. Regards, -- Nicolas George -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From cpz at tuunq.com Wed Jun 10 19:12:58 2020 From: cpz at tuunq.com (Carl Zwanzig) Date: Wed, 10 Jun 2020 09:12:58 -0700 Subject: [FFmpeg-user] ffprobe different outputs for file input and binary data input In-Reply-To: References: <20200609220735.GA32696@sunshine.barsnick.net> Message-ID: On 6/9/2020 4:56 PM, Ming Tu wrote: > Updated to newest version but still has errors, different from before > > ffmpeg version 4.2.3-statichttps://johnvansickle.com/ffmpeg/ Copyright (c) > 2000-2020 the FFmpeg developers > built with gcc 8 (Debian 8.3.0-6) You cut the command line, don't do that even if it's the same as the last time. Also, do not top-post on this mailing list. z! From robin.carlisle at framestore.com Wed Jun 10 19:07:10 2020 From: robin.carlisle at framestore.com (Robin Carlisle) Date: Wed, 10 Jun 2020 17:07:10 +0100 Subject: [FFmpeg-user] ffmpeg : kmsgrab not working for me Message-ID: Hi, Hoping someone can help me with my issue, or guide me to the correct place to ask this question. I am using an Intel NUC :- https://ark.intel.com/content/www/us/en/ark/products/188808/intel-nuc-10-performance-kit-nuc10i7fnk.html that has this CPU :- https://ark.intel.com/content/www/us/en/ark/products/196448/intel-core-i7-10710u-processor-12m-cache-up-to-4-70-ghz.html I am using Linux, ubuntu desktop 20.04 with the drivers that are installed as default. I did a minimal installation with no 3rd party drivers as part of the installation process. I am running the default desktop in X. 1920x1080 @ 60 Hz I installed ffmpeg with the usual *sudo apt install ffmpeg* I granted required permissions to the ffmpeg exe : *sudo setcap cap_sys_admin+ep `which ffmpeg`* I tried the following too,.. but this made no difference : *sudo usermod -a -G video $USER* *sudo usermod -a -G render $USER* I also tried the oibaf drivers.. but this made no difference either way. *sudo add-apt-repository ppa:oibaf/graphics-driverssudo apt -y updatesudo apt -y upgradesudo reboot* I followed many online examples and none of them worked, they all ended up with the same error. Thanks v much! *ffmpeg -f kmsgrab -i - -vf 'hwmap=derive_device=vaapi,scale_vaapi=w=1920:h=1080:format=nv12' -c:v h264_vaapi output.mp4* ffmpeg version 4.2.2-1ubuntu1 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 9 (Ubuntu 9.3.0-3ubuntu1) configuration: --prefix=/usr --extra-version=1ubuntu1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 [kmsgrab @ 0x55af5b53b700] Using plane 31 to locate framebuffers. [kmsgrab @ 0x55af5b53b700] Template framebuffer is 108: 1920x1080 32bpp 24b depth. Input #0, kmsgrab, from 'pipe:': Duration: N/A, start: 1591804071.260090, bitrate: N/A Stream #0:0: Video: wrapped_avframe, drm_prime, 1920x1080, 29.83 tbr, 1000k tbn, 1000k tbc Stream mapping: Stream #0:0 -> #0:0 (wrapped_avframe (native) -> h264 (h264_vaapi)) [Parsed_scale_vaapi_1 @ 0x55af5b55c0c0] Failed to create processing pipeline config: 12 (the requested VAProfile is not supported). [Parsed_scale_vaapi_1 @ 0x55af5b55c0c0] Failed to configure output pad on Parsed_scale_vaapi_1 Error reinitializing filters! Failed to inject frame into filter network: Input/output error Error while processing the decoded data for stream #0:0 Conversion failed! *vainfo* libva info: VA-API version 1.7.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_7 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.7 (libva 2.6.0) vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 20.1.1 () vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSliceLP VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSliceLP VAProfileJPEGBaseline : VAEntrypointVLD VAProfileJPEGBaseline : VAEntrypointEncPicture VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP VAProfileVP8Version0_3 : VAEntrypointVLD VAProfileHEVCMain : VAEntrypointVLD VAProfileHEVCMain10 : VAEntrypointVLD VAProfileVP9Profile0 : VAEntrypointVLD VAProfileVP9Profile2 : VAEntrypointVLD *glxinfo -B* name of display: :0 display: :0 screen: 0 direct rendering: Yes Extended renderer info (GLX_MESA_query_renderer): Vendor: Intel (0x8086) Device: Mesa Intel(R) UHD Graphics (CML GT2) (0x9bca) Version: 20.0.4 Accelerated: yes Video memory: 3072MB Unified memory: yes Preferred profile: core (0x1) Max core profile version: 4.6 Max compat profile version: 4.6 Max GLES1 profile version: 1.1 Max GLES[23] profile version: 3.2 OpenGL vendor string: Intel OpenGL renderer string: Mesa Intel(R) UHD Graphics (CML GT2) OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.0.4 OpenGL core profile shading language version string: 4.60 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.0.4 OpenGL shading language version string: 4.60 OpenGL context flags: (none) OpenGL profile mask: compatibility profile OpenGL ES profile version string: OpenGL ES 3.2 Mesa 20.0.4 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20 From cpz at tuunq.com Wed Jun 10 19:41:09 2020 From: cpz at tuunq.com (Carl Zwanzig) Date: Wed, 10 Jun 2020 09:41:09 -0700 Subject: [FFmpeg-user] Concatenate multiple (<10) movies with xfade filter In-Reply-To: References: <20200610215206.0d95e33f76d1a2085f85fcf7@fukuchi.org> <20200610133722.c2ymtrtmjzqfhzkr@phare.normalesup.org> <20200610142258.emksmsgplu4jynu2@phare.normalesup.org> Message-ID: On 6/10/2020 7:24 AM, Paul B Mahol wrote: > On 6/10/20, Nicolas George wrote: >> Paul B Mahol (12020-06-10): >>> How so it is a bug? xfade needs 2 inputs. >>> concat demuxer gives single output. >> A filter that "can not work with" the output of another filter, your >> words, is a bug. Filters should all work together seamlessly. > It can work with its output just fine, just not in way user imagined. Which seems entirely correct, even if the phrasing may be poor. Back to the user's problem. If you concat the files, the xfade filter has nothing to work with since it's getting a single stream. To do what you're asking, you need to tell ffmpeg when to "start" the incoming stream (before the outgoing one ends) and start the xfade -then-. in ascii art- 111111111---- xx -------222222222---- xx --------------3333333 the streams must overlap. IMHO, this is not a simple one-line single command. You need to know the length of each segment, then backtime from the end of each when to start the next one and when to xfade. If this is recurring task, write a script to do the calculations. If it's a one-time deal, use some video editor software. z! From tuming16 at gmail.com Wed Jun 10 20:05:25 2020 From: tuming16 at gmail.com (Ming Tu) Date: Wed, 10 Jun 2020 10:05:25 -0700 Subject: [FFmpeg-user] ffprobe different outputs for file input and binary data input In-Reply-To: References: <20200609220735.GA32696@sunshine.barsnick.net> Message-ID: I solved it by ffmpeg -i no_streamable.mp4 -movflags faststart -f mp4 -y streamable.mp4 according to https://github.com/fluent-ffmpeg/node-fluent-ffmpeg/issues/823 Thanks all for the suggestions! On Wed, Jun 10, 2020 at 9:13 AM Carl Zwanzig wrote: > On 6/9/2020 4:56 PM, Ming Tu wrote: > > Updated to newest version but still has errors, different from before > > > > ffmpeg version 4.2.3-statichttps://johnvansickle.com/ffmpeg/ Copyright > (c) > > 2000-2020 the FFmpeg developers > > built with gcc 8 (Debian 8.3.0-6) > > You cut the command line, don't do that even if it's the same as the last > time. > > Also, do not top-post on this mailing list. > > z! > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From ffmpeg at gyani.pro Wed Jun 10 20:58:02 2020 From: ffmpeg at gyani.pro (Gyan Doshi) Date: Wed, 10 Jun 2020 23:28:02 +0530 Subject: [FFmpeg-user] ffprobe different outputs for file input and binary data input In-Reply-To: References: <20200609220735.GA32696@sunshine.barsnick.net> Message-ID: <77b890ed-889a-ef2f-a15c-b412072e7d5b@gyani.pro> On 10-06-2020 10:35 pm, Ming Tu wrote: > I solved it by ffmpeg -i no_streamable.mp4 -movflags faststart -f mp4 -y > streamable.mp4 according to > https://github.com/fluent-ffmpeg/node-fluent-ffmpeg/issues/823 > > Thanks all for the suggestions! You'll usually want to add    -c copy    to avoid re-encoding. And maybe    -map 0    to make sure all input streams are carried over. But some proprietary data streams won't be correctly described in the output file. Gyan From oliver.greg at gmail.com Wed Jun 10 23:42:34 2020 From: oliver.greg at gmail.com (Greg Oliver) Date: Wed, 10 Jun 2020 15:42:34 -0500 Subject: [FFmpeg-user] how to control quality of subtitles In-Reply-To: <87mu5w0x61.fsf@a16n.net> References: <87367sdq6b.fsf@a16n.net> <87tv048mg1.fsf@a16n.net> <20200525084905.GB32189@sunshine.barsnick.net> <87d06s5gnu.fsf@a16n.net> <87mu5w0x61.fsf@a16n.net> Message-ID: On Mon, May 25, 2020 at 11:58 AM Peter Münster wrote: > On Mon, May 25 2020, Carl Eugen Hoyos wrote: > > > Please provide an input sample. > > Here is a sample, this time without corruption: > > http://pmrb.free.fr/tmp/ffmpeg-test/sample.mkv > > -- > Peter > Sorry to chime in late - Samsungs are notorious for display info from a "Computer" very badly unless you change the name of the input on the TV to "PC" - yes this includes HDMI inputs as well. Have you tried that? All of our Samsungs have a dedicated input already named PC, but you can name as many as you like to PC. Info :: https://www.samsung.com/za/support/tv-audio-video/hdmi-pc-connection-text-is-fuzzy-image-is-not-clear/ From leo.butler81 at googlemail.com Thu Jun 11 05:28:06 2020 From: leo.butler81 at googlemail.com (Leo Butler) Date: Wed, 10 Jun 2020 21:28:06 -0500 Subject: [FFmpeg-user] combining concat filter with closed caption extraction Message-ID: <86y2ou9w09.fsf@x201.butler.org> Currently, the only way I know to extract/insert closed captions as a subtitle stream is in 2 passes. Something like ffmpeg -i A.ts -i B.ts -filter_complex '[0:0][0:1][1:0][1:1] concat=n=2:v=1:a=1' C.mkv ffmpeg -i C.mkv -f lavfi 'movie=C.mkv[out0+subcc]' -map 0 -map 1:s D.mkv (In practice, A.ts and B.ts are segments from the same file). Question: Is there a way to reduce this to one pass? I am using a recent version of ffmpeg compiled from the git repository. --- It may seem odd to want to convert the closed captions to a subtitle stream, but in my use case, the subtitles are easier to read than the closed captions. Leo From bernd at casa-eller.de Thu Jun 11 10:33:55 2020 From: bernd at casa-eller.de (Bernd Eller) Date: Thu, 11 Jun 2020 09:33:55 +0200 Subject: [FFmpeg-user] copy encoder settings for cycling platform Message-ID: Hello, sorry for that beginner question. I use Garmin Virb to create Videos (synced with GPS) for a online cycling Platform and use some simple ffmpeg commands in the back.. The Videos a very big and after uploading the Platform will re-encode it to a small but well working file I wont upload big files which they reduce from eg. 17GB to 4GB, but i dont wont upload it in a lesser quality than they re-code This mean i want upload it in the same quality or a little bit higher. I have checked the Encoder Settings of the Platform and want ask if i can or how i can simply copy this setting to produce the same quality. But it looks a little bit tricky to find all that settings. Can somebody help me to find the complete ffmpeg command ? This would be great and safe a lot of upload time for me. Here is the he Encoder Setting of the Platform: Encoding settings           : cabac=1 / ref=6 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=6 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=8 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=30 / keyint_min=3 / scenecut=40 / intra_refresh=0 / rc_lookahead=30 / rc=2pass / mbtree=1 / bitrate=20000 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00 I have found the following commands: ffmpeg -i input.mkv  -coder 1 -refs 6 -me_method umh -subq 10 out.mkv of course thats are only the beginning of my "search-command.tests" but the subq 10 will give me a output: subme=9 and i believe its a "2 Step issue" It would be realy great if somebody spend some time to help me, the documentation is so big and i dont really understand all that things, but willing to learn. Tnx for helping. Bernd From kumowoon1025 at gmail.com Thu Jun 11 10:54:14 2020 From: kumowoon1025 at gmail.com (Edward Park) Date: Thu, 11 Jun 2020 03:54:14 -0400 Subject: [FFmpeg-user] copy encoder settings for cycling platform In-Reply-To: References: Message-ID: <458995E1-DE20-4E2F-8832-BF1A47EEEAF8@gmail.com> Hi there, > The Videos a very big and after uploading the Platform will re-encode it to a small but well working file > > I wont upload big files which they reduce from eg. 17GB to 4GB, but i dont wont upload it in a lesser quality than they re-code > > This mean i want upload it in the same quality or a little bit higher. > > I have checked the Encoder Settings of the Platform and want ask if i can or how i can simply copy this setting to produce the same quality. The short answer is no. Each iteration of encoding (especially compression-heavy codecs such as h264) is all but guaranteed to have adverse effects on perceived quality or fidelity, on every encoding iteration. Replicating the encoder settings is not going to produce "lossless," or, what I think you are expecting, "no more loss than is necessary" output. The rule of thumb for codecs such as h264, hevc, vp9, etc. is to encode as few times as possible, if you are going for maximum fidelity to the original. I may have misunderstood your question though, if that's the case, please let me know and I will try harder to understand your proposed workflow. Regards, Ted Park From george at nsup.org Thu Jun 11 11:11:10 2020 From: george at nsup.org (Nicolas George) Date: Thu, 11 Jun 2020 10:11:10 +0200 Subject: [FFmpeg-user] combining concat filter with closed caption extraction In-Reply-To: <86y2ou9w09.fsf@x201.butler.org> References: <86y2ou9w09.fsf@x201.butler.org> Message-ID: <20200611081110.kec56kxsus5772gm@phare.normalesup.org> Leo Butler via ffmpeg-user (12020-06-10): > ffmpeg -i C.mkv -f lavfi 'movie=C.mkv[out0+subcc]' -map 0 -map 1:s D.mkv You are missing a -i in this command line. > Question: Is there a way to reduce this to one pass? With the -i, it becomes obvious: 'movie=C.mkv[out0+subcc]' is just another input, like B.ts. Regards, -- Nicolas George -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From bernd at casa-eller.de Thu Jun 11 13:16:34 2020 From: bernd at casa-eller.de (Bernd Eller) Date: Thu, 11 Jun 2020 12:16:34 +0200 Subject: [FFmpeg-user] combining concat filter with closed caption extraction In-Reply-To: <20200611081110.kec56kxsus5772gm@phare.normalesup.org> References: <20200611081110.kec56kxsus5772gm@phare.normalesup.org> Message-ID: Of course I have forget it in the post...(-i) I will figure out if I can copy the encoder setting.. Von meinem iPhone gesendet > Am 11.06.2020 um 10:11 schrieb Nicolas George : > > Leo Butler via ffmpeg-user (12020-06-10): >> ffmpeg -i C.mkv -f lavfi 'movie=C.mkv[out0+subcc]' -map 0 -map 1:s D.mkv > > You are missing a -i in this command line. > >> Question: Is there a way to reduce this to one pass? > > With the -i, it becomes obvious: 'movie=C.mkv[out0+subcc]' is just > another input, like B.ts. > > Regards, > > -- > Nicolas George > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From drramimagdi at gmail.com Thu Jun 11 14:50:10 2020 From: drramimagdi at gmail.com (drramimagdi) Date: Thu, 11 Jun 2020 06:50:10 -0500 (CDT) Subject: [FFmpeg-user] removing a segment/segments from video Message-ID: <1591876210236-0.post@n4.nabble.com> i have 10min video i want to cut 4 mins to get 6min the output should be 00:00:00-00:02:00 and 00:06:00-00:10:00 so i want to cut 00:02:00-00:06:00 i can do it using avidemux can it done with ffmpeg? i don't want to trim then merge the splitted files, i want it in one command -- Sent from: http://www.ffmpeg-archive.org/ From astroelectronic at t-online.de Thu Jun 11 15:21:27 2020 From: astroelectronic at t-online.de (Michael Koch) Date: Thu, 11 Jun 2020 14:21:27 +0200 Subject: [FFmpeg-user] removing a segment/segments from video In-Reply-To: <1591876210236-0.post@n4.nabble.com> References: <1591876210236-0.post@n4.nabble.com> Message-ID: Am 11.06.2020 um 13:50 schrieb drramimagdi: > i have 10min video i want to cut 4 mins to get 6min > the output should be 00:00:00-00:02:00 and 00:06:00-00:10:00 > so i want to cut 00:02:00-00:06:00 > i can do it using avidemux > can it done with ffmpeg? > i don't want to trim then merge the splitted files, i want it in one command something like this should work (I haven't tested it): ffmpeg -i in.mp4 -i in.mp4 -filter_complex [0]trim=start=0:end=120[a];[1]trim=start=360[b];[a][b]concat=n=2:v=1:a=1 out.mp4 Michael From barsnick at gmx.net Thu Jun 11 17:16:17 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Thu, 11 Jun 2020 16:16:17 +0200 Subject: [FFmpeg-user] copy encoder settings for cycling platform In-Reply-To: References: Message-ID: <20200611141617.GA10642@sunshine.barsnick.net> On Thu, Jun 11, 2020 at 09:33:55 +0200, Bernd Eller wrote: > I wont upload big files which they reduce from eg. 17GB to 4GB, but i > dont wont upload it in a lesser quality than they re-code > > This mean i want upload it in the same quality or a little bit higher. As Edward said: If your upload platform recodes the video, and so do you, you will have two processes involving loss of quality. This is not recommended. > I have checked the Encoder Settings of the Platform and want ask if i > can or how i can simply copy this setting to produce the same quality. If you just want to reduce your video size while retaining a certain amount of quality, play with the CRF setting and the presets for libx264. Make sure you understand the implications of them. If you want to replicate that encoding, a first good bet might be to see if those match one of x264's presets, and using that. (Note, CRF vs. fixed bitrate, 1-pass vs. 2-pass, and so forth, will change the parameters despite same preset.) Yours looks a bit like preset "veryslow" with fixed-rate 2-pass encoding and changed GOP sizes. But in case you or anybody else *really* wants to exactly reproduce x264's reported encoding settings (for whatever reason), there is a method. Quoting your video characteristics: > Encoding settings           : cabac=1 / ref=6 / deblock=1:0:0 / > analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.00 / > mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / > deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=6 / > lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / > interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=8 / > b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / > weightp=2 / keyint=30 / keyint_min=3 / scenecut=40 / intra_refresh=0 / > rc_lookahead=30 / rc=2pass / mbtree=1 / bitrate=20000 / ratetol=1.0 / > qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / > ip_ratio=1.40 / aq=1:1.00 This output is from Mediainfo. You must understand that this is info that the original encoder x264 has embedded into the video stream. As ffmpeg uses x264, and has a lot of liberties, you *can* try to exactly reproduce these setting. There's an option to the libx264 encoder names "-x264-params", which will pass these parameters directly to the encoding library. Unfortunately, the parameters don't match *exactly* (which is libx264's fault), so you need to do some investigation as well as trial and error in order to get them right. Also see here: https://superuser.com/a/1559852/361295 I tried to replicate the "veryslow" prefix, which gives a video with this info: cabac=1 / ref=16 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=3 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=8 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=23.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00 This is the command line option I need to use to replicate that. Note the many discrepancies in the formatting of variables and values! -x264-params 'cabac=1:ref=16:deblock=0,0:analyse=all:me=umh:subme=10:psy=1:psy_rd=1.00,0.00:mixed-refs=1:me_range=24:chroma_me=1:trellis=2:8x8dct=1:cqm=flat:deadzone-inter=21:deadzone-intra=11:fast_pskip=1:chroma_qp_offset=0:threads=3:lookahead_threads=1:sliced_threads=0:nr=0:dct-decimate=1:interlaced=0:bluray_compat=0:constrained_intra=0:bframes=8:b_pyramid=2:b_adapt=2:b_bias=0:direct=auto:weightb=1:open_gop=0:weightp=2:keyint=250:keyint_min=25:scenecut=40:intra_refresh=0:rc_lookahead=60:mbtree=1:crf=23.0:qcomp=0.60:qpmin=0:qpmax=69:qpstep=4:ipratio=1.40:aq-mode=1:aq-strength=1.00' I actually got bit-wise identical videos. Your mileage may vary. > It would be realy great if somebody spend some time to help me, the > documentation is so big and i dont really understand all that things, > but willing to learn. To learn, just play around with encoder settings a bit, and read about the H.264 basics here: https://trac.ffmpeg.org/wiki/Encode/H.264 Cheers, Moritz From ybarbeaux at gmail.com Thu Jun 11 18:06:53 2020 From: ybarbeaux at gmail.com (Yannick Barbeaux) Date: Thu, 11 Jun 2020 17:06:53 +0200 Subject: [FFmpeg-user] multicast RTSP/RTP input : timeout Message-ID: Hello I am struggling to read a multicast audio RTP stream controlled by RTSP. As soon as I launch the ffplay or ffmpeg command, the RTP traffic starts on port 5004/UDP (as advertised in the SDP file), so it should read the stream correctly but I finally get a time-out instead (and empty out file). The very same RTSP URL can be read without any issue with VLC. $ ffmpeg -y -rtsp_transport udp_multicast -i "rtsp://192.168.2.148:554/by-name/AES67-stream (on hasseb-AoE-F8-82)" -vn -f s24le -ar 48000 -c:a pcm_s24be out.raw ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1) configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libfreetype --enable-gnutl s --enable-libdav1d --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvidstab --enable-libtheora --en able-libwavpack --enable-libopenjpeg --enable-libgsm --enable-nvenc --enable-libzimg --enable-libaom libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 Guessed Channel Layout for Input Stream #0.0 : stereo Input #0, rtsp, from 'rtsp://192.168.2.148:554/by-name/AES67-stream (on hasseb-AoE-F8-82)': Metadata: title : AES67-stream (on hasseb-AoE-F8-82) streamed by "hasseb" Duration: N/A, bitrate: 2304 kb/s Stream #0:0: Audio: pcm_s24be, 48000 Hz, stereo, s32 (24 bit), 2304 kb/s Stream mapping: Stream #0:0 -> #0:0 (pcm_s24be (native) -> pcm_s24be (native)) Press [q] to stop, [?] for help rtsp://192.168.2.148:554/by-name/AES67-stream (on hasseb-AoE-F8-82): Connection timed out Output #0, s24le, to 'out.raw': Metadata: title : AES67-stream (on hasseb-AoE-F8-82) streamed by "hasseb" encoder : Lavf58.29.100 Stream #0:0: Audio: pcm_s24be, 48000 Hz, stereo, s32 (24 bit), 2304 kb/s Metadata: encoder : Lavc58.54.100 pcm_s24be size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used) The SDP file is : v=0 o=- 254522267104 0 IN IP4 192.168.2.148 s=AES67-stream (on hasseb-AoE-F8-82) streamed by "hasseb" t=0 0 a=clock-domain:PTPv2 0 a=recvonly m=audio 5004 RTP/AVP 98 c=IN IP4 239.123.123.123/255 a=rtpmap:98 L24/48000/2 a=sync-time:0 a=framecount:48 a=source-filter: incl IN IP4 239.123.123.123 192.168.2.148 a=ts-refclk:ptp=IEEE1588-2008:00-10-4b-ff-fe-2e-f8-82:domain-nmbr=0 a=mediaclk:direct=0 a=ptime:1 Comparing those files, we see that ffmpeg gets the right audio settings (pcm_s24be, 48000 Hz, stereo, s32 (24 bit)) so why cannot it read the data ? I have tried to increase the timeout but that did not help. Any help would be appreciated. Thank you. Yannick From Rakesh.Chakraborty at mheducation.com Thu Jun 11 18:27:49 2020 From: Rakesh.Chakraborty at mheducation.com (Chakraborty, Rakesh) Date: Thu, 11 Jun 2020 15:27:49 +0000 Subject: [FFmpeg-user] Issue in video compression Message-ID: Hi Team, I am currently working with ffmpeg 4.2.2 for video transcoding. My objective is to transcode a particular .mov file to .mp4 file and compress to a significant amount. I am using the following command:- ffmpeg -i Input0.mov -y -fpre ./preset/mp4_Projector.ffpreset -astrict -2 -vsync vfr -acodec copy -vcodec copy -s 1280x720 Output0.mp4 The description of preset file that has been used is as follows:- vcodec=libx264 vprofile=main level=30 b:v=800000 bufsize=800000 But the output .mp4 file is not getting compressed. For example:- if the size of .mov file is of 563.2 MB, then the size of the output .mp4 file is becoming 560.1 MB My further development work is stuck due to this. So, requesting you to kindly assist in this and help me with some solutions. Thanks & Regards Rakesh Chakraborty Mail to: rakesh.chakraborty at mheducation.com The information contained in this message may be confidential and/or constitute a privileged attorney-client document. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify McGraw-Hill immediately by replying to the message and deleting it from your computer. Thank you. From kumowoon1025 at gmail.com Thu Jun 11 18:34:15 2020 From: kumowoon1025 at gmail.com (Ted Park) Date: Thu, 11 Jun 2020 11:34:15 -0400 Subject: [FFmpeg-user] Issue in video compression In-Reply-To: References: Message-ID: Hi, > The description of preset file that has been used is as follows:- > > vcodec=libx264 > vprofile=main > level=30 > b:v=800000 > bufsize=800000 > > But the output .mp4 file is not getting compressed. My first thought is that the b:v=800000 in the preset file is leading to a constant bit-rate encode. Is the file in question about an hour and 2 minutes long? If it’s close, then I would say that is what’s happening. If there is a file size constraint, you should encode using multiple passes, or if it is just the case that you would like a somewhat smaller file to work with, you can use constant quality (vs. constant bitrate) encoding settings, using -crf to control the output filesize by trial and error, instead of explicitly specifying the video bitrate Regards, Ted Park From lists at velnix.com Thu Jun 11 18:50:46 2020 From: lists at velnix.com (Unni Krishnan) Date: Thu, 11 Jun 2020 21:20:46 +0530 Subject: [FFmpeg-user] ffmpeg not properly rendering utf8 subtitle srt file Message-ID: Hello, I am using a utf8 srt file in mac to hardcode subtitle to a video. -- $file -I Ernest_Celestine_2012.srt Ernest_Celestine_2012.srt: text/plain; charset=utf-8 $uname -a Darwin 19.4.0 Darwin Kernel Version 19.4.0: Wed Mar 4 22:28:40 PST 2020; root:xnu-6153.101.6~15/RELEASE_X86_64 x86_64 -- But ffmpeg is not rendering it properly. But VLC is showing the same srt file properly. https://imgur.com/a/DhBcxT7 Currently I am using ffplay to test it. ffplay -i Ernest_Celestine_2012.mp4 -sub_charenc UTF-8 -vf subtitles='Ernest_Celestine_2012.srt':charenc='UTF-8':force_style='FontName=Manjari' How can I fix it? Regards, Unni From cpz at tuunq.com Thu Jun 11 18:59:23 2020 From: cpz at tuunq.com (Carl Zwanzig) Date: Thu, 11 Jun 2020 08:59:23 -0700 Subject: [FFmpeg-user] Issue in video compression In-Reply-To: References: Message-ID: Perhaps I'm missing something, but... On 6/11/2020 8:27 AM, Chakraborty, Rakesh via ffmpeg-user wrote: > ffmpeg -i Input0.mov -y -fpre ./preset/mp4_Projector.ffpreset -astrict -2 -vsync vfr -acodec copy -vcodec copy -s 1280x720 Output0.mp4 (where's the command output? _always_ post the command output) Looks like you're simply copying/repackaging the streams. Unless the mov container has a lot of overhead, I wouldn't expect much difference in container sizes. Without the command output, everyone is guessing. If you expect the streams to be re-encoded, remove the copy options. Also, while it probably won't make any difference at all, get the latest ffmpeg and use that. z! From pm at a16n.net Thu Jun 11 19:16:36 2020 From: pm at a16n.net (=?utf-8?Q?Peter_M=C3=BCnster?=) Date: Thu, 11 Jun 2020 18:16:36 +0200 Subject: [FFmpeg-user] how to control quality of subtitles References: <87367sdq6b.fsf@a16n.net> <87tv048mg1.fsf@a16n.net> <20200525084905.GB32189@sunshine.barsnick.net> <87d06s5gnu.fsf@a16n.net> <87mu5w0x61.fsf@a16n.net> Message-ID: <87lfkth923.fsf@a16n.net> On Wed, Jun 10 2020, Greg Oliver wrote: > Samsungs are notorious for display info from a "Computer" very badly unless > you change the name of the input on the TV to "PC" - yes this includes HDMI > inputs as well. > > Have you tried that? No. The files are served by minidlna. There is no way to change the name... -- Peter From pm at a16n.net Thu Jun 11 19:33:38 2020 From: pm at a16n.net (=?utf-8?Q?Peter_M=C3=BCnster?=) Date: Thu, 11 Jun 2020 18:33:38 +0200 Subject: [FFmpeg-user] understanding DVD subtitle palette (was: how to control quality of subtitles) References: <87367sdq6b.fsf@a16n.net> <87tv048mg1.fsf@a16n.net> <20200525084905.GB32189@sunshine.barsnick.net> <87d06s5gnu.fsf@a16n.net> <009401d632a2$b4ee86b0$1ecb9410$@gmail.com> <87y2pg0xtd.fsf@a16n.net> Message-ID: <87d065h89p.fsf@a16n.net> On Mon, May 25 2020, Peter Münster wrote: > - How can I get information about the palette in an MKV-file? I've found it: ffprobe -v debug file.mkv > - How can I change such a palette? The -palette option seems to work as expected. The question is now rather, what the various viewers do with this palette, especially my Samsung TV. I still don't understand the meaning of the 16 values, so I've done some tests: - 3 samples here: http://pmrb.free.fr/tmp/ffmpeg-test/samples/ dvbsub-hd: DVB-subtitle and HD dvbsub-sd: DVB-subtitle and SD dvbtt-sd: DVB-teletext subtitle and SD - 5 palettes: pal1, 16 different colors: 000055,005500,550000,005555,550055,555500,0000ff,00ff00 ff0000,00ffff,ff00ff,ffff00,0000aa,00aa00,aa0000,00aaaa pal2, same as pal1, but with other positions: 005500,550000,005555,550055,555500,0000ff,00ff00,ff0000 00ffff,ff00ff,ffff00,0000aa,00aa00,aa0000,00aaaa,000055 pal3, all black: 000000,000000,000000,000000,000000,000000,000000,000000 000000,000000,000000,000000,000000,000000,000000,000000 pal4, all white: ffffff,ffffff,ffffff,ffffff,ffffff,ffffff,ffffff,ffffff ffffff,ffffff,ffffff,ffffff,ffffff,ffffff,ffffff,ffffff pal5, not specified, so default from ffmpeg is used: 000000,0000ff,00ff00,ff0000,ffff00,ff00ff,00ffff,ffffff 808000,8080ff,800080,80ff80,008080,ff8080,555555,aaaaaa - resulting in 15 video files here: http://pmrb.free.fr/tmp/ffmpeg-test/results/ - viewed with 3 viewers (VLC, MPlayer and Samsung TV), resulting in 45 screenshots here: http://pmrb.free.fr/tmp/ffmpeg-test/results/ I'll try to dig further in order to finally find a good result for the Samsung TV. Any help would be appreciated! Thanks, -- Peter From akshay.bhuradia at nebularc.com Thu Jun 11 19:38:13 2020 From: akshay.bhuradia at nebularc.com (Akshay Bhuradia) Date: Thu, 11 Jun 2020 22:08:13 +0530 Subject: [FFmpeg-user] help Message-ID: I want to convert m3u8 to mp4 and i would like to do conversion as well as download on same time. I am running this command *ffmpeg -i ultra.m3u8 -c copy -listen 1 -seekable 1 -f mp4 http://0.0.0.0:8080/test.mp4 * when user trigger this url("http://0.0.0.0:8080/test.mp4"), then file start's download, but i am not able to play video. *and i get error when all chunks are read:* [hls @ 0x55da053b4100] Opening 'ultra177.ts' for reading [tcp @ 0x55da0540f940] Connection to tcp://0.0.0.0:8080 failed: Connection refused [tcp @ 0x55da05520480] Connection to tcp://0.0.0.0:8080 failed: Connection refused [tcp @ 0x55da053ca780] Connection to tcp://0.0.0.0:8080 failed: Connection refused [tcp @ 0x55da05485f80] Connection to tcp://0.0.0.0:8080 failed: Connection refused [tcp @ 0x55da053ced40] Connection to tcp://0.0.0.0:8080 failed: Connection refused [tcp @ 0x55da054255c0] Connection to tcp://0.0.0.0:8080 failed: Connection refused [tcp @ 0x55da0540f940] Connection to tcp://0.0.0.0:8080 failed: Connection refused [tcp @ 0x55da05435380] Connection to tcp://0.0.0.0:8080 failed: Connection refused frame=53236 fps=7939 q=-1.0 Lsize= 476447kB time=00:29:36.30 bitrate=2197.3kbits/s speed= 265x video:446847kB audio:28278kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.278083% *Thanks and Regards* *Akshay Bhuradia* From Rakesh.Chakraborty at mheducation.com Thu Jun 11 19:58:39 2020 From: Rakesh.Chakraborty at mheducation.com (Chakraborty, Rakesh) Date: Thu, 11 Jun 2020 16:58:39 +0000 Subject: [FFmpeg-user] Issue in video compression In-Reply-To: References: , Message-ID: Hi Team, I am extremely sorry that I forgot to attach the command output. Here's the output for the command that I previously used and my video file is not getting compressed. I used the following command:- ffmpeg -i Input0.mov -y -fpre ./preset/mp4_Projector.ffpreset -astrict -2 -vsync vfr -acodec copy -vcodec copy -s 1280x720 Output0.mp4 The description of preset file that has been used is as follows:- vcodec=libx264 vprofile=main level=30 b:v=800000 bufsize=800000 Command Output:- ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers built with Apple clang version 11.0.0 (clang-1100.0.33.8) configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-appkit --enable-avfoundation --enable-coreimage --enable-audiotoolbox libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Input0.mov': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt creation_time : 2020-04-18T00:26:03.000000Z Duration: 00:30:59.09, start: 0.000000, bitrate: 675 kb/s Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 63 kb/s (default) Metadata: creation_time : 2020-04-18T00:26:03.000000Z handler_name : Core Media Audio Stream #0:1(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 607 kb/s, 10 fps, 10 tbr, 600 tbn, 1200 tbc (default) Metadata: creation_time : 2020-04-18T00:26:03.000000Z handler_name : Core Media Video encoder : H.264 Output #0, mp4, to 'Output0.mp4': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt encoder : Lavf58.29.100 Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 800 kb/s, 10 fps, 10 tbr, 19200 tbn, 600 tbc (default) Metadata: creation_time : 2020-04-18T00:26:03.000000Z handler_name : Core Media Video encoder : H.264 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 63 kb/s (default) Metadata: creation_time : 2020-04-18T00:26:03.000000Z handler_name : Core Media Audio Stream mapping: Stream #0:1 -> #0:0 (copy) Stream #0:0 -> #0:1 (copy) Press [q] to stop, [?] for help frame=18590 fps=9689 q=-1.0 Lsize= 152908kB time=00:30:59.07 bitrate= 673.8kbits/s speed= 969x video:137828kB audio:14382kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.458677% But the above output file was not compressed. Normally the duration of the .mov file varies. It may sometimes be 15-30 minutes or 1 hour or even more than 2 hours. As suggested by one of your expertise, I removed the b:v=800000 from the description of preset file and used the following command adding -crf as suggested by you:- ffmpeg -i ./recent/Input0.mov -y -crf 24 -b:v 512k -fpre ./preset/mp4_Projector1.ffpreset -astrict -2 -vsync vfr -s 640x480 ./recent/Output0.mp4 One of the .mov files whose size was 405 MB, it got successfully transcoded to .mp4 file and compressed to 83.9 MB Command Output:- ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers built with Apple clang version 11.0.0 (clang-1100.0.33.8) configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-appkit --enable-avfoundation --enable-coreimage --enable-audiotoolbox libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from './recent/Input0.mov': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt creation_time : 2020-06-02T06:49:22.000000Z com.apple.quicktime.make: Apple com.apple.quicktime.model: MacBookAir8,1 com.apple.quicktime.software: Mac OS X 10.15.4 (19E287) com.apple.quicktime.creationdate: 2020-06-01T20:49:20-1000 Duration: 00:14:52.17, start: 0.000000, bitrate: 3631 kb/s Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, smpte170m/bt709/bt709, progressive), 640x480 [SAR 1:1 DAR 4:3], 3500 kb/s, 29.01 fps, 29.01 tbr, 30k tbn, 60k tbc (default) Metadata: creation_time : 2020-06-02T06:49:22.000000Z handler_name : Core Media Video encoder : H.264 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 63 kb/s (default) Metadata: creation_time : 2020-06-02T06:49:22.000000Z handler_name : Core Media Audio Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) Stream #0:1 -> #0:1 (aac (native) -> aac (native)) Press [q] to stop, [?] for help [libx264 @ 0x7fc02f03da00] VBV bufsize set but maxrate unspecified, ignored [libx264 @ 0x7fc02f03da00] using SAR=1/1 [libx264 @ 0x7fc02f03da00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @ 0x7fc02f03da00] profile Main, level 3.0, 4:2:0, 8-bit [libx264 @ 0x7fc02f03da00] 264 - core 159 - H.264/MPEG-4 AVC codec - Copyleft 2003-2019 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=15 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=24.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to './recent/Output0.mp4': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt com.apple.quicktime.creationdate: 2020-06-01T20:49:20-1000 com.apple.quicktime.make: Apple com.apple.quicktime.model: MacBookAir8,1 com.apple.quicktime.software: Mac OS X 10.15.4 (19E287) encoder : Lavf58.29.100 Stream #0:0(und): Video: h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 640x480 [SAR 1:1 DAR 4:3], q=-1--1, 512 kb/s, 29.01 fps, 15k tbn, 29.01 tbc (default) Metadata: creation_time : 2020-06-02T06:49:22.000000Z handler_name : Core Media Video encoder : Lavc58.54.100 libx264 Side data: cpb: bitrate max/min/avg: 0/0/512000 buffer size: 800000 vbv_delay: -1 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 69 kb/s (default) Metadata: creation_time : 2020-06-02T06:49:22.000000Z handler_name : Core Media Audio encoder : Lavc58.54.100 aac frame=25881 fps=291 q=-1.0 Lsize= 81901kB time=00:14:52.18 bitrate= 752.0kbits/s speed= 10x video:73436kB audio:7562kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.114691% [libx264 @ 0x7fc02f03da00] frame I:105 Avg QP:23.03 size: 21171 [libx264 @ 0x7fc02f03da00] frame P:6524 Avg QP:25.88 size: 5467 [libx264 @ 0x7fc02f03da00] frame B:19252 Avg QP:27.38 size: 1938 [libx264 @ 0x7fc02f03da00] consecutive B-frames: 0.8% 0.0% 0.0% 99.1% [libx264 @ 0x7fc02f03da00] mb I I16..4: 27.0% 0.0% 73.0% [libx264 @ 0x7fc02f03da00] mb P I16..4: 1.8% 0.0% 1.1% P16..4: 65.6% 14.3% 9.2% 0.0% 0.0% skip: 8.1% [libx264 @ 0x7fc02f03da00] mb B I16..4: 0.3% 0.0% 0.1% B16..8: 46.2% 3.3% 0.2% direct: 5.1% skip:44.8% L0:49.2% L1:49.2% BI: 1.6% [libx264 @ 0x7fc02f03da00] coded y,uvDC,uvAC intra: 70.3% 75.9% 10.7% inter: 13.7% 37.6% 0.0% [libx264 @ 0x7fc02f03da00] i16 v,h,dc,p: 11% 15% 22% 53% [libx264 @ 0x7fc02f03da00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 16% 27% 7% 7% 6% 6% 6% 5% [libx264 @ 0x7fc02f03da00] i8c dc,h,v,p: 63% 20% 11% 6% [libx264 @ 0x7fc02f03da00] Weighted P-Frames: Y:3.6% UV:1.9% [libx264 @ 0x7fc02f03da00] ref P L0: 40.1% 10.7% 36.1% 13.0% 0.2% [libx264 @ 0x7fc02f03da00] ref B L0: 63.6% 22.0% 14.5% [libx264 @ 0x7fc02f03da00] ref B L1: 83.9% 16.1% [libx264 @ 0x7fc02f03da00] kb/s:674.29 [aac @ 0x7fc02f03f200] Qavg: 119.931 But, while trying the same command on another .mov file whose size was 562.2 MB and duration was 2h 10m 32s, it is giving error. I used the following command:- ffmpeg -i ./recent/Input01.mov -y -crf 24 -b:v 512k -fpre ./preset/mp4_Projector1.ffpreset -astrict -2 -vsync vfr -s 1280x720 ./recent/Output01.mp4 Command output:- ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers built with Apple clang version 11.0.0 (clang-1100.0.33.8) configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-appkit --enable-avfoundation --enable-coreimage --enable-audiotoolbox libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from './recent/Input01.mov': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt creation_time : 2020-05-18T22:11:48.000000Z Duration: 02:10:32.15, start: 0.000000, bitrate: 574 kb/s Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 102 kb/s (default) Metadata: creation_time : 2020-05-18T22:11:48.000000Z handler_name : Core Media Audio Stream #0:1(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 466 kb/s, 10 fps, 10 tbr, 600 tbn, 50 tbc (default) Metadata: creation_time : 2020-05-18T22:11:49.000000Z handler_name : Core Media Video encoder : H.264 Stream mapping: Stream #0:1 -> #0:0 (h264 (native) -> h264 (libx264)) Stream #0:0 -> #0:1 (aac (native) -> aac (native)) Press [q] to stop, [?] for help Too many packets buffered for output stream 0:1. [aac @ 0x7fdcc4032600] Qavg: 33517.414 [aac @ 0x7fdcc4032600] 2 frames left in the queue on closing Conversion failed! Kindly help me in solving this with a proper command because I am confused with this weird behaviour for two different files using the same command. Thanks & Regards Rakesh Chakraborty Mail to: rakesh.chakraborty at mheducation.com ________________________________ From: ffmpeg-user on behalf of Ted Park Sent: 11 June 2020 21:04 To: FFmpeg user questions Subject: Re: [FFmpeg-user] Issue in video compression *** EXTERNAL EMAIL: If sender is unknown, use caution when opening. *** Hi, > The description of preset file that has been used is as follows:- > > vcodec=libx264 > vprofile=main > level=30 > b:v=800000 > bufsize=800000 > > But the output .mp4 file is not getting compressed. My first thought is that the b:v=800000 in the preset file is leading to a constant bit-rate encode. Is the file in question about an hour and 2 minutes long? If it’s close, then I would say that is what’s happening. If there is a file size constraint, you should encode using multiple passes, or if it is just the case that you would like a somewhat smaller file to work with, you can use constant quality (vs. constant bitrate) encoding settings, using -crf to control the output filesize by trial and error, instead of explicitly specifying the video bitrate Regards, Ted Park _______________________________________________ ffmpeg-user mailing list ffmpeg-user at ffmpeg.org https://nam05.safelinks.protection.outlook.com/?url=https%3A%2F%2Fffmpeg.org%2Fmailman%2Flistinfo%2Fffmpeg-user&data=01%7C01%7Crakesh.chakraborty%40mheducation.com%7C2d289a1f59934fedb0c508d80e1cf0a6%7Cf919b1efc0c347358fca0928ec39d8d5%7C0&sdata=p5LybFAkO9BXaMiKrTl4vgn97E8oTiJZsPavqHCq2bg%3D&reserved=0 To unsubscribe, visit link above, or email ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". The information contained in this message may be confidential and/or constitute a privileged attorney-client document. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify McGraw-Hill immediately by replying to the message and deleting it from your computer. Thank you. From albertnetymk at gmail.com Thu Jun 11 20:11:51 2020 From: albertnetymk at gmail.com (Albert Netymk) Date: Thu, 11 Jun 2020 19:11:51 +0200 Subject: [FFmpeg-user] non monotonous DTS for audio stream Message-ID: Hello, I encountered "non-monotonous DTS" error for audio stream while concating two mp4 files, which are available at https://www.dropbox.com/sh/ub3n76mpbcl4aa5/AACEcBlp2MOc7MNMSpQVXXRfa/concat_debug?dl=0&subfolder_nav_tracking=1 I have searched on stackoverflow and the archive of this mailing list, but still couldn't understand why this occurs. Some explanation on why this happens or how to further debug it is appreciated. ``` $ ffmpeg -y -f concat -i mylist.txt -c copy output.mp4 ffmpeg version 4.2.3 Copyright (c) 2000-2020 the FFmpeg developers built with Apple clang version 11.0.0 (clang-1100.0.33.17) configuration: --prefix=/usr/local/Cellar/ffmpeg/4.2.3_1 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags=-fno-stack-check --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable-indev=jack libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fee09803600] Auto-inserting h264_mp4toannexb bitstream filter Input #0, concat, from 'mylist.txt': Duration: N/A, start: 0.000000, bitrate: 276 kb/s Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1440x810 [SAR 1:1 DAR 16:9], 147 kb/s, 60 fps, 60 tbr, 15360 tbn, 120 tbc Metadata: handler_name : Core Media Video Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 129 kb/s Metadata: handler_name : Core Media Audio Output #0, mp4, to 'output.mp4': Metadata: encoder : Lavf58.29.100 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1440x810 [SAR 1:1 DAR 16:9], q=2-31, 147 kb/s, 60 fps, 60 tbr, 15360 tbn, 15360 tbc Metadata: handler_name : Core Media Video Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 129 kb/s Metadata: handler_name : Core Media Audio Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) Press [q] to stop, [?] for help [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fee0a803e00] Auto-inserting h264_mp4toannexb bitstream filter [mp4 @ 0x7fee0a803800] Non-monotonous DTS in output stream 0:1; previous: 3414085, current: 3413815; changing to 3414086. This may result in incorrect timestamps in the output file. frame= 6123 fps=0.0 q=-1.0 Lsize= 3639kB time=00:01:42.07 bitrate= 292.1kbits/s speed= 513x video:1862kB audio:1612kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 4.750805% ``` /Albert From jshupert at theppsgroup.com Thu Jun 11 20:38:14 2020 From: jshupert at theppsgroup.com (Jim Shupert) Date: Thu, 11 Jun 2020 13:38:14 -0400 Subject: [FFmpeg-user] a q about units Message-ID: <68016249-0cda-9fc7-6d4e-84f06ef3e30c@theppsgroup.com> Friends This is a rather general Q when I see dialogue such as [matroska,webm @ 0x7f362c000b80] Read error at pos. 59270674468 (0xdccceb824) as in Input #0, matroska,webm, from 'pipe:': Metadata: ENCODER : Lavf58.29.100 Duration: N/A, start: 0.000000, bitrate: 12288 kb/s Stream #0:0: Audio: pcm_s32le, 48000 Hz, 8 channels, s32, 12288 kb/s (default) Stream #0:1: Video: v210 (V210 / 0x30313256), yuv422p10le(bottom first), 720x486, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc (default) [matroska,webm @ 0x7f362c000b80] Read error at pos. 59270674468 (0xdccceb824) [matroska,webm @ 0x7f362c000b80] Seek to desired resync point failed. Seeking to earliest point available instead. [matroska,webm @ 0x7f362c000b80] Read error at pos. 59270674468 (0xdccceb824) av_interleaved_write_frame(): Broken pipe Error writing trailer of pipe:: Broken pipe frame=60212 fps= 30 q=-0.0 Lq=-1.0 size=25924529kB time=00:33:29.04 bitrate=105709.0kbits/s speed= 1x video:80224393kB audio:3578653kB subtitle:0kB other streams:0kB global headers:0kB muxing MY Q what is position 59270674468 (0xdccceb824)  ? what are the units of 59270674468? thanks jS From leo.butler81 at googlemail.com Thu Jun 11 22:44:35 2020 From: leo.butler81 at googlemail.com (Leo Butler) Date: Thu, 11 Jun 2020 14:44:35 -0500 Subject: [FFmpeg-user] combining concat filter with closed caption extraction In-Reply-To: <20200611081110.kec56kxsus5772gm@phare.normalesup.org> (Nicolas George's message of "Thu, 11 Jun 2020 10:11:10 +0200") References: <86y2ou9w09.fsf@x201.butler.org> <20200611081110.kec56kxsus5772gm@phare.normalesup.org> Message-ID: <86tuzh9yl8.fsf@x201.butler.org> Nicolas George writes: > Leo Butler via ffmpeg-user (12020-06-10): >> ffmpeg -i C.mkv -f lavfi 'movie=C.mkv[out0+subcc]' -map 0 -map 1:s D.mkv > > You are missing a -i in this command line. > >> Question: Is there a way to reduce this to one pass? > > With the -i, it becomes obvious: 'movie=C.mkv[out0+subcc]' is just > another input, like B.ts. > > Regards, Sorry, yes there is a syntax error in my question, but no, that is irrelevant to my question. Let me repeat the question (with the syntax error corrected): Currently, the only way I know to extract/insert closed captions as a subtitle stream is in 2 passes. Something like ffmpeg -i A.ts -i B.ts -filter_complex '[0:0][0:1][1:0][1:1] concat=n=2:v=1:a=1' C.mkv ffmpeg -i C.mkv -f lavfi -i 'movie=C.mkv[out0+subcc]' -map 0 -map 1:s D.mkv (In practice, A.ts and B.ts are segments from the same file). Question: Is there a way to reduce this to one pass? I am using a recent version of ffmpeg compiled from the git repository. To be more explicit: Rather than creating the file C.mkv in the first pass, can the lavfi filter use the video output stream of the concat filter directly? Leo From george at nsup.org Thu Jun 11 22:48:05 2020 From: george at nsup.org (Nicolas George) Date: Thu, 11 Jun 2020 21:48:05 +0200 Subject: [FFmpeg-user] combining concat filter with closed caption extraction In-Reply-To: <86tuzh9yl8.fsf@x201.butler.org> References: <86y2ou9w09.fsf@x201.butler.org> <20200611081110.kec56kxsus5772gm@phare.normalesup.org> <86tuzh9yl8.fsf@x201.butler.org> Message-ID: <20200611194805.5bdpxjwwdr5ry6wj@phare.normalesup.org> Please do not Cc me and heed reply-to headers. Leo Butler (12020-06-11): > Sorry, yes there is a syntax error in my question, but no, that is > irrelevant to my question. It is technically irrelevant, but the syntax error prevents you from seeing the obvious answer. > Rather than creating the file C.mkv in the first pass, can the lavfi > filter use the video output stream of the concat filter directly? My answer is the same: 'movie=C.mkv[out0+subcc]' is just another input, like B.ts. You can see that because they both have -i in from of them: they are the same. Regards, -- Nicolas George -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From lists at velnix.com Fri Jun 12 02:39:37 2020 From: lists at velnix.com (Unni Krishnan) Date: Fri, 12 Jun 2020 05:09:37 +0530 Subject: [FFmpeg-user] Text shaper in subtitle Message-ID: Hi, Is it possible to force harfbuzz shaper when using subtitle filter to burn subtitle to a video? It works with ass when selecting shaping=complex Regards, From alex.molon at vision247.com Fri Jun 12 17:36:56 2020 From: alex.molon at vision247.com (Alessandro Molon) Date: Fri, 12 Jun 2020 14:36:56 +0000 Subject: [FFmpeg-user] SCTE-35 passthrough in transcoding process In-Reply-To: References: <002001d5cd4e$4fa2a520$eee7ef60$@gmail.com> <002b01d5cfaa$3486ff30$9d94fd90$@gmail.com> Message-ID: HI All, Devin I would be really interested in your patches, SCTE-35 is a topic that I'm really interested to . Thanks Alex -----Original Message----- From: ffmpeg-user On Behalf Of Devin Heitmueller Sent: 21 January 2020 14:21 To: FFmpeg user questions Subject: Re: [FFmpeg-user] SCTE-35 passthrough in transcoding process > That’s what we were seeing from our searching as well. I do know that there are vendors that output cable channels after decryption with a cable card, with SCTE-35 that are using FFMPEG in the backend code. Silicon Dust with the now discontinued PRIME units for an example. Does anyone know how this is being facilitated? With some custom code it isn't hard to pass through SCTE-35 triggers, largely dependent on whether you are reusing the stream timing from the original incoming stream. If your output stream as the same timestamps as the incoming stream (i.e. using -copy_ts), then you can essentially just copy the packet to the output unmodified without having to parse the SCTE-35 payload. However if you're retiming the stream then you need to parse the packet, adjust the pts_offset field, and then create a new packet. And of course you need to modify the MPEG TS mux to adjust the PMT and create the table sections, since SCTE-35 is done through tables as opposed to through an elementary stream containing PES packets. I've got patches which do this but they aren't upstream. Devin -- Devin J. Heitmueller - Kernel Labs http://www.kernellabs.com _______________________________________________ ffmpeg-user mailing list ffmpeg-user at ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From Rakesh.Chakraborty at mheducation.com Fri Jun 12 19:46:30 2020 From: Rakesh.Chakraborty at mheducation.com (Chakraborty, Rakesh) Date: Fri, 12 Jun 2020 16:46:30 +0000 Subject: [FFmpeg-user] Compression issue using ffmpeg Message-ID: Hi Team, Requesting you to read the entire email and kindly help me in solving this. I'm in urgent need of this fix. I used the following command to convert a .mov file to .mp4 file. Though it's getting converted but it's not getting compressed. ffmpeg -i Input0.mov -y -fpre ./preset/mp4_Projector.ffpreset -astrict -2 -vsync vfr -acodec copy -vcodec copy -s 1280x720 Output0.mp4 The description of preset file that has been used is as follows:- vcodec=libx264 vprofile=main level=30 b:v=800000 bufsize=800000 Command Output:- ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers built with Apple clang version 11.0.0 (clang-1100.0.33.8) configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-appkit --enable-avfoundation --enable-coreimage --enable-audiotoolbox libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Input0.mov': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt creation_time : 2020-04-18T00:26:03.000000Z Duration: 00:30:59.09, start: 0.000000, bitrate: 675 kb/s Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 63 kb/s (default) Metadata: creation_time : 2020-04-18T00:26:03.000000Z handler_name : Core Media Audio Stream #0:1(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 607 kb/s, 10 fps, 10 tbr, 600 tbn, 1200 tbc (default) Metadata: creation_time : 2020-04-18T00:26:03.000000Z handler_name : Core Media Video encoder : H.264 Output #0, mp4, to 'Output0.mp4': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt encoder : Lavf58.29.100 Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 800 kb/s, 10 fps, 10 tbr, 19200 tbn, 600 tbc (default) Metadata: creation_time : 2020-04-18T00:26:03.000000Z handler_name : Core Media Video encoder : H.264 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 63 kb/s (default) Metadata: creation_time : 2020-04-18T00:26:03.000000Z handler_name : Core Media Audio Stream mapping: Stream #0:1 -> #0:0 (copy) Stream #0:0 -> #0:1 (copy) Press [q] to stop, [?] for help frame=18590 fps=9689 q=-1.0 Lsize= 152908kB time=00:30:59.07 bitrate= 673.8kbits/s speed= 969x video:137828kB audio:14382kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.458677% But the above output file was not compressed. Normally the duration of the .mov file varies. It may sometimes be 15-30 minutes or 1 hour or even more than 2 hours. As suggested by one of your expertise, I removed the b:v=800000 from the description of preset file and used the following command adding -crf as suggested by you:- ffmpeg -i ./recent/Input0.mov -y -crf 24 -b:v 512k -fpre ./preset/mp4_Projector1.ffpreset -astrict -2 -vsync vfr -s 640x480 ./recent/Output0.mp4 One of the .mov files whose size was 405 MB, it got successfully transcoded to .mp4 file and compressed to 83.9 MB Command Output:- ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers built with Apple clang version 11.0.0 (clang-1100.0.33.8) configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-appkit --enable-avfoundation --enable-coreimage --enable-audiotoolbox libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from './recent/Input0.mov': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt creation_time : 2020-06-02T06:49:22.000000Z com.apple.quicktime.make: Apple com.apple.quicktime.model: MacBookAir8,1 com.apple.quicktime.software: Mac OS X 10.15.4 (19E287) com.apple.quicktime.creationdate: 2020-06-01T20:49:20-1000 Duration: 00:14:52.17, start: 0.000000, bitrate: 3631 kb/s Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, smpte170m/bt709/bt709, progressive), 640x480 [SAR 1:1 DAR 4:3], 3500 kb/s, 29.01 fps, 29.01 tbr, 30k tbn, 60k tbc (default) Metadata: creation_time : 2020-06-02T06:49:22.000000Z handler_name : Core Media Video encoder : H.264 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 63 kb/s (default) Metadata: creation_time : 2020-06-02T06:49:22.000000Z handler_name : Core Media Audio Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) Stream #0:1 -> #0:1 (aac (native) -> aac (native)) Press [q] to stop, [?] for help [libx264 @ 0x7fc02f03da00] VBV bufsize set but maxrate unspecified, ignored [libx264 @ 0x7fc02f03da00] using SAR=1/1 [libx264 @ 0x7fc02f03da00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @ 0x7fc02f03da00] profile Main, level 3.0, 4:2:0, 8-bit [libx264 @ 0x7fc02f03da00] 264 - core 159 - H.264/MPEG-4 AVC codec - Copyleft 2003-2019 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=15 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=24.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to './recent/Output0.mp4': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt com.apple.quicktime.creationdate: 2020-06-01T20:49:20-1000 com.apple.quicktime.make: Apple com.apple.quicktime.model: MacBookAir8,1 com.apple.quicktime.software: Mac OS X 10.15.4 (19E287) encoder : Lavf58.29.100 Stream #0:0(und): Video: h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 640x480 [SAR 1:1 DAR 4:3], q=-1--1, 512 kb/s, 29.01 fps, 15k tbn, 29.01 tbc (default) Metadata: creation_time : 2020-06-02T06:49:22.000000Z handler_name : Core Media Video encoder : Lavc58.54.100 libx264 Side data: cpb: bitrate max/min/avg: 0/0/512000 buffer size: 800000 vbv_delay: -1 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 69 kb/s (default) Metadata: creation_time : 2020-06-02T06:49:22.000000Z handler_name : Core Media Audio encoder : Lavc58.54.100 aac frame=25881 fps=291 q=-1.0 Lsize= 81901kB time=00:14:52.18 bitrate= 752.0kbits/s speed= 10x video:73436kB audio:7562kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.114691% [libx264 @ 0x7fc02f03da00] frame I:105 Avg QP:23.03 size: 21171 [libx264 @ 0x7fc02f03da00] frame P:6524 Avg QP:25.88 size: 5467 [libx264 @ 0x7fc02f03da00] frame B:19252 Avg QP:27.38 size: 1938 [libx264 @ 0x7fc02f03da00] consecutive B-frames: 0.8% 0.0% 0.0% 99.1% [libx264 @ 0x7fc02f03da00] mb I I16..4: 27.0% 0.0% 73.0% [libx264 @ 0x7fc02f03da00] mb P I16..4: 1.8% 0.0% 1.1% P16..4: 65.6% 14.3% 9.2% 0.0% 0.0% skip: 8.1% [libx264 @ 0x7fc02f03da00] mb B I16..4: 0.3% 0.0% 0.1% B16..8: 46.2% 3.3% 0.2% direct: 5.1% skip:44.8% L0:49.2% L1:49.2% BI: 1.6% [libx264 @ 0x7fc02f03da00] coded y,uvDC,uvAC intra: 70.3% 75.9% 10.7% inter: 13.7% 37.6% 0.0% [libx264 @ 0x7fc02f03da00] i16 v,h,dc,p: 11% 15% 22% 53% [libx264 @ 0x7fc02f03da00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 16% 27% 7% 7% 6% 6% 6% 5% [libx264 @ 0x7fc02f03da00] i8c dc,h,v,p: 63% 20% 11% 6% [libx264 @ 0x7fc02f03da00] Weighted P-Frames: Y:3.6% UV:1.9% [libx264 @ 0x7fc02f03da00] ref P L0: 40.1% 10.7% 36.1% 13.0% 0.2% [libx264 @ 0x7fc02f03da00] ref B L0: 63.6% 22.0% 14.5% [libx264 @ 0x7fc02f03da00] ref B L1: 83.9% 16.1% [libx264 @ 0x7fc02f03da00] kb/s:674.29 [aac @ 0x7fc02f03f200] Qavg: 119.931 But, while trying the same command on another .mov file whose size was 562.2 MB and duration was 2h 10m 32s, it is giving error. I used the following command:- ffmpeg -i ./recent/Input01.mov -y -crf 24 -b:v 512k -fpre ./preset/mp4_Projector1.ffpreset -astrict -2 -vsync vfr -s 1280x720 ./recent/Output01.mp4 Command output:- ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers built with Apple clang version 11.0.0 (clang-1100.0.33.8) configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-appkit --enable-avfoundation --enable-coreimage --enable-audiotoolbox libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from './recent/Input01.mov': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt creation_time : 2020-05-18T22:11:48.000000Z Duration: 02:10:32.15, start: 0.000000, bitrate: 574 kb/s Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 102 kb/s (default) Metadata: creation_time : 2020-05-18T22:11:48.000000Z handler_name : Core Media Audio Stream #0:1(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 466 kb/s, 10 fps, 10 tbr, 600 tbn, 50 tbc (default) Metadata: creation_time : 2020-05-18T22:11:49.000000Z handler_name : Core Media Video encoder : H.264 Stream mapping: Stream #0:1 -> #0:0 (h264 (native) -> h264 (libx264)) Stream #0:0 -> #0:1 (aac (native) -> aac (native)) Press [q] to stop, [?] for help Too many packets buffered for output stream 0:1. [aac @ 0x7fdcc4032600] Qavg: 33517.414 [aac @ 0x7fdcc4032600] 2 frames left in the queue on closing Conversion failed! I even tried the same with the new ffmpeg 4.2.3 but getting the same error. Kindly help me in solving this with a proper command because I am confused with this weird behaviour for two different files using the same command. Thanks & Regards Rakesh Chakraborty Mail to: rakesh.chakraborty at mheducation.com The information contained in this message may be confidential and/or constitute a privileged attorney-client document. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify McGraw-Hill immediately by replying to the message and deleting it from your computer. Thank you. From antoine24888 at hotmail.fr Fri Jun 12 20:59:42 2020 From: antoine24888 at hotmail.fr (Antoine Martin) Date: Fri, 12 Jun 2020 17:59:42 +0000 Subject: [FFmpeg-user] Live filtering a VR game Message-ID: Hi guys, I am part of a research on VR and immersion criteria. We are trying to degrade the visual and audio VR environment of a user in a simulation (a driving simulation in our case). We are currently using Euro Truck Simulator 2, a complete simulation driving game, and a HTC Vive Pro Eye. With ffmpeg I would like to take the VR video and audio, filter it to degrade the quality and put it right back in the headset while a user is playing. Also I would like the filters to change over time, for example I would like to slowly increase/decrease the gamma_r/_b/_g eq filter over time. Is it possible using? Thank you for your time. From barsnick at gmx.net Fri Jun 12 20:59:51 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Fri, 12 Jun 2020 19:59:51 +0200 Subject: [FFmpeg-user] Compression issue using ffmpeg In-Reply-To: References: Message-ID: <20200612175951.GC10642@sunshine.barsnick.net> On Fri, Jun 12, 2020 at 16:46:30 +0000, FFmpeg user discussions wrote: > Requesting you to read the entire email and kindly help me in solving > this. I'm in urgent need of this fix. This is all voluntary work here, but happy to help. > I used the following command to convert a .mov file to .mp4 file. > Though it's getting converted but it's not getting compressed. > ffmpeg -i Input0.mov -y -fpre ./preset/mp4_Projector.ffpreset -astrict -2 -vsync vfr -acodec copy -vcodec copy -s 1280x720 Output0.mp4 The "copy" codec tells ffmpeg not to "compress", but instead leave the original streams intact, as confirmed here: > Stream mapping: > Stream #0:1 -> #0:0 (copy) > Stream #0:0 -> #0:1 (copy) > As suggested by one of your expertise, I removed the b:v=800000 from > the description of preset file and used the following command adding > -crf as suggested by you:- The point is not the preset file, the point is that you are apparently overriding its setting with your command line. > But, while trying the same command on another .mov file whose size > was 562.2 MB and duration was 2h 10m 32s, it is giving error. I used > the following command:- [...] > Too many packets buffered for output stream 0:1. > [aac @ 0x7fdcc4032600] Qavg: 33517.414 > [aac @ 0x7fdcc4032600] 2 frames left in the queue on closing > Conversion failed! I can't help you with this, perhaps someone else can. Please try fixing your command line first. Also please give an ffmpeg version from git HEAD a shot, perhaps your issue is fixed there. Regards, Moritz From cpz at tuunq.com Fri Jun 12 21:03:26 2020 From: cpz at tuunq.com (Carl Zwanzig) Date: Fri, 12 Jun 2020 11:03:26 -0700 Subject: [FFmpeg-user] Compression issue using ffmpeg In-Reply-To: <20200612175951.GC10642@sunshine.barsnick.net> References: <20200612175951.GC10642@sunshine.barsnick.net> Message-ID: <1b980fd9-0012-be1a-bf15-29463ce718da@tuunq.com> On 6/12/2020 10:59 AM, Moritz Barsnick wrote: > On Fri, Jun 12, 2020 at 16:46:30 +0000, FFmpeg user discussions wrote: > >> Requesting you to read the entire email and kindly help me in solving >> this. I'm in urgent need of this fix. And you asked this question a few days ago. >> ffmpeg -i Input0.mov -y -fpre ./preset/mp4_Projector.ffpreset -astrict -2 -vsync vfr -acodec copy -vcodec copy -s 1280x720 Output0.mp4 > The "copy" codec tells ffmpeg not to "compress", but instead leave the > original streams intact, as confirmed here: And that was also said a couple of days ago. z! From roderrooder at gmail.com Fri Jun 12 22:15:42 2020 From: roderrooder at gmail.com (Gabriel Balaich) Date: Fri, 12 Jun 2020 13:15:42 -0600 Subject: [FFmpeg-user] FFmpeg single threaded bottleneck In-Reply-To: References: Message-ID: Apologies for the late response, I was undergoing some major hardware changes in my setup and am now back to trying to figure this out. > There is no multi-threaded audio encoding. Yeah, I guess I understand why that makes sense programmatically, but my issue isn't really that my audio is being encoded on a per-stream basis by 1 thread, right? It's that all audio streams in my command, even if they have different destinations, are being funneled through 1 thread. I'd assume the limitation around single thread encoding would exist on a per-stream basis, but I'm obviously not well versed in the programming behind that, just trying to understand what's going on. > Is the issue you see only reproducible with dshow input or also with > testsrc2 > input? > I suspect there will always be a bottleneck in a load situation like above > but it may be interesting to narrow it down. > Went ahead and tested this and you appear to be right, using this command I get 100% utilization on 1 thread grinding the real-time encoding to a halt: ffmpeg -y -f lavfi -re -i testsrc2=size=3840x2160:rate=60 ` -map 0 -c:v h264_nvenc -preset: hp -rc-lookahead 120 -pix_fmt nv12 C:\Users\gabri\Videostestsrc1.ts ` -map 0 -c:v h264_nvenc -preset: hp -rc-lookahead 120 -pix_fmt nv12 C:\Users\gabri\Videostestsrc2.ts ` -map 0 -c:v h264_nvenc -preset: hp -rc-lookahead 120 -pix_fmt nv12 C:\Users\gabri\Videostestsrc3.ts ` -map 0 -c:v h264_nvenc -preset: hp -rc-lookahead 120 -pix_fmt nv12 C:\Users\gabri\Videostestsrc4.ts Ultimately, I do understand why each output stream individually would need to be handled by 1 thread, but I guess I don't understand why all output streams in a single command would need to be handled by 1 thread. It seems like I can accomplish the same goal with a somewhat acceptable variance in sync between each output file when using different FFmpeg instances for each output file, but it definitely doesn't have the same consistency that a single command does. From jhawk at alum.mit.edu Fri Jun 12 22:25:21 2020 From: jhawk at alum.mit.edu (John Hawkinson) Date: Fri, 12 Jun 2020 15:25:21 -0400 Subject: [FFmpeg-user] Slow seeking for GB-scale MOVs? In-Reply-To: <20200607232626.GA74974@alum.mit.edu> References: <20200607232626.GA74974@alum.mit.edu> Message-ID: <20200612192521.GD7009@alum.mit.edu> Any thoughts on this issue, or how best to narrow or debug it? (Platform is MacOS if that's helpful, but I could do so from Linux is that's easier.) Thank you! -- jhawk at alum.mit.edu John Hawkinson John Hawkinson wrote on Sun, 7 Jun 2020 at 19:26:26 EDT in <20200607232626.GA74974 at alum.mit.edu>: > Date: Sun, 7 Jun 2020 19:26:26 -0400 > From: John Hawkinson > To: ffmpeg-user at ffmpeg.org > Subject: Slow seeking for GB-scale MOVs? > Message-ID: <20200607232626.GA74974 at alum.mit.edu> > > When I try to seek within a 5 GB MOV file (24 hours 12 minutes of video; someone screwed up) over http, it seems that ffmpeg downloads a lot more data than is necessary, and so is fairly slow to start (delay of minutes on a medium-speed network connection), seemingly unnecessarily so. In particular, it seems that in the search for the moov atom, it may end up downloading the final 69 MB of the file, and that takes quite a while. > > (I'm not quite sure of this -- the http traces from libavformat appear to indicate the start of HTTP byte-range queries, but don't indicate the end of such a transfer. For instance, iniially there is a GET for "Range: bytes=0-" and shortly thereafter there is a GET for "Range: bytes=6050885555-" and it's clear that the first could not have downloaded the entire 5 GB file before turning to the second. So maybe I am missing when http transfer stops and maybe that matters here.) > > I spent a while staring at libavformat/mov.c and I wasn't able to discern exactly how/when it decides to do this seeking, although empirically it would appear that the offset it begins to retrieve is a function of the 'sz' reported in the 'mdat' trace line, and it finds the 'moov' atom quite quickly. Yet there is long delay (again, a minute-ish, depending on connection speed) before any playback starts. There are a few stages along the way, with a lot of AvIndex output about halfway before playback begins, but that don't seem correlated with http GETs. > > My example is trying to seek 30 minutes into http://mediadownload.iqm2.com/CambridgeMA/2288.mpeg4 , the 5 GB video. > So, for instance: > > bash$ ffplay -ss 30:00 -loglevel trace http://mediadownload.iqm2.com/CambridgeMA/2288.mpeg4 ... > > The complete uncut output at the defaul loglevel is uninteresting. > The above is excerpted from loglevel trace, which gives nearly 1 GB of output and is probably not helpful here in the entirety. > > A lightly edited version and prematurely truncated version of the trace output follows, with prefixed timestamps (via tai64n/tai64nlocal). > > > Anyhow, is there a way to reduce how much ffmpeg downloads when it goes for the moov atom, and am I correct in thinking that that is the issue here? > > Thanks. > > > p.s.: I'm not 100% sure this HTTP resource cited above will persist. It's possible someone may decide to correct the errantly recorded 24+ hours of video (it should have been only 9) and so the problem may go away or shift. > > -- > jhawk at alum.mit.edu > John Hawkinson ... From john at jhallard.com Sat Jun 13 00:36:07 2020 From: john at jhallard.com (John Allard) Date: Fri, 12 Jun 2020 14:36:07 -0700 Subject: [FFmpeg-user] VAAPI filters defined in source not available in my compiled ffmpeg? Message-ID: Hello, I have compiled FFMPEG from release/4.3 branch with vaapi enabled. This is the buildconf of my ffmpeg binary ffmpeg version N-98129-g0b182ff Copyright (c) 2000-2020 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.12) 20160609 configuration: --disable-debug --disable-doc --disable-ffplay --enable-shared --enable-avresample --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gpl --enable-libass --enable-fontconfig --enable-libfreetype --enable-libvidstab --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxvid --enable-libx264 --enable-nonfree --enable-openssl --enable-libfdk_aac --enable-postproc --enable-small --enable-version3 --enable-libzmq --extra-libs=-ldl --prefix=/opt/ffmpeg --enable-libopenjpeg --enable-libkvazaar --enable-libaom --extra-libs=-lpthread --enable-libsrt --enable-vaapi --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib libavutil 56. 54.100 / 56. 54.100 libavcodec 58. 92.100 / 58. 92.100 libavformat 58. 46.101 / 58. 46.101 libavdevice 58. 11.100 / 58. 11.100 libavfilter 7. 86.100 / 7. 86.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 8.100 / 5. 8.100 libswresample 3. 8.100 / 3. 8.100 libpostproc 55. 8.100 / 55. 8.100 configuration: --disable-debug --disable-doc --disable-ffplay --enable-shared --enable-avresample --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gpl --enable-libass --enable-fontconfig --enable-libfreetype --enable-libvidstab --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxvid --enable-libx264 --enable-nonfree --enable-openssl --enable-libfdk_aac --enable-postproc --enable-small --enable-version3 --enable-libzmq --extra-libs=-ldl --prefix=/opt/ffmpeg --enable-libopenjpeg --enable-libkvazaar --enable-libaom --extra-libs=-lpthread --enable-libsrt --enable-vaapi --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib VAAPI works fine on my build, it shows up under the -hwaccels options and I'm able to use it to decode and encode h264 video just fine. $ ffmpeg -hwaccels Hardware acceleration methods: vaapi $ ffmpeg -filters | grep vaapi ... deinterlace_vaapi V->V (null) ... denoise_vaapi V->V (null) ... procamp_vaapi V->V (null) ... scale_vaapi V->V (null) ... sharpness_vaapi V->V (null) The issue is that some of the filters that should be there appear to be missing, namely, the `transpose_vaapi` filter is defined in the source tree but is not available for me to use. If you look in `libavfilter/allfilters.c` you see extern AVFilter ff_vf_transpose_vaapi; And the file vf_transpose_vaapi.c exists. I can't figure out, why then, this filter is not available for me to use. While we're on this subject, why does the ffmpeg documentation lack entries for the majority of the VAAPI filters? https://ffmpeg.org/ffmpeg-filters.html#toc-VAAPI-Video-Filters This link only shows a single VAAPI filter, tonemap_vaapi, and funny enough, that filter isn't showing up as one of my enabled filters for my ffmpeg build under the -filters option. Can someone help me sort out 1. What determines is a defined filter (allfilters.c) makes it into the -filters option on a compiled ffmpeg 2. How do I get a working build with the transpose_vaapi filter recognized and usable? 3. Where do I find documentation for the vaapi filters that are missing from the documentation link that I provided. Thanks, John Allard. From laishun.cheng at qq.com Sat Jun 13 03:54:06 2020 From: laishun.cheng at qq.com (=?utf-8?B?56iL5p2l6aG6KFJ5YW4p?=) Date: Sat, 13 Jun 2020 08:54:06 +0800 Subject: [FFmpeg-user] Live filtering a VR game References: Message-ID: good idea ---Original--- From: "Antoine Martin" (Nicolas George's message of "Thu, 11 Jun 2020 21:48:05 +0200") References: <86y2ou9w09.fsf@x201.butler.org> <20200611081110.kec56kxsus5772gm@phare.normalesup.org> <86tuzh9yl8.fsf@x201.butler.org> <20200611194805.5bdpxjwwdr5ry6wj@phare.normalesup.org> Message-ID: <86eeqjacwe.fsf@x201.butler.org> Nicolas George writes: >> Rather than creating the file C.mkv in the first pass, can the lavfi >> filter use the video output stream of the concat filter directly? > > My answer is the same: 'movie=C.mkv[out0+subcc]' is just another input, > like B.ts. You can see that because they both have -i in from of them: > they are the same. So the `obvious' answer is no: ffmpeg cannot/does not use an output stream from a filter as an input in this fashion? If the answer is so obvious, why not just write one word instead of many? ---- I am still not clear about the documentation for the movie source (https://ffmpeg.org/ffmpeg-all.html#toc-movie-1). The description of filename The name of the resource to read (not necessarily a file; it can also be a device or a stream accessed through some protocol). leaves it open in my mind if `a stream' might be an output stream produced by a filter. Leo From george at nsup.org Sat Jun 13 13:06:09 2020 From: george at nsup.org (Nicolas George) Date: Sat, 13 Jun 2020 12:06:09 +0200 Subject: [FFmpeg-user] combining concat filter with closed caption extraction In-Reply-To: <86eeqjacwe.fsf@x201.butler.org> References: <86y2ou9w09.fsf@x201.butler.org> <20200611081110.kec56kxsus5772gm@phare.normalesup.org> <86tuzh9yl8.fsf@x201.butler.org> <20200611194805.5bdpxjwwdr5ry6wj@phare.normalesup.org> <86eeqjacwe.fsf@x201.butler.org> Message-ID: <20200613100609.pdvoclnwyaab5m4m@phare.normalesup.org> Leo Butler via ffmpeg-user (12020-06-12): > Nicolas George writes: > > >> Rather than creating the file C.mkv in the first pass, can the lavfi > >> filter use the video output stream of the concat filter directly? > > > > My answer is the same: 'movie=C.mkv[out0+subcc]' is just another input, > > like B.ts. You can see that because they both have -i in from of them: > > they are the same. > > So the `obvious' answer is no: ffmpeg cannot/does not use an output > stream from a filter as an input in this fashion? If the answer is so > obvious, why not just write one word instead of many? I just told you it does not need to “use it like” an input because it ***IS*** an input. Regards, -- Nicolas George -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From heiyutian at qq.com Sat Jun 13 14:55:38 2020 From: heiyutian at qq.com (=?gb18030?B?utrT6szs?=) Date: Sat, 13 Jun 2020 19:55:38 +0800 Subject: [FFmpeg-user] [NVIDIA] Video conversion key frame becomes blurred Message-ID: CPU i5-9400   GPU  NVIDIA GTX 1660s 1 ffmpeg -i ss11.mp4 -strict -2  -qscale 0 -intra ss111.mp4 ffmpeg -i ss12.mp4 -strict -2  -qscale 0 -intra ss112.mp4 I converted the mp4 video clips into key frames, using the above hardware and commands, the video became very blurred after the conversion. The video bit rate is very high and should not be the case. From cpz at tuunq.com Sat Jun 13 19:16:09 2020 From: cpz at tuunq.com (Carl Zwanzig) Date: Sat, 13 Jun 2020 09:16:09 -0700 Subject: [FFmpeg-user] [NVIDIA] Video conversion key frame becomes blurred In-Reply-To: References: Message-ID: <620144b0-58b3-0f84-0994-518d48d5a795@tuunq.com> On 6/13/2020 4:55 AM, 黑雨天 wrote: > I converted the mp4 video clips into key frames, using the above hardware > and commands, the video became very blurred after the conversion. The > video bit rate is very high and should not be the case. What is the question? We need to see the complete/unedited output from the command you ran, and you need use the most current build of ffmpeg (which may be newer than the one your distribution offers). (And you're reminded not to "top-post" replies here.) z! From film at inter.net Sat Jun 13 20:46:49 2020 From: film at inter.net (Thomas Hezel) Date: Sat, 13 Jun 2020 19:46:49 +0200 Subject: [FFmpeg-user] how to avoid double encoding Message-ID: <3FFDF911-4543-442E-BD2A-525DF9BCD135@inter.net> Dear all, Want to make MPEG-DASH plus HLS plus Fallback mp4 encoding for adaptive bitrate streaming from websites. For playback I use dash.js All works fine and perfect but I do the encoding twice and with the exact same output. I didn’t find a way to combine it and do it in one go. Especially when having set „veryslow“ this is really an issue. My input are usually huge .mov files from FinalCutPro X or from Davinci Resolve Would be thankful for a hint! Thomas Hezel zazu.berlin Here is my bash-script: #!/bin/bash #HLS, Dash and fallback code from zazu.berlin 2020, Version 20200424 VIDEO_IN=/Users/thomas/Desktop/apache-official/TestB/test20.mov VIDEO_OUT=master HLS_TIME=4 FPS=25 GOP_SIZE=100 PRESET_P=veryslow V_SIZE_1=960x540 V_SIZE_2=416x234 V_SIZE_3=640x360 V_SIZE_4=768x432 V_SIZE_5=1280x720 V_SIZE_6=1920x1080 mkdir Dash # DASH ffmpeg -i $VIDEO_IN -y \ -preset $PRESET_P -keyint_min $GOP_SIZE -g $GOP_SIZE -sc_threshold 0 -r $FPS -c:v libx264 -pix_fmt yuv420p -c:a aac -b:a 128k -ac 1 -ar 44100 \ -map v:0 -s:0 $V_SIZE_1 -b:v:0 2M -maxrate:0 2.14M -bufsize:0 3.5M \ -map v:0 -s:1 $V_SIZE_2 -b:v:1 145k -maxrate:1 155k -bufsize:1 220k \ -map v:0 -s:2 $V_SIZE_3 -b:v:2 365k -maxrate:2 390k -bufsize:2 640k \ -map v:0 -s:3 $V_SIZE_4 -b:v:3 730k -maxrate:3 781k -bufsize:3 1278k \ -map v:0 -s:4 $V_SIZE_4 -b:v:4 1.1M -maxrate:4 1.17M -bufsize:4 2M \ -map v:0 -s:5 $V_SIZE_5 -b:v:5 3M -maxrate:5 3.21M -bufsize:5 5.5M \ -map v:0 -s:6 $V_SIZE_5 -b:v:6 4.5M -maxrate:6 4.8M -bufsize:6 8M \ -map v:0 -s:7 $V_SIZE_6 -b:v:7 6M -maxrate:7 6.42M -bufsize:7 11M \ -map v:0 -s:8 $V_SIZE_6 -b:v:8 7.8M -maxrate:8 8.3M -bufsize:8 14M \ -map 0:a \ -init_seg_name init\$RepresentationID\$.\$ext\$ -media_seg_name chunk\$RepresentationID\$-\$Number%05d\$.\$ext\$ \ -use_template 1 -use_timeline 1 -seg_duration 4 \ -adaptation_sets "id=0,streams=v id=1,streams=a" \ -f dash Dash/dash.mpd # Fallback video file ffmpeg -i $VIDEO_IN -y -c:v libx264 -pix_fmt yuv420p -r $FPS -s $V_SIZE_1 -b:v 1.8M -c:a aac -b:a 128k -ac 1 -ar 44100 fallback-video-$V_SIZE_1.mp4 mkdir HLS cd HLS # HLS ffmpeg -i $VIDEO_IN -y \ -preset $PRESET_P -keyint_min $GOP_SIZE -g $GOP_SIZE -sc_threshold 0 -r $FPS -c:v libx264 -pix_fmt yuv420p \ -map v:0 -s:0 $V_SIZE_1 -b:v:0 2M -maxrate:0 2.14M -bufsize:0 3.5M \ -map v:0 -s:1 $V_SIZE_2 -b:v:1 145k -maxrate:1 155k -bufsize:1 220k \ -map v:0 -s:2 $V_SIZE_3 -b:v:2 365k -maxrate:2 390k -bufsize:2 640k \ -map v:0 -s:3 $V_SIZE_4 -b:v:3 730k -maxrate:3 781k -bufsize:3 1278k \ -map v:0 -s:4 $V_SIZE_4 -b:v:4 1.1M -maxrate:4 1.17M -bufsize:4 2M \ -map v:0 -s:5 $V_SIZE_5 -b:v:5 3M -maxrate:5 3.21M -bufsize:5 5.5M \ -map v:0 -s:6 $V_SIZE_5 -b:v:6 4.5M -maxrate:6 4.8M -bufsize:6 8M \ -map v:0 -s:7 $V_SIZE_6 -b:v:7 6M -maxrate:7 6.42M -bufsize:7 11M \ -map v:0 -s:8 $V_SIZE_6 -b:v:8 7.8M -maxrate:8 8.3M -bufsize:8 14M \ -map a:0 -map a:0 -map a:0 -map a:0 -map a:0 -map a:0 -map a:0 -map a:0 -map a:0 -c:a aac -b:a 128k -ac 1 -ar 44100\ -f hls -hls_time $HLS_TIME -hls_playlist_type vod -hls_flags independent_segments \ -master_pl_name $VIDEO_OUT.m3u8 \ -hls_segment_filename stream_%v/s%06d.ts \ -strftime_mkdir 1 \ -var_stream_map "v:0,a:0 v:1,a:1 v:2,a:2 v:3,a:3 v:4,a:4 v:5,a:5 v:6,a:6 v:7,a:7 v:8,a:8" stream_%v.m3u8 From barsnick at gmx.net Sat Jun 13 21:51:07 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Sat, 13 Jun 2020 20:51:07 +0200 Subject: [FFmpeg-user] how to avoid double encoding In-Reply-To: <3FFDF911-4543-442E-BD2A-525DF9BCD135@inter.net> References: <3FFDF911-4543-442E-BD2A-525DF9BCD135@inter.net> Message-ID: <20200613185107.GD10642@sunshine.barsnick.net> Hi Thomas, On Sat, Jun 13, 2020 at 19:46:49 +0200, Thomas Hezel wrote: > Want to make MPEG-DASH plus HLS plus Fallback mp4 encoding for adaptive bitrate streaming from websites. For playback I use dash.js > > All works fine and perfect but I do the encoding twice and with the exact same output. > I didn’t find a way to combine it and do it in one go. You should have look at the "tee" muxer. It takes encoded streams and passes them to two (or several) separate muxers. You need to use a special syntax for the muxing options though. https://trac.ffmpeg.org/wiki/Creating%20multiple%20outputs#Teepseudo-muxer > Especially when having set „veryslow“ this is really an issue. Have you tried comparing the output speed and quality with the "veryfast" preset? (Yes, honestly.) Under many circumstances, it actually surprisingly stands very well. Cheers, Moritz From heiyutian at qq.com Sat Jun 13 22:14:47 2020 From: heiyutian at qq.com (=?gb18030?B?utrT6szs?=) Date: Sun, 14 Jun 2020 03:14:47 +0800 Subject: [FFmpeg-user] [Update video] Video conversion key frame becomes blurred Message-ID: win10 ffmpeg-20200612-38737b3-win64-static.zip CPU i5-9400  GPU  NVIDIA GTX 1660s ffmpeg -i ss11.mp4 -strict -2 -qscale 0 -intra -c:v h264_nvenc ss111.mp4 I converted the mp4 video clips into key frames, using the above hardware and commands, the video became very blurred after the conversion. The video bit rate is very high and should not be the case. YouTube Update video https://youtu.be/feXEOfcTkVA or Play address   feXEOfcTkVA   From leo.butler81 at googlemail.com Sat Jun 13 23:18:25 2020 From: leo.butler81 at googlemail.com (Leo Butler) Date: Sat, 13 Jun 2020 15:18:25 -0500 Subject: [FFmpeg-user] combining concat filter with closed caption extraction In-Reply-To: <20200613100609.pdvoclnwyaab5m4m@phare.normalesup.org> (Nicolas George's message of "Sat, 13 Jun 2020 12:06:09 +0200") References: <86y2ou9w09.fsf@x201.butler.org> <20200611081110.kec56kxsus5772gm@phare.normalesup.org> <86tuzh9yl8.fsf@x201.butler.org> <20200611194805.5bdpxjwwdr5ry6wj@phare.normalesup.org> <86eeqjacwe.fsf@x201.butler.org> <20200613100609.pdvoclnwyaab5m4m@phare.normalesup.org> Message-ID: <86a716afe6.fsf@x201.butler.org> Nicolas George writes: > I just told you it does not need to “use it like” an input because it > ***IS*** an input. Thank you for your heat, if not light. Leo From ybarbeaux at gmail.com Sun Jun 14 00:41:12 2020 From: ybarbeaux at gmail.com (Yannick Barbeaux) Date: Sat, 13 Jun 2020 23:41:12 +0200 Subject: [FFmpeg-user] RTMP/RTP input timeout (valid stream) Message-ID: Hello I am struggling to read a multicast audio RTP stream controlled by RTSP. As soon as I launch the ffplay or ffmpeg command, the RTP traffic starts on port 5004/UDP (as advertised in the SDP file), so it should read the stream correctly but I finally get a time-out instead (and empty out file). The very same RTSP URL can be read without any issue with VLC. ffmpeg -y -rtsp_transport udp_multicast -i "rtsp://192.168.2.148:554/by-name/AES67-stream (on hasseb-AoE-F8-82)" -vn -f s24le -ar 48000 -c:a pcm_s24be out.raw ffmpeg version 4.2.2 Copyright (c) 2000-2019the FFmpeg developers built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1) configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libfreetype --enable-gnutl s --enable-libdav1d --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvidstab --enable-libtheora --en able-libwavpack --enable-libopenjpeg --enable-libgsm --enable-nvenc --enable-libzimg --enable-libaom libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 Guessed Channel Layout for Input Stream #0.0 : stereo Input #0, rtsp, from 'rtsp://192.168.2.148:554/by-name/AES67-stream (on hasseb-AoE-F8-82)': Metadata: title : AES67-stream (on hasseb-AoE-F8-82) streamed by "hasseb" Duration: N/A, bitrate: 2304 kb/s Stream #0:0: Audio: pcm_s24be, 48000 Hz, stereo, s32 (24 bit), 2304 kb/s Stream mapping: Stream #0:0 -> #0:0 (pcm_s24be (native) -> pcm_s24be (native)) Press [q] to stop, [?] for help rtsp://192.168.2.148:554/by-name/AES67-stream (on hasseb-AoE-F8-82): Connection timed out Output #0, s24le, to 'out.raw': Metadata: title : AES67-stream (on hasseb-AoE-F8-82) streamed by "hasseb" encoder : Lavf58.29.100 Stream #0:0: Audio: pcm_s24be, 48000 Hz, stereo, s32 (24 bit), 2304 kb/s Metadata: encoder : Lavc58.54.100 pcm_s24be size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used) The SDP file is : v=0 o=- 254522267104 0 IN IP4 192.168.2.148 s=AES67-stream (on hasseb-AoE-F8-82) streamed by "hasseb" t=0 0 a=clock-domain:PTPv2 0 a=recvonly m=audio 5004 RTP/AVP 98 c=IN IP4 239.123.123.123/255 a=rtpmap:98 L24/48000/2 a=sync-time:0 a=framecount:48 a=source-filter: incl IN IP4 239.123.123.123 192.168.2.148 a=ts-refclk:ptp=IEEE1588-2008:00-10-4b-ff-fe-2e-f8-82:domain-nmbr=0 a=mediaclk:direct=0 a=ptime:1 Comparing those files, we see that ffmpeg gets the right audio settings (pcm_s24be, 48000 Hz, stereo, s32 (24 bit)) so why cannot it read the data ? I have tried to increase the timeout but that did not help. Any help would be appreciated. Thank you. Yannick From drramimagdi at gmail.com Sun Jun 14 11:38:51 2020 From: drramimagdi at gmail.com (drramimagdi) Date: Sun, 14 Jun 2020 03:38:51 -0500 (CDT) Subject: [FFmpeg-user] why can't i use drive letter ? Message-ID: <1592123931441-0.post@n4.nabble.com> this works which is great ffmpeg -v error -stats -y -i input -vf lut3d="/3DLUTs/001.3DL" output but this does not ffmpeg -v error -stats -y -i input -vf lut3d="*d:*/3DLUTs/001.3DL" output this is the error [lut3d @ 000000cc80ee8080] [Eval @ 000000ccfdbcdb50] Undefined constant or missing '(' in '/3DLUTs/1.3DL' [lut3d @ 000000cc80ee8080] Unable to parse option value "/3DLUTs/1.3DL" [lut3d @ 000000cc80ee8080] [Eval @ 000000ccfdbcdb60] Undefined constant or missing '(' in '/3DLUTs/1.3DL' [lut3d @ 000000cc80ee8080] Unable to parse option value "/3DLUTs/1.3DL" [lut3d @ 000000cc80ee8080] Error setting option interp to value /3DLUTs/1.3DL. [Parsed_lut3d_0 @ 000000cc800a9f40] Error applying options to the filter. [AVFilterGraph @ 000000ccffe4a700] Error initializing filter 'lut3d' with args 'd:/3DLUTs/1.3DL' Error reinitializing filters! Failed to inject frame into filter network: Invalid argument Error while processing the decoded data for stream #0:0 i do not want to copy the filter beside the input file every time -- Sent from: http://www.ffmpeg-archive.org/ From ffmpeg at gyani.pro Sun Jun 14 12:02:14 2020 From: ffmpeg at gyani.pro (Gyan Doshi) Date: Sun, 14 Jun 2020 14:32:14 +0530 Subject: [FFmpeg-user] why can't i use drive letter ? In-Reply-To: <1592123931441-0.post@n4.nabble.com> References: <1592123931441-0.post@n4.nabble.com> Message-ID: On 14-06-2020 02:08 pm, drramimagdi wrote: > this works which is great > ffmpeg -v error -stats -y -i input -vf lut3d="/3DLUTs/001.3DL" output > > but this does not > ffmpeg -v error -stats -y -i input -vf lut3d="*d:*/3DLUTs/001.3DL" output > > this is the error > > [lut3d @ 000000cc80ee8080] [Eval @ 000000ccfdbcdb50] Undefined constant or > missing '(' in '/3DLUTs/1.3DL' > [lut3d @ 000000cc80ee8080] Unable to parse option value "/3DLUTs/1.3DL" > [lut3d @ 000000cc80ee8080] [Eval @ 000000ccfdbcdb60] Undefined constant or > missing '(' in '/3DLUTs/1.3DL' > [lut3d @ 000000cc80ee8080] Unable to parse option value "/3DLUTs/1.3DL" > [lut3d @ 000000cc80ee8080] Error setting option interp to value > /3DLUTs/1.3DL. > [Parsed_lut3d_0 @ 000000cc800a9f40] Error applying options to the filter. > [AVFilterGraph @ 000000ccffe4a700] Error initializing filter 'lut3d' with > args 'd:/3DLUTs/1.3DL' > Error reinitializing filters! > Failed to inject frame into filter network: Invalid argument > Error while processing the decoded data for stream #0:0 > > i do not want to copy the filter beside the input file every time ':' is used by ffmpeg filters to separate options, so it has to be escaped when fed as part of an argument. lut3d='d\:/3DLUTs/001.3DL' Regards, Gyan > > > > -- > Sent from: http://www.ffmpeg-archive.org/ > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From astroelectronic at t-online.de Sun Jun 14 12:07:04 2020 From: astroelectronic at t-online.de (Michael Koch) Date: Sun, 14 Jun 2020 11:07:04 +0200 Subject: [FFmpeg-user] why can't i use drive letter ? In-Reply-To: <1592123931441-0.post@n4.nabble.com> References: <1592123931441-0.post@n4.nabble.com> Message-ID: Am 14.06.2020 um 10:38 schrieb drramimagdi: > this works which is great > ffmpeg -v error -stats -y -i input -vf lut3d="/3DLUTs/001.3DL" output > > but this does not > ffmpeg -v error -stats -y -i input -vf lut3d="*d:*/3DLUTs/001.3DL" output if you are running this on Windows, try one of the solutions mentioned here: https://lists.ffmpeg.org/pipermail/ffmpeg-user/2015-May/026525.html Michael From koreanfanofficial at gmail.com Mon Jun 15 03:30:01 2020 From: koreanfanofficial at gmail.com (KoreanFanOfficial) Date: Mon, 15 Jun 2020 04:30:01 +0400 Subject: [FFmpeg-user] Suddenly changing mouse sensitivity in dota 2 with opengl api on Arch Linux /Debian Linux after launching stream/record via ffmpeg with vaapi encoder Message-ID: Launch Dota 2 with opengl api. After launch stream/record via ffmpeg with vaapi encoder mouse sensitivity suddenly changing without user prompt. When you alt tab and recheck mouse sensitivity settings in terminal via xinput list-props id , they shown sames as before, but mouse sensitivity is different. So i use xinput set-prop id .. for changing mouse sensitivity to previous (was before launching stream/record via ffmpeg with vaapi) value , but again after alt tabbing to dota 2 main menu, a few seconds later mouse sensitivity changing again. With software encoder there were no issue. How i can fix this? From koreanfanofficial at gmail.com Mon Jun 15 04:01:44 2020 From: koreanfanofficial at gmail.com (KoreanFanOfficial) Date: Mon, 15 Jun 2020 05:01:44 +0400 Subject: [FFmpeg-user] Add delay to stream on twitch/youtube/restream.io, add chat and alerts Message-ID: Hello. I want to add delay, chat and alerts to my stream with ffmpeg. How i can do it? From pdc.cse+ffmpeg at gmail.com Mon Jun 15 05:08:14 2020 From: pdc.cse+ffmpeg at gmail.com (Peter) Date: Mon, 15 Jun 2020 12:08:14 +1000 Subject: [FFmpeg-user] Loop filter producing off by one errors? Message-ID: Hello, I'm trying to create a video from a series of PNG frames and then loop specific frames using the loop filter. It is giving me a bit of trouble. Ffmpeg is dropping a single frame somewhere and I'm not sure why that is. Would appreciate it if someone could take a look. Essentially I have a concat demuxer input with 32 frames. I would like to repeat frame #16 104 times. And repeat frame #34 14 times. 32 input frames + 104 + 14 = 150 frames. At 30fps, my intention is to produce a 5 second video with exactly 150 frames. But I can only manage to produce 149 frames. Here is my filtergraph. I would like to repeat frames 16 and 32 (looping from back to front to ensure the loops dont interfere with frame indexes of subsequent loop filters) $ cat 054d50ac-fb18-46af-bb35-53dbebcd8b99.filtergraph [0]null[layer_0]; [1]null[layer_1]; [layer_1]loop=loop=14:start=32:size=1,loop=loop=104:start=16:size=1,setpts=expr=N/(30.000000*TB)[layer_1_loopedFrames]; [layer_0]fps=fps=30.000000[layer_0_fps]; [layer_1_loopedFrames]fps=fps=30.000000[layer_1_loopedFrames_fps]; [layer_0_fps][layer_1_loopedFrames_fps]overlay=x=0.0:y=0.0:format=auto[overlay_all] (firstly, I would like to mention that the documentation says that the loop filter uses 0-based indexing, but from my testing, both 0-based and 1-based indexing produce the same output, that is, both indexing methods drop a single frame and result in 149 frames. Both methods also produce identical binary files) Here is the contents of my concat demuxer input (line numbers added for clarity) $ cat dcdbbcd7-f1b1-4ed4-8647-741e33b619a1.txt | nl 1 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0000_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 2 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0001_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 3 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0002_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 4 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0003_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 5 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0004_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 6 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0005_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 7 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0006_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 8 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0007_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 9 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0008_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 10 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0009_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 11 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0010_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 12 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0011_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 13 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0012_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 14 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0013_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 15 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0014_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 16 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0015_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 17 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0016_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 18 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0017_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 19 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0018_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 20 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0019_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 21 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0020_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 22 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0021_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 23 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0022_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 24 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0023_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 25 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0024_63f44d9f-1853-4888-907c-d38c2a8fe8ad.png' 26 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0000_ce71dcbc-1ac7-4e69-8b72-37c7f7c40aed.png' 27 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0001_ce71dcbc-1ac7-4e69-8b72-37c7f7c40aed.png' 28 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0002_ce71dcbc-1ac7-4e69-8b72-37c7f7c40aed.png' 29 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0003_ce71dcbc-1ac7-4e69-8b72-37c7f7c40aed.png' 30 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0004_ce71dcbc-1ac7-4e69-8b72-37c7f7c40aed.png' 31 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0005_ce71dcbc-1ac7-4e69-8b72-37c7f7c40aed.png' 32 file '/var/canva/export/video/tmp/19bea535-d9bf-40f3-aa25-eb15f22bd604/0006_ce71dcbc-1ac7-4e69-8b72-37c7f7c40aed.png' $ sudo ffmpeg -y -r 30 -i background.jpeg -f concat -r 30.0 -safe 0 -i dcdbbcd7-f1b1-4ed4-8647-741e33b619a1.txt -filter_complex_script 054d50ac-fb18-46af-bb35-53dbebcd8b99.filtergraph -map [overlay_all] -c:v libx264 -pix_fmt yuv420p -colorspace bt709 -color_trc bt709 -color_primaries bt709 -color_range tv out.mp4 ffmpeg version 4.2.2-1build1~18.04.sav0 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1) configuration: --prefix=/usr --extra-version='1build1~18.04.sav0' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 [mjpeg @ 0x55e6b9c4d0c0] EOI missing, emulating Input #0, jpeg_pipe, from 'background.jpeg': Duration: N/A, bitrate: N/A Stream #0:0: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 400x400 [SAR 1:1 DAR 1:1], 25 tbr, 25 tbn, 25 tbc Input #1, concat, from 'dcdbbcd7-f1b1-4ed4-8647-741e33b619a1.txt': Duration: N/A, start: 0.000000, bitrate: N/A Stream #1:0: Video: png, rgba(pc), 400x400, 25 tbr, 25 tbn, 25 tbc Stream mapping: Stream #0:0 (mjpeg) -> null Stream #1:0 (png) -> null overlay -> Stream #0:0 (libx264) Press [q] to stop, [?] for help [concat @ 0x55e6b9c50740] DTS -230584300921369 < 0 out of order DTS -230584300921369, next:40000 st:0 invalid dropping PTS -230584300921369, next:40000 invalid dropping st:0 [swscaler @ 0x55e6b9d1e900] deprecated pixel format used, make sure you did set range correctly [libx264 @ 0x55e6b9c6eb80] using SAR=1/1 [libx264 @ 0x55e6b9c6eb80] using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX [libx264 @ 0x55e6b9c6eb80] profile High, level 2.1 [libx264 @ 0x55e6b9c6eb80] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to 'out.mp4': Metadata: encoder : Lavf58.29.100 Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p(tv, bt709), 400x400 [SAR 1:1 DAR 1:1], q=-1--1, 30 fps, 15360 tbn, 30 tbc (default) Metadata: encoder : Lavc58.54.100 libx264 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1 DTS -230584300921369, next:40000 st:0 invalid dropping PTS -230584300921369, next:40000 invalid dropping st:0 DTS -230584300921369, next:40000 st:0 invalid dropping PTS -230584300921369, next:40000 invalid dropping st:0 DTS -230584300921369, next:40000 st:0 invalid dropping PTS -230584300921369, next:40000 invalid dropping st:0 DTS -230584300921369, next:40000 st:0 invalid dropping PTS -230584300921369, next:40000 invalid dropping st:0 DTS -230584300921369, next:40000 st:0 invalid dropping PTS -230584300921369, next:40000 invalid dropping st:0 DTS -230584300921369, next:40000 st:0 invalid dropping PTS -230584300921369, next:40000 invalid dropping st:0 DTS -230584300921369, next:40000 st:0 invalid dropping PTS -230584300921369, next:40000 invalid dropping st:0 DTS -230584300921369, next:40000 st:0 invalid dropping PTS -230584300921369, next:40000 invalid dropping st:0 DTS -230584300921369, next:40000 st:0 invalid dropping PTS -230584300921369, next:40000 invalid dropping st:0 DTS -230584300921369, next:40000 st:0 invalid dropping PTS -230584300921369, next:40000 invalid dropping st:0 DTS -230584300921369, next:40000 st:0 invalid dropping PTS -230584300921369, next:40000 invalid dropping st:0 DTS -230584300921369, next:40000 st:0 invalid dropping PTS -230584300921369, next:40000 invalid dropping st:0 DTS -230584300921369, next:40000 st:0 invalid dropping PTS -230584300921369, next:40000 invalid dropping st:0 DTS -230584300921369, next:40000 st:0 invalid dropping PTS -230584300921369, next:40000 invalid dropping st:0 DTS -230584300921369, next:40000 st:0 invalid dropping PTS -230584300921369, next:40000 invalid dropping st:0 frame= 149 fps=0.0 q=-1.0 Lsize= 24kB time=00:00:04.86 bitrate= 39.8kbits/s speed=14.5x video:21kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 12.099166% [libx264 @ 0x55e6b9c6eb80] frame I:1 Avg QP:10.12 size: 85 [libx264 @ 0x55e6b9c6eb80] frame P:38 Avg QP:14.50 size: 145 [libx264 @ 0x55e6b9c6eb80] frame B:110 Avg QP:17.37 size: 139 [libx264 @ 0x55e6b9c6eb80] consecutive B-frames: 0.7% 0.0% 8.1% 91.3% [libx264 @ 0x55e6b9c6eb80] mb I I16..4: 100.0% 0.0% 0.0% [libx264 @ 0x55e6b9c6eb80] mb P I16..4: 1.4% 4.4% 0.0% P16..4: 1.4% 0.6% 0.1% 0.0% 0.0% skip:92.1% [libx264 @ 0x55e6b9c6eb80] mb B I16..4: 0.2% 0.0% 0.0% B16..8: 1.3% 0.0% 0.0% direct: 4.6% skip:93.8% L0:42.8% L1:54.0% BI: 3.2% [libx264 @ 0x55e6b9c6eb80] 8x8 transform intra:50.3% inter:100.0% [libx264 @ 0x55e6b9c6eb80] coded y,uvDC,uvAC intra: 0.2% 7.1% 5.8% inter: 0.0% 4.4% 1.1% [libx264 @ 0x55e6b9c6eb80] i16 v,h,dc,p: 91% 5% 3% 0% [libx264 @ 0x55e6b9c6eb80] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 1% 8% 90% 0% 0% 0% 0% 0% 0% [libx264 @ 0x55e6b9c6eb80] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 0% 50% 47% 0% 0% 0% 0% 0% 3% [libx264 @ 0x55e6b9c6eb80] i8c dc,h,v,p: 90% 5% 5% 0% [libx264 @ 0x55e6b9c6eb80] Weighted P-Frames: Y:18.4% UV:18.4% [libx264 @ 0x55e6b9c6eb80] ref P L0: 88.0% 4.1% 5.4% 1.1% 1.4% [libx264 @ 0x55e6b9c6eb80] ref B L0: 94.7% 3.9% 1.4% [libx264 @ 0x55e6b9c6eb80] ref B L1: 97.7% 2.3% [libx264 @ 0x55e6b9c6eb80] kb/s:33.65 Things I've tried: - using 0-based indexing - using 1-based indexing - adding 'duration 0.0333' after each line in the concat demuxer input (this removes the DTS/PTS warnings, but doesn't change the output) My suspicion is that there is some extra bit of ffmpeg knowledge that is needed to get this to work correctly that I am missing. Would appreciate any help. Thanks! From ffmpeg at gyani.pro Mon Jun 15 08:19:34 2020 From: ffmpeg at gyani.pro (Gyan Doshi) Date: Mon, 15 Jun 2020 10:49:34 +0530 Subject: [FFmpeg-user] Loop filter producing off by one errors? In-Reply-To: References: Message-ID: On 15-06-2020 07:38 am, Peter wrote: > Hello, > > I'm trying to create a video from a series of PNG frames and then loop > specific frames using the loop filter. It is giving me a bit of trouble. > Ffmpeg is dropping a single frame somewhere and I'm not sure why that is. > Would appreciate it if someone could take a look. > > Essentially I have a concat demuxer input with 32 frames. I would like to > repeat frame #16 104 times. And repeat frame #34 14 times. 32 input frames > + 104 + 14 = 150 frames. At 30fps, my intention is to produce a 5 second > video with exactly 150 frames. But I can only manage to produce 149 frames. Can you identify which frame is missing? Gyan From pdc.cse+ffmpeg at gmail.com Mon Jun 15 09:25:42 2020 From: pdc.cse+ffmpeg at gmail.com (Peter) Date: Mon, 15 Jun 2020 16:25:42 +1000 Subject: [FFmpeg-user] Loop filter producing off by one errors? In-Reply-To: References: Message-ID: On Mon, Jun 15, 2020 at 3:20 PM Gyan Doshi wrote: > > > On 15-06-2020 07:38 am, Peter wrote: > > Hello, > > > > I'm trying to create a video from a series of PNG frames and then loop > > specific frames using the loop filter. It is giving me a bit of trouble. > > Ffmpeg is dropping a single frame somewhere and I'm not sure why that is. > > Would appreciate it if someone could take a look. > > > > Essentially I have a concat demuxer input with 32 frames. I would like to > > repeat frame #16 104 times. And repeat frame #34 14 times. 32 input > frames > > + 104 + 14 = 150 frames. At 30fps, my intention is to produce a 5 second > > video with exactly 150 frames. But I can only manage to produce 149 > frames. > > Can you identify which frame is missing? > > Gyan I'm pretty sure that the last frame is being dropped. That is, the loop of the last frame is missing. Meaning that this section of the filtergraph is only producing 13 extra frames. [layer_1]loop=loop=14:start=32:size=1, just some extra confirmation: - changing "start=32" to "start=31" produces the exact same 149 frame video. - changing "loop=14" to "loop=15" produces a correct 150 frame video (although this seems wrong to me as I would expect a 151 frame video given these parameters) From pdc.cse+ffmpeg at gmail.com Mon Jun 15 10:12:37 2020 From: pdc.cse+ffmpeg at gmail.com (Peter) Date: Mon, 15 Jun 2020 17:12:37 +1000 Subject: [FFmpeg-user] Loop filter producing off by one errors? In-Reply-To: References: Message-ID: On Mon, Jun 15, 2020 at 4:25 PM Peter wrote: > > > On Mon, Jun 15, 2020 at 3:20 PM Gyan Doshi wrote: > >> >> >> On 15-06-2020 07:38 am, Peter wrote: >> > Hello, >> > >> > I'm trying to create a video from a series of PNG frames and then loop >> > specific frames using the loop filter. It is giving me a bit of trouble. >> > Ffmpeg is dropping a single frame somewhere and I'm not sure why that >> is. >> > Would appreciate it if someone could take a look. >> > >> > Essentially I have a concat demuxer input with 32 frames. I would like >> to >> > repeat frame #16 104 times. And repeat frame #34 14 times. 32 input >> frames >> > + 104 + 14 = 150 frames. At 30fps, my intention is to produce a 5 second >> > video with exactly 150 frames. But I can only manage to produce 149 >> frames. >> >> Can you identify which frame is missing? >> >> Gyan > > > I'm pretty sure that the last frame is being dropped. That is, the loop of > the last frame is missing. Meaning that this section of the filtergraph is > only producing 13 extra frames. > > [layer_1]loop=loop=14:start=32:size=1, > > just some extra confirmation: > > - changing "start=32" to "start=31" produces the exact same 149 frame > video. > - changing "loop=14" to "loop=15" produces a correct 150 frame video > (although this seems wrong to me as I would expect a 151 frame video given > these parameters) > > > > I am even MORE confident that there is some ffmpeg aspect that is affecting my results that I am not aware of as two different techniques have produced the exact same unexpected output. I tried it another way, using split with trim filter to extract specific frames, then looping them individually, then concat filter to merge the video streams. This alternative approach still produces a 149 frame file. The exact same binary file as the above (according to "diff -b"). [0]null[layer_0]; [1]null[layer_1]; [layer_1]split=4[s1][s2][s3][s4]; [s1]trim=start_frame=0:end_frame=15,setpts=expr=PTS-STARTPTS[l1]; [s2]trim=start_frame=15:end_frame=16,setpts=expr=PTS-STARTPTS,loop=loop=104:start=0:size=1[l2]; [s3]trim=start_frame=16:end_frame=31,setpts=expr=PTS-STARTPTS[l3]; [s4]trim=start_frame=31:end_frame=32,setpts=expr=PTS-STARTPTS,loop=loop=14:start=0:size=1[l4]; [l1][l2][l3][l4]concat=n=4,setpts=expr='N/(30*TB)'[layer_1_loopedFrames]; [layer_0]fps=fps=30.000000[layer_0_fps]; [layer_1_loopedFrames]fps=fps=30.000000[layer_1_loopedFrames_fps]; [layer_0_fps][layer_1_loopedFrames_fps]overlay=x=0.0:y=0.0:format=auto[overlay_all] And, as previously mentioned, if I repeat the last frame one more time than necessary, it produces a correct 150 frame output. [0]null[layer_0]; [1]null[layer_1]; [layer_1]split=4[s1][s2][s3][s4]; [s1]trim=start_frame=0:end_frame=15,setpts=expr=PTS-STARTPTS[l1]; [s2]trim=start_frame=15:end_frame=16,setpts=expr=PTS-STARTPTS,loop=loop=104:start=0:size=1[l2]; [s3]trim=start_frame=16:end_frame=31,setpts=expr=PTS-STARTPTS[l3]; [s4]trim=start_frame=31:end_frame=32,setpts=expr=PTS-STARTPTS,loop=loop=15:start=0:size=1[l4]; [l1][l2][l3][l4]concat=n=4,setpts=expr='N/(30*TB)'[layer_1_loopedFrames]; [layer_0]fps=fps=30.000000[layer_0_fps]; [layer_1_loopedFrames]fps=fps=30.000000[layer_1_loopedFrames_fps]; [layer_0_fps][layer_1_loopedFrames_fps]overlay=x=0.0:y=0.0:format=auto[overlay_all] Notice, the loop of 15 (should be 14) in the [s4]...[l4] filterchain Different approach, same unexpected/wrong output. Can anyone tell me what I'm missing here? From yannick.barbeaux at keemotion.com Mon Jun 15 10:28:39 2020 From: yannick.barbeaux at keemotion.com (Yannick Barbeaux) Date: Mon, 15 Jun 2020 09:28:39 +0200 Subject: [FFmpeg-user] timeout error when reading RTSP/RTP incoming audio stream Message-ID: Hello I am struggling to read a multicast audio RTP stream controlled by RTSP. As soon as I launch the ffplay or ffmpeg command, the RTP traffic starts (tcpdump) on port 5004/UDP (as advertised in the SDP file), so it should read the stream correctly but I finally get a time-out instead (and empty out file). The very same RTSP URL can be read without any issue with VLC or with rtpdump+sox. $ ffmpeg -y -rtsp_transport udp_multicast -i "rtsp:// 192.168.2.148:554/by-name/AES67-stream (on hasseb-AoE-F8-82)" -vn -f s24le -ar 48000 -c:a pcm_s24be out.raw ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1) configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libfreetype --enable-gnutl s --enable-libdav1d --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvidstab --enable-libtheora --en able-libwavpack --enable-libopenjpeg --enable-libgsm --enable-nvenc --enable-libzimg --enable-libaom libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 Guessed Channel Layout for Input Stream #0.0 : stereo Input #0, rtsp, from 'rtsp://192.168.2.148:554/by-name/AES67-stream (on hasseb-AoE-F8-82)': Metadata: title : AES67-stream (on hasseb-AoE-F8-82) streamed by "hasseb" Duration: N/A, bitrate: 2304 kb/s Stream #0:0: Audio: pcm_s24be, 48000 Hz, stereo, s32 (24 bit), 2304 kb/s Stream mapping: Stream #0:0 -> #0:0 (pcm_s24be (native) -> pcm_s24be (native)) Press [q] to stop, [?] for help rtsp://192.168.2.148:554/by-name/AES67-stream (on hasseb-AoE-F8-82): Connection timed out Output #0, s24le, to 'out.raw': Metadata: title : AES67-stream (on hasseb-AoE-F8-82) streamed by "hasseb" encoder : Lavf58.29.100 Stream #0:0: Audio: pcm_s24be, 48000 Hz, stereo, s32 (24 bit), 2304 kb/s Metadata: encoder : Lavc58.54.100 pcm_s24be size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used) The SDP file is : v=0 o=- 254522267104 0 IN IP4 192.168.2.148 s=AES67-stream (on hasseb-AoE-F8-82) streamed by "hasseb" t=0 0 a=clock-domain:PTPv2 0 a=recvonly m=audio 5004 RTP/AVP 98 c=IN IP4 239.123.123.123/255 a=rtpmap:98 L24/48000/2 a=sync-time:0 a=framecount:48 a=source-filter: incl IN IP4 239.123.123.123 192.168.2.148 a=ts-refclk:ptp=IEEE1588-2008:00-10-4b-ff-fe-2e-f8-82:domain-nmbr=0 a=mediaclk:direct=0 a=ptime:1 Comparing those files, we see that ffmpeg detects the correct audio settings (pcm_s24be, 48000 Hz, stereo, s32 (24 bit)) so I cannot figure out why it can't read the data stream? I have tried to increase the timeout but that did not help. Any help would be appreciated. Thank you. Yannick From tomasparks.ts at gmail.com Mon Jun 15 13:48:44 2020 From: tomasparks.ts at gmail.com (Tom Sparks) Date: Mon, 15 Jun 2020 20:48:44 +1000 Subject: [FFmpeg-user] Add delay to stream on twitch/youtube/restream.io, add chat and alerts In-Reply-To: References: Message-ID: Have you looked at OBS[1]? [2]: https://obsproject.com/ On 15/06/2020, KoreanFanOfficial wrote: > Hello. I want to add delay, chat and alerts to my stream with ffmpeg. How i > can do it? > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From mrk.ramakrishna at gmail.com Mon Jun 15 15:33:06 2020 From: mrk.ramakrishna at gmail.com (Rama Krishna Thelagathoti) Date: Mon, 15 Jun 2020 07:33:06 -0500 Subject: [FFmpeg-user] ffmpeg drops 360 video metadata Message-ID: Hello ffmpeg team, kindly help me with following issue 360sample.mp4 is 360 video and with following command out.mp4 is also 360 video. sudo ffmpeg -i 360sample.mp4 -vcodec libx264 -strict unofficial -vprofile high -acodec aac out.mp4 But with the following transcoding command out.mp4 is not 360 video, video is playing top/bottom , spherical data as part of metadata is lost. sudo ffmpeg -i R0010309_er.MP4 -vcodec libx264 -strict unofficial -vprofile high -acodec aac -f flv RC.mp4 How to ensure that 360 metadata is preserve while transcoding. -- Best Regards *Rama krishna Thelagathoti* From gatodiablo at protonmail.com Mon Jun 15 16:04:18 2020 From: gatodiablo at protonmail.com (gatodiablo at protonmail.com) Date: Mon, 15 Jun 2020 13:04:18 +0000 Subject: [FFmpeg-user] Libavcodec conflicts Message-ID: So I wanted to install all the extra codecs for ffmpeg. I'm using mint 19. Right away apt tells me Libavcodec-extra57 conflicts with libavcodec57 and libavfilter-extra6 conflicts with libavfilter6. I was able to get it to install by using the force-depends flag but now apt -f install complains that vlc, ffmpeg and celluloid are broken and wants to uninstall them. I checked all of the above programs and they work fine but apts complaining is annoying. Why are these packages in conflict? Is it recommended to install both side by side? This looks like a common problem from my internet searches. What is the recommended solution? Sent from ProtonMail mobile From barsnick at gmx.net Mon Jun 15 16:15:16 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Mon, 15 Jun 2020 15:15:16 +0200 Subject: [FFmpeg-user] Libavcodec conflicts In-Reply-To: References: Message-ID: <20200615131516.GA4059@sunshine.barsnick.net> On Mon, Jun 15, 2020 at 13:04:18 +0000, FFmpeg user discussions wrote: This is pretty muc a distribution issue, but let's try to help: > So I wanted to install all the extra codecs for ffmpeg. I'm using > mint 19. Right away apt tells me Libavcodec-extra57 conflicts with > libavcodec57 and libavfilter-extra6 conflicts with libavfilter6. I > was able to get it to install by using the force-depends flag but now > apt -f install complains that vlc, ffmpeg and celluloid are broken > and wants to uninstall them. I checked all of the above programs and > they work fine but apts complaining is annoying. > Why are these packages in conflict? Is it recommended to install both > side by side? This looks like a common problem from my internet > searches. What is the recommended solution? ffmpeg doesn't have the concept of plugins, so there's only a defined set of codecs/filters/formats a compiled library can support. If this packaging is anything like in Debian/Ubuntu, those packages are either/or. Either you install the one with e.g. "fewer" codecs, or the one with "more". See also here: https://askubuntu.com/questions/847213/whats-the-difference-between-libavcodec-ffmpeg-extra56-and-libavcodec-ffmpeg56 Cheers, Moritz From barsnick at gmx.net Mon Jun 15 16:27:20 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Mon, 15 Jun 2020 15:27:20 +0200 Subject: [FFmpeg-user] ffmpeg drops 360 video metadata In-Reply-To: References: Message-ID: <20200615132720.GB4059@sunshine.barsnick.net> On Mon, Jun 15, 2020 at 07:33:06 -0500, Rama Krishna Thelagathoti wrote: > Hello ffmpeg team, kindly help me with following issue > 360sample.mp4 is 360 video and with following command out.mp4 is also 360 > video. > > sudo ffmpeg -i 360sample.mp4 -vcodec libx264 -strict unofficial > -vprofile high -acodec aac out.mp4 > > But with the following transcoding command out.mp4 is not 360 video, video > is playing top/bottom , spherical data as part of metadata is lost. > > sudo ffmpeg -i R0010309_er.MP4 -vcodec libx264 -strict unofficial -vprofile > high -acodec aac -f flv RC.mp4 You are usually requested to also show us the complete, uncut console output. > How to ensure that 360 metadata is preserve while transcoding. You are writing to FLV. ffmpeg does not support spatial data for FLV. Is that even defined in the FLV spec? Google's own spatial tools don't support FLV either: https://github.com/google/spatial-media (but can successfully inject into MP4). Regards, Moritz From leo.butler81 at googlemail.com Mon Jun 15 18:53:53 2020 From: leo.butler81 at googlemail.com (Leo Butler) Date: Mon, 15 Jun 2020 10:53:53 -0500 Subject: [FFmpeg-user] ffmpeg drops 360 video metadata In-Reply-To: (Rama Krishna Thelagathoti's message of "Mon, 15 Jun 2020 07:33:06 -0500") References: Message-ID: <86366w8gvi.fsf@x201.butler.org> Rama Krishna Thelagathoti writes: > Hello ffmpeg team, kindly help me with following issue > 360sample.mp4 is 360 video and with following command out.mp4 is also 360 > video. > > sudo ffmpeg -i 360sample.mp4 -vcodec libx264 -strict unofficial > -vprofile high -acodec aac out.mp4 An aside: You shouldn't need to run these commands as root (i.e. no need for sudo before ffmpeg). Leo From cpz at tuunq.com Mon Jun 15 19:26:32 2020 From: cpz at tuunq.com (Carl Zwanzig) Date: Mon, 15 Jun 2020 09:26:32 -0700 Subject: [FFmpeg-user] Add delay to stream on twitch/youtube/restream.io, add chat and alerts In-Reply-To: References: Message-ID: (please do not top-post on this list) > On 15/06/2020, KoreanFanOfficial wrote: >> Hello. I want to add delay, chat and alerts to my stream with ffmpeg. How i >> can do it? On 6/15/2020 3:48 AM, Tom Sparks wrote: > Have you looked at OBS[1]? OBS filters can only add a short delay. Add delay- how long? (delay is memory- or disk-intensive*) OBS can insert a short delay, but longer ones usually mean writing data into a file and playing it back later (which could be only 5 seconds). There are many "gotchas" around that with file format and record/play timing. Please start a separate email thread for that. *(back-of-the-envelope calculation) if you assume uncompressed 8-bit RGB HD, that's over 6MB/frame, a 30 second buffer at 30fps will need to be something like 6GB (spinning disks aren't fast enough for this, needs to be SSD or in-memory) Add "chat"- that's not a function of the stream. Add "alerts"- what does that mean in this case? z! From mrk.ramakrishna at gmail.com Mon Jun 15 19:41:36 2020 From: mrk.ramakrishna at gmail.com (Rama Krishna Thelagathoti) Date: Mon, 15 Jun 2020 11:41:36 -0500 Subject: [FFmpeg-user] ffmpeg drops 360 video metadata In-Reply-To: <86366w8gvi.fsf@x201.butler.org> References: <86366w8gvi.fsf@x201.butler.org> Message-ID: Thank you for your quick response. Let me clarify what I am looking for. I want to stream 360 degree video over rtmp port and nginx server is in the backend. I want to demonstrate dynamic bitrate adaptation(such as HLS/DASH) . non-360 degree video streaming is working as expected, However I have difficulty with 360 video. I tried following ways 1. ffmpeg -loglevel verbose -i R0010309_er.MP4 -vcodec libx264 -strict unofficial -vprofile high -acodec aac -f flv rtmp://localhost/live/360streamR able to play stream at the sink but not playing in 360 degree mode because 360 degree video metadata is lost while format conversion (attached log 1) 2. ffmpeg -loglevel verbose -i R0010309_er.MP4 -preset veryfast -g 25 -sc_threshold 0 -map v:0 -c:v:0 libx264 -strict unofficial -b:v:0 2000k -map v:0 -c:v:1 libx264 -strict unofficial -b:v:1 6000k -map a:0 -map a:0 -c:a aac -b:a 128k -ac 2 -f hls -hls_time 4 -hls_playlist_type event -master_pl_name R3601.m3u8 -var_stream_map "v:0,a:0 v:1,a:1" /mnt/hls/R360Stream1_%v.m3u8 still same behaviour (log attached 2) Could you suggest a way where I can stream 360 degree video without losing spatial metadata and able to demonstrate bit rate adaption. Thanks in advance On Mon, Jun 15, 2020 at 10:54 AM Leo Butler via ffmpeg-user < ffmpeg-user at ffmpeg.org> wrote: > Rama Krishna Thelagathoti writes: > > > Hello ffmpeg team, kindly help me with following issue > > 360sample.mp4 is 360 video and with following command out.mp4 is also 360 > > video. > > > > sudo ffmpeg -i 360sample.mp4 -vcodec libx264 -strict unofficial > > -vprofile high -acodec aac out.mp4 > > An aside: You shouldn't need to run these commands as root (i.e. no need > for sudo before ffmpeg). > > Leo > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". -- Best Regards *Rama krishna Thelagathoti* -------------- next part -------------- rthelagathoti at PKI369-NUC04:~/streaming$ ffmpeg -loglevel verbose -i R0010309_er.MP4 -vcodec libx264 -strict unofficial -vprofile high -acodec aac -f flv rtmp://localhost/live/360streamR ffmpeg version 4.2.2-1ubuntu1~18.04.york0 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04) configuration: --prefix=/usr --extra-version='1ubuntu1~18.04.york0' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 Routing option strict to both codec and muxer layer [h264 @ 0x562390046800] Reinit context to 3840x1920, pix_fmt: yuvj420p Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'R0010309_er.MP4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 creation_time : 2018-01-01T19:49:42.000000Z Duration: 00:00:03.57, start: 0.000000, bitrate: 62822 kb/s Stream #0:0(und): Video: h264 (Constrained Baseline), 1 reference frame (avc1 / 0x31637661), yuvj420p(pc, left), 3840x1920 [SAR 1:1 DAR 2:1], 59135 kb/s, 29.97 fps, 29.97 tbr, 29970 tbn, 59.94 tbc (default) Metadata: creation_time : 2018-01-01T19:49:42.000000Z handler_name : VideoHandler Side data: spherical: equirectangular (0.000000/0.000000/0.000000) Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 127 kb/s (default) Metadata: creation_time : 2018-01-01T19:49:42.000000Z handler_name : SoundHandler [tcp @ 0x56239004aa00] Starting connection attempt to 127.0.0.1 port 1935 [tcp @ 0x56239004aa00] Successfully connected to 127.0.0.1 port 1935 Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) Stream #0:1 -> #0:1 (aac (native) -> aac (native)) Press [q] to stop, [?] for help [graph_1_in_0_1 @ 0x562390257e40] tb:1/48000 samplefmt:fltp samplerate:48000 chlayout:0x4 [h264 @ 0x56239008fbc0] Reinit context to 3840x1920, pix_fmt: yuvj420p [graph 0 input from stream 0:0 @ 0x562390ef15c0] w:3840 h:1920 pixfmt:yuvj420p tb:1/29970 fr:2997/100 sar:1/1 sws_param:flags=2 [libx264 @ 0x562390077c00] using SAR=1/1 [libx264 @ 0x562390077c00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @ 0x562390077c00] profile High, level 5.1 [libx264 @ 0x562390077c00] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, flv, to 'rtmp://localhost/live/360streamR': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf58.29.100 Stream #0:0(und): Video: h264 (libx264), 1 reference frame ([7][0][0][0] / 0x0007), yuvj420p(pc, left), 3840x1920 [SAR 1:1 DAR 2:1], q=-1--1, 29.97 fps, 1k tbn, 29.97 tbc (default) Metadata: creation_time : 2018-01-01T19:49:42.000000Z handler_name : VideoHandler encoder : Lavc58.54.100 libx264 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1 spherical: equirectangular (0.000000/0.000000/0.000000) Stream #0:1(und): Audio: aac (LC) ([10][0][0][0] / 0x000A), 48000 Hz, mono, fltp, delay 1024, 69 kb/s (default) Metadata: creation_time : 2018-01-01T19:49:42.000000Z handler_name : SoundHandler encoder : Lavc58.54.100 aac No more output streams to write to, finishing.e=00:00:03.52 bitrate=6035.6kbits/s speed=0.206x [flv @ 0x562390070e40] Failed to update header with correct duration. [flv @ 0x562390070e40] Failed to update header with correct filesize. frame= 106 fps=3.9 q=-1.0 Lsize= 4891kB time=00:00:03.56 bitrate=11235.2kbits/s speed=0.131x video:4855kB audio:30kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.108222% Input file #0 (R0010309_er.MP4): Input stream #0:0 (video): 106 packets read (26144310 bytes); 106 frames decoded; Input stream #0:1 (audio): 163 packets read (56735 bytes); 163 frames decoded (166912 samples); Total: 269 packets (26201045 bytes) demuxed Output file #0 (rtmp://localhost/live/360streamR): Output stream #0:0 (video): 106 frames encoded; 106 packets muxed (4971622 bytes); Output stream #0:1 (audio): 163 frames encoded (166912 samples); 164 packets muxed (31049 bytes); Total: 270 packets (5002671 bytes) muxed [AVIOContext @ 0x562390081540] Statistics: 0 seeks, 364 writeouts [libx264 @ 0x562390077c00] frame I:1 Avg QP:22.07 size:280593 [libx264 @ 0x562390077c00] frame P:27 Avg QP:21.59 size:101191 [libx264 @ 0x562390077c00] frame B:78 Avg QP:24.55 size: 25105 [libx264 @ 0x562390077c00] consecutive B-frames: 1.9% 0.0% 0.0% 98.1% [libx264 @ 0x562390077c00] mb I I16..4: 29.7% 55.2% 15.1% [libx264 @ 0x562390077c00] mb P I16..4: 11.1% 10.5% 0.2% P16..4: 38.4% 9.9% 5.6% 0.0% 0.0% skip:24.3% [libx264 @ 0x562390077c00] mb B I16..4: 1.6% 1.1% 0.0% B16..8: 38.7% 1.8% 0.1% direct: 2.0% skip:54.7% L0:48.8% L1:49.6% BI: 1.6% [libx264 @ 0x562390077c00] 8x8 transform intra:46.9% inter:81.6% [libx264 @ 0x562390077c00] coded y,uvDC,uvAC intra: 16.7% 40.6% 3.6% inter: 8.6% 14.1% 0.1% [libx264 @ 0x562390077c00] i16 v,h,dc,p: 18% 51% 10% 21% [libx264 @ 0x562390077c00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 14% 36% 41% 1% 1% 1% 2% 1% 2% [libx264 @ 0x562390077c00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 32% 13% 5% 7% 5% 10% 4% 8% [libx264 @ 0x562390077c00] i8c dc,h,v,p: 51% 36% 10% 3% [libx264 @ 0x562390077c00] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 0x562390077c00] ref P L0: 61.7% 9.8% 20.9% 7.5% [libx264 @ 0x562390077c00] ref B L0: 89.3% 8.4% 2.3% [libx264 @ 0x562390077c00] ref B L1: 94.0% 6.0% [libx264 @ 0x562390077c00] kb/s:11243.69 [aac @ 0x5623900743c0] Qavg: 845.908 [AVIOContext @ 0x56239004da40] Statistics: 26463026 bytes read, 6 seeks -------------- next part -------------- rthelagathoti at PKI369-NUC04:~/streaming$ ffmpeg -loglevel verbose -i R0010309_er.MP4 -preset veryfast -g 25 -sc_threshold 0 -map v:0 -c:v:0 libx264 -strict unofficial -b:v:0 2000k -map v:0 -c:v:1 libx264 -strict unofficial -b:v:1 6000k -map a:0 -map a:0 -c:a aac -b:a 128k -ac 2 -f hls -hls_time 4 -hls_playlist_type event -master_pl_name R3601.m3u8 -var_stream_map "v:0,a:0 v:1,a:1" /mnt/hls/R360Stream1_%v.m3u8 ffmpeg version 4.2.2-1ubuntu1~18.04.york0 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04) configuration: --prefix=/usr --extra-version='1ubuntu1~18.04.york0' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 Routing option strict to both codec and muxer layer Last message repeated 1 times [h264 @ 0x5555eaa129c0] Reinit context to 3840x1920, pix_fmt: yuvj420p Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'R0010309_er.MP4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 creation_time : 2018-01-01T19:49:42.000000Z Duration: 00:00:03.57, start: 0.000000, bitrate: 62822 kb/s Stream #0:0(und): Video: h264 (Constrained Baseline), 1 reference frame (avc1 / 0x31637661), yuvj420p(pc, left), 3840x1920 [SAR 1:1 DAR 2:1], 59135 kb/s, 29.97 fps, 29.97 tbr, 29970 tbn, 59.94 tbc (default) Metadata: creation_time : 2018-01-01T19:49:42.000000Z handler_name : VideoHandler Side data: spherical: equirectangular (0.000000/0.000000/0.000000) Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 127 kb/s (default) Metadata: creation_time : 2018-01-01T19:49:42.000000Z handler_name : SoundHandler Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) Stream #0:0 -> #0:1 (h264 (native) -> h264 (libx264)) Stream #0:1 -> #0:2 (aac (native) -> aac (native)) Stream #0:1 -> #0:3 (aac (native) -> aac (native)) Press [q] to stop, [?] for help [graph_2_in_0_1 @ 0x5555eacaa900] tb:1/48000 samplefmt:fltp samplerate:48000 chlayout:0x4 [format_out_0_2 @ 0x5555eacaac00] auto-inserting filter 'auto_resampler_0' between the filter 'Parsed_anull_0' and the filter 'format_out_0_2' [auto_resampler_0 @ 0x5555eacabc00] ch:1 chl:mono fmt:fltp r:48000Hz -> ch:2 chl:stereo fmt:fltp r:48000Hz [h264 @ 0x5555eaa516c0] Reinit context to 3840x1920, pix_fmt: yuvj420p [graph_3_in_0_1 @ 0x5555ead693c0] tb:1/48000 samplefmt:fltp samplerate:48000 chlayout:0x4 [format_out_0_3 @ 0x5555eacc1180] auto-inserting filter 'auto_resampler_0' between the filter 'Parsed_anull_0' and the filter 'format_out_0_3' [auto_resampler_0 @ 0x5555ead6a6c0] ch:1 chl:mono fmt:fltp r:48000Hz -> ch:2 chl:stereo fmt:fltp r:48000Hz [graph 0 input from stream 0:0 @ 0x5555eba32380] w:3840 h:1920 pixfmt:yuvj420p tb:1/29970 fr:2997/100 sar:1/1 sws_param:flags=2 [libx264 @ 0x5555eaa40b00] using SAR=1/1 [libx264 @ 0x5555eaa40b00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @ 0x5555eaa40b00] profile High, level 5.1 [libx264 @ 0x5555eaa40b00] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=2 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=6 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=25 keyint_min=2 scenecut=0 intra_refresh=0 rc_lookahead=10 rc=abr mbtree=1 bitrate=2000 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 [graph 1 input from stream 0:0 @ 0x5555ebc7f240] w:3840 h:1920 pixfmt:yuvj420p tb:1/29970 fr:2997/100 sar:1/1 sws_param:flags=2 [libx264 @ 0x5555eaa3f0c0] using SAR=1/1 [libx264 @ 0x5555eaa3f0c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @ 0x5555eaa3f0c0] profile High, level 5.1 [libx264 @ 0x5555eaa3f0c0] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=2 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=6 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=25 keyint_min=2 scenecut=0 intra_refresh=0 rc_lookahead=10 rc=abr mbtree=1 bitrate=6000 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 [hls @ 0x5555eaa43b40] Opening '/mnt/hls/R360Stream1_00.ts' for writing [hls @ 0x5555eaa43b40] Opening '/mnt/hls/R360Stream1_10.ts' for writing [mpegts @ 0x5555ebec8340] muxrate VBR, pcr every 2 pkts, sdt every 2147483647, pat/pmt every 2147483647 pkts [mpegts @ 0x5555ebf0b300] muxrate VBR, pcr every 2 pkts, sdt every 2147483647, pat/pmt every 2147483647 pkts Output #0, hls, to '/mnt/hls/R360Stream1_%v.m3u8': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf58.29.100 Stream #0:0(und): Video: h264 (libx264), 1 reference frame, yuvj420p(pc, progressive, left), 3840x1920 [SAR 1:1 DAR 2:1], q=-1--1, 2000 kb/s, 29.97 fps, 90k tbn, 29.97 tbc (default) Metadata: creation_time : 2018-01-01T19:49:42.000000Z handler_name : VideoHandler encoder : Lavc58.54.100 libx264 Side data: cpb: bitrate max/min/avg: 0/0/2000000 buffer size: 0 vbv_delay: -1 spherical: equirectangular (0.000000/0.000000/0.000000) Stream #0:1(und): Video: h264 (libx264), 1 reference frame, yuvj420p(pc, left), 3840x1920 [SAR 1:1 DAR 2:1], q=-1--1, 6000 kb/s, 29.97 fps, 90k tbn, 29.97 tbc (default) Metadata: creation_time : 2018-01-01T19:49:42.000000Z handler_name : VideoHandler encoder : Lavc58.54.100 libx264 Side data: cpb: bitrate max/min/avg: 0/0/6000000 buffer size: 0 vbv_delay: -1 spherical: equirectangular (0.000000/0.000000/0.000000) Stream #0:2(und): Audio: aac (LC), 48000 Hz, stereo, fltp, delay 1024, 128 kb/s (default) Metadata: creation_time : 2018-01-01T19:49:42.000000Z handler_name : SoundHandler encoder : Lavc58.54.100 aac Stream #0:3(und): Audio: aac (LC), 48000 Hz, stereo, fltp, delay 1024, 128 kb/s (default) Metadata: creation_time : 2018-01-01T19:49:42.000000Z handler_name : SoundHandler encoder : Lavc58.54.100 aac No more output streams to write to, finishing.e=00:00:03.45 bitrate=N/A speed=0.258x [AVIOContext @ 0x5555ebf0ad00] Statistics: 0 seeks, 5 writeouts [hls @ 0x5555eaa43b40] Opening '/mnt/hls/R360Stream1_0.m3u8.tmp' for writing EXT-X-MEDIA-SEQUENCE:0 [AVIOContext @ 0x5555ebf825c0] Statistics: 0 seeks, 1 writeouts [AVIOContext @ 0x5555ebf4dd80] Statistics: 0 seeks, 12 writeouts [hls @ 0x5555eaa43b40] Opening '/mnt/hls/R360Stream1_1.m3u8.tmp' for writing EXT-X-MEDIA-SEQUENCE:0 [AVIOContext @ 0x5555ebf7c080] Statistics: 0 seeks, 1 writeouts [hls @ 0x5555eaa43b40] Opening '/mnt/hls/R3601.m3u8' for writing [AVIOContext @ 0x5555ebf825c0] Statistics: 0 seeks, 1 writeouts frame= 106 fps=6.9 q=-1.0 Lq=-1.0 size=N/A time=00:00:03.56 bitrate=N/A speed=0.233x video:3780kB audio:115kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown Input file #0 (R0010309_er.MP4): Input stream #0:0 (video): 106 packets read (26144310 bytes); 106 frames decoded; Input stream #0:1 (audio): 163 packets read (56735 bytes); 163 frames decoded (166912 samples); Total: 269 packets (26201045 bytes) demuxed Output file #0 (/mnt/hls/R360Stream1_%v.m3u8): Output stream #0:0 (video): 106 frames encoded; 106 packets muxed (957526 bytes); Output stream #0:1 (video): 106 frames encoded; 106 packets muxed (2912823 bytes); Output stream #0:2 (audio): 163 frames encoded (166912 samples); 164 packets muxed (58851 bytes); Output stream #0:3 (audio): 163 frames encoded (166912 samples); 164 packets muxed (58851 bytes); Total: 540 packets (3988051 bytes) muxed [libx264 @ 0x5555eaa40b00] frame I:5 Avg QP:30.49 size: 95323 [libx264 @ 0x5555eaa40b00] frame P:26 Avg QP:33.23 size: 10648 [libx264 @ 0x5555eaa40b00] frame B:75 Avg QP:35.10 size: 2712 [libx264 @ 0x5555eaa40b00] consecutive B-frames: 5.7% 0.0% 0.0% 94.3% [libx264 @ 0x5555eaa40b00] mb I I16..4: 48.6% 46.1% 5.4% [libx264 @ 0x5555eaa40b00] mb P I16..4: 4.3% 4.2% 0.0% P16..4: 6.2% 1.6% 0.4% 0.0% 0.0% skip:83.3% [libx264 @ 0x5555eaa40b00] mb B I16..4: 0.4% 0.4% 0.0% B16..8: 3.3% 0.3% 0.0% direct: 0.3% skip:95.2% L0:47.7% L1:51.4% BI: 1.0% [libx264 @ 0x5555eaa40b00] final ratefactor: 33.81 [libx264 @ 0x5555eaa40b00] 8x8 transform intra:46.9% inter:32.5% [libx264 @ 0x5555eaa40b00] coded y,uvDC,uvAC intra: 19.9% 17.7% 0.9% inter: 0.1% 0.6% 0.0% [libx264 @ 0x5555eaa40b00] i16 v,h,dc,p: 47% 33% 11% 10% [libx264 @ 0x5555eaa40b00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 10% 38% 35% 3% 2% 2% 4% 2% 5% [libx264 @ 0x5555eaa40b00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 15% 30% 14% 5% 8% 5% 10% 4% 9% [libx264 @ 0x5555eaa40b00] i8c dc,h,v,p: 72% 19% 8% 1% [libx264 @ 0x5555eaa40b00] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 0x5555eaa40b00] kb/s:2164.23 [libx264 @ 0x5555eaa3f0c0] frame I:5 Avg QP:22.66 size:225564 [libx264 @ 0x5555eaa3f0c0] frame P:26 Avg QP:25.02 size: 42023 [libx264 @ 0x5555eaa3f0c0] frame B:75 Avg QP:26.33 size: 9223 [libx264 @ 0x5555eaa3f0c0] consecutive B-frames: 5.7% 0.0% 0.0% 94.3% [libx264 @ 0x5555eaa3f0c0] mb I I16..4: 39.5% 41.2% 19.3% [libx264 @ 0x5555eaa3f0c0] mb P I16..4: 11.1% 10.5% 0.1% P16..4: 17.1% 5.7% 1.9% 0.0% 0.0% skip:53.6% [libx264 @ 0x5555eaa3f0c0] mb B I16..4: 1.4% 1.0% 0.0% B16..8: 8.5% 1.3% 0.0% direct: 2.6% skip:85.2% L0:45.1% L1:49.4% BI: 5.5% [libx264 @ 0x5555eaa3f0c0] final ratefactor: 26.00 [libx264 @ 0x5555eaa3f0c0] 8x8 transform intra:44.7% inter:29.7% [libx264 @ 0x5555eaa3f0c0] coded y,uvDC,uvAC intra: 26.5% 31.9% 3.0% inter: 1.2% 4.3% 0.0% [libx264 @ 0x5555eaa3f0c0] i16 v,h,dc,p: 41% 34% 14% 11% [libx264 @ 0x5555eaa3f0c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 48% 25% 3% 2% 1% 3% 2% 4% [libx264 @ 0x5555eaa3f0c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 16% 30% 10% 6% 7% 5% 11% 4% 10% [libx264 @ 0x5555eaa3f0c0] i8c dc,h,v,p: 52% 32% 12% 3% [libx264 @ 0x5555eaa3f0c0] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 0x5555eaa3f0c0] kb/s:6586.89 [aac @ 0x5555eaa42840] Qavg: 1541.791 [aac @ 0x5555eaa4ecc0] Qavg: 1541.791 [AVIOContext @ 0x5555eaa19c00] Statistics: 26463026 bytes read, 6 seeks From compras22 at tutanota.com Mon Jun 15 19:43:44 2020 From: compras22 at tutanota.com (compras22 at tutanota.com) Date: Mon, 15 Jun 2020 18:43:44 +0200 (CEST) Subject: [FFmpeg-user] ffmpeg enable between Message-ID: I'm trying to draw text in a horizontal line and I want only Text1 for the first 5 seconds, and then Text2 starting from 5 seconds to 20 seconds, and Text3 starting from 10 seconds till the end. When I do this, my first text stays for about 15 seconds and the last two show up in the last 4 seconds of the video. Is there something wrong with my instruction? Am I using the enable between correctly? ffmpeg -i input.mp4 -vf "drawtext=fontfile='C:\arial.ttf':text='Text1':x=5:y=20+24-max_glyph_a:fontsize=24:fontcolor=yellow:box=1:boxcolor=black at 0.5:boxborderw=5:enable='between(t,0,20)', drawtext=fontfile='C:\arial.ttf':text='Text2':x=100:y=20+24-max_glyph_a:fontsize=24:fontcolor=yellow:enable='between(t,5,20)', drawtext=fontfile='C:\arial.ttf':text='Text3':x=200:y=20+24-max_glyph_a:fontsize=24:fontcolor=yellow:enable='between(t,10,20)'" output.mp4 -- Enviado de forma segura com Tutanota. Crie sua conta de e-mail encriptada, livre de anúncios: https://tutanota.com From ffmpeg at roberthallam.com Mon Jun 15 20:17:27 2020 From: ffmpeg at roberthallam.com (Rob Hallam) Date: Mon, 15 Jun 2020 18:17:27 +0100 Subject: [FFmpeg-user] Add delay to stream on twitch/youtube/restream.io, add chat and alerts In-Reply-To: References: Message-ID: On Mon, 15 Jun 2020 at 17:26, Carl Zwanzig wrote: > Add delay- how long? (delay is memory- or disk-intensive*) OBS can insert a > short delay, but longer ones usually mean writing data into a file and > playing it back later (which could be only 5 seconds). There are many > "gotchas" around that with file format and record/play timing. Please start > a separate email thread for that. Is this still true? In OBS, Settings → Advanced there is a "Stream Delay" section (mentioned on https://obsproject.com/wiki/OBS-Studio-Overview). The default setting of 20s estimates mem usage of 11MB; I set the option to 120s which increased the memory usage estimate to 69MB. Even five minutes 'only' uses 174MB. Cheers, Rob From gatodiablo at protonmail.com Mon Jun 15 21:10:56 2020 From: gatodiablo at protonmail.com (gatodiablo at protonmail.com) Date: Mon, 15 Jun 2020 18:10:56 +0000 Subject: [FFmpeg-user] Libavcodec conflicts In-Reply-To: <20200615131516.GA4059@sunshine.barsnick.net> References: <20200615131516.GA4059@sunshine.barsnick.net> Message-ID: Moritz, Yes that is how it "should" work. Either set of packages either normal or extra should work, but that isn't what's happening. I installed the extras packages and apt tells me ffmpeg has "broken dependencies". Sent from ProtonMail mobile -------- Original Message -------- On Jun 15, 2020, 7:15 AM, Moritz Barsnick wrote: > On Mon, Jun 15, 2020 at 13:04:18 +0000, FFmpeg user discussions wrote: > > This is pretty muc a distribution issue, but let's try to help: > >> So I wanted to install all the extra codecs for ffmpeg. I'm using >> mint 19. Right away apt tells me Libavcodec-extra57 conflicts with >> libavcodec57 and libavfilter-extra6 conflicts with libavfilter6. I >> was able to get it to install by using the force-depends flag but now >> apt -f install complains that vlc, ffmpeg and celluloid are broken >> and wants to uninstall them. I checked all of the above programs and >> they work fine but apts complaining is annoying. > >> Why are these packages in conflict? Is it recommended to install both >> side by side? This looks like a common problem from my internet >> searches. What is the recommended solution? > > ffmpeg doesn't have the concept of plugins, so there's only a defined > set of codecs/filters/formats a compiled library can support. > > If this packaging is anything like in Debian/Ubuntu, those packages are > either/or. Either you install the one with e.g. "fewer" codecs, or the > one with "more". > > See also here: > https://askubuntu.com/questions/847213/whats-the-difference-between-libavcodec-ffmpeg-extra56-and-libavcodec-ffmpeg56 > > Cheers, > Moritz > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From cpz at tuunq.com Mon Jun 15 21:18:35 2020 From: cpz at tuunq.com (Carl Zwanzig) Date: Mon, 15 Jun 2020 11:18:35 -0700 Subject: [FFmpeg-user] Add delay to stream on twitch/youtube/restream.io, add chat and alerts In-Reply-To: References: Message-ID: <7f489d52-5e8a-5ea7-e049-832633d5a811@tuunq.com> On 6/15/2020 10:17 AM, Rob Hallam wrote: > Is this still true? In OBS, Settings → Advanced there is a "Stream Delay" > section (mentioned onhttps://obsproject.com/wiki/OBS-Studio-Overview). > > The default setting of 20s estimates mem usage of 11MB; I set the option > to 120s which increased the memory usage estimate to 69MB. Even five > minutes 'only' uses 174MB. I'd assume that obs is delaying encoded stream packets, not something that an ffmpeg filter can do (they work on uncompressed frames between decode and encode). Best thing is for the OP to try it and see if that's what they need. z! From barsnick at gmx.net Mon Jun 15 22:02:43 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Mon, 15 Jun 2020 21:02:43 +0200 Subject: [FFmpeg-user] Libavcodec conflicts In-Reply-To: References: <20200615131516.GA4059@sunshine.barsnick.net> Message-ID: <20200615190243.GA2224@sunshine.barsnick.net> On Mon, Jun 15, 2020 at 18:10:56 +0000, gatodiablo--- via ffmpeg-user wrote: > Moritz, Yes that is how it "should" work. Either set of packages > either normal or extra should work, but that isn't what's happening. > I installed the extras packages and apt tells me ffmpeg has "broken > dependencies". Well, originally, you wrote: > >> mint 19. Right away apt tells me Libavcodec-extra57 conflicts with > >> libavcodec57 and libavfilter-extra6 conflicts with libavfilter6. That means apt would have both after your install command, and cannot do that. You may need to de-install libavcodec57 and install libavcodec-extra57 in one step, or de-install the former first (also breaking packages which depend on it), then install the latter. I can't help you with that, I'm not very apt with apt (pun intended). Please consult your friendly apt guide, or wait for other answers here. ;-) Regards, Moritz From abialyna at gmail.com Mon Jun 15 23:05:12 2020 From: abialyna at gmail.com (Andrius Narbutas) Date: Mon, 15 Jun 2020 23:05:12 +0300 Subject: [FFmpeg-user] Receive network stream and drop without decoding Message-ID: Hello, trying to do something like "DASH load generator" for testing. Trying to simulate DASH client on unencrypted stream (using public stream in examples, should be accessible from anywhere): ffplay -nodisp -vst 3 -an -i 'http://download.tsi.telecom-paristech.fr/gpac/dataset/dash/uhd/dashevc-ondemand-4s/dashevc-ondemand-4s-p60.mpd' - this works and displays no video, but eats 40-50% of CPU core. Recompiled latest git pull with debug symbols, ran perf, top 4 CPU users: 9.01% ff_h264_decode_mb_cabac 6.66% decode_cabac_residual_nondc_internal.isra.4 6.16% loop_filter 5.19% get_cabac So, it is clearly doing decoding even with -nodisp and -vn options (-vn makes no difference). On IRC i got suggestion to use ffmpeg instead of ffplay: ffmpeg/bin/ffmpeg -hide_banner -vn -an -i http://download.tsi.telecom-paristech.fr/gpac/dataset/dash/uhd/dashevc-ondemand-4s/dashevc-ondemand-4s-p60.mpd -f null - ..then it fails with: Output #0, null, to 'pipe:': Output file #0 does not contain any stream If i skip -vn and -an - it works without problems (i see traffic flowing) but eats even more CPU (~70%) So far this is not suitable as "fake client" as server can handle thousands clients, but "client server" can barely handle 100 connections. Is there any way to tell ffmpeg to receive stream (network traffic) and discard it immediately, without decoding? From ceffmpeg at gmail.com Tue Jun 16 00:00:10 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Mon, 15 Jun 2020 23:00:10 +0200 Subject: [FFmpeg-user] Libavcodec conflicts In-Reply-To: References: <20200615131516.GA4059@sunshine.barsnick.net> Message-ID: Am Mo., 15. Juni 2020 um 20:11 Uhr schrieb gatodiablo--- via ffmpeg-user : > > Moritz, Yes that is how it "should" work. You missed not only to find out what top-posting means and to avoid it here but also that whatever your issue is it cannot be solved within FFmpeg but only by your distribution. (We do not offer libavfoo and libavfoo-extra, some distribution has invented this years ago.) Carl Eugen From ceffmpeg at gmail.com Mon Jun 15 23:58:30 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Mon, 15 Jun 2020 22:58:30 +0200 Subject: [FFmpeg-user] Receive network stream and drop without decoding In-Reply-To: References: Message-ID: Am Mo., 15. Juni 2020 um 22:36 Uhr schrieb Andrius Narbutas : > Is there any way to tell ffmpeg to receive stream (network traffic) and > discard it immediately, without decoding? One example is: $ ffmpeg -i input -map 0:a:0 -c copy -f null - Other possibilities like -map 0:0 exist. Carl Eugen From abialyna at gmail.com Tue Jun 16 00:38:56 2020 From: abialyna at gmail.com (Andrius Narbutas) Date: Tue, 16 Jun 2020 00:38:56 +0300 Subject: [FFmpeg-user] Receive network stream and drop without decoding In-Reply-To: References: Message-ID: On 2020-06-15 23:58, Carl Eugen Hoyos wrote: > $ ffmpeg -i input -map 0:a:0 -c copy -f null - ffmpeg -i http://download.tsi.telecom-paristech.fr/gpac/dataset/dash/uhd/dashevc-ondemand-4s/dashevc-ondemand-4s-p60.mpd -map 0:a:0 -c copy -f null - <...> size=N/A time=00:02:31.80 bitrate=N/A speed= 165x video:0kB audio:1195kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown ...and quits So, it just pulls one DASH audio chunk into null sink and exits (no re-request, also note video:0kB) > Other possibilities like -map 0:0 exist. Slightly better as now it takes video, too: ffmpeg -i http://download.tsi.telecom-paristech.fr/gpac/dataset/dash/uhd/dashevc-ondemand-4s/dashevc-ondemand-4s-p60.mpd -map 0:0 -c copy -f null - <...> frame= 4320 fps=197 q=-1.0 Lsize=N/A time=00:02:19.93 bitrate=N/A speed=6.37x video:24094kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown Now it pulls one chunk of video (but not audio stream), pushes to null sink and exits. With -map 0:a:0 -map 0:v:0 ir pulls audio and video, but again only one chunk, does not follow stream. With -v debug it does not tell story why it decided to not take next chunk... CPU load during this one step is low, so probably no decoding done. From ceffmpeg at gmail.com Tue Jun 16 01:22:42 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Tue, 16 Jun 2020 00:22:42 +0200 Subject: [FFmpeg-user] Receive network stream and drop without decoding In-Reply-To: References: Message-ID: Am Mo., 15. Juni 2020 um 23:39 Uhr schrieb Andrius Narbutas : > > On 2020-06-15 23:58, Carl Eugen Hoyos wrote: > > $ ffmpeg -i input -map 0:a:0 -c copy -f null - > > ffmpeg -i > http://download.tsi.telecom-paristech.fr/gpac/dataset/dash/uhd/dashevc-ondemand-4s/dashevc-ondemand-4s-p60.mpd > -map 0:a:0 -c copy -f null - > <...> > size=N/A time=00:02:31.80 bitrate=N/A speed= 165x > video:0kB audio:1195kB subtitle:0kB other streams:0kB global headers:0kB > muxing overhead: unknown > ...and quits Drop the map option. Carl Eugen From koreanfanofficial at gmail.com Tue Jun 16 01:49:38 2020 From: koreanfanofficial at gmail.com (KoreanFanOfficial) Date: Tue, 16 Jun 2020 02:49:38 +0400 Subject: [FFmpeg-user] Add delay to stream on twitch/youtube/restream.io, add chat and alerts In-Reply-To: <7f489d52-5e8a-5ea7-e049-832633d5a811@tuunq.com> References: <7f489d52-5e8a-5ea7-e049-832633d5a811@tuunq.com> Message-ID: After some researching i got working code: ## record screen and use delay filters ffmpeg -y -f x11grab -video_size 1920x1008 -framerate 30 -i :0.0+0,36 -f pulse -ac 2 -i default \ -vf 'tpad=start_duration=10:color=0xFFFFFF,scale=1280x720' -c:v libx264 -g 60 -preset ultrafast \ -b:v 3M -maxrate 3M -pix_fmt yuv420p -af 'adelay=10000|10000' -c:a aac -b:a 128k -ar 44100 \ -f flv 1.flv or ##record screen with overlay and delay filters ffmpeg -y -f x11grab -video_size 1920x1080 -framerate 30 -i :0.0+0,0 \ -f pulse -ac 2 -i default -i logo.png -i screenlogo.png -filter_complex \ "[0:v]tpad=start_duration=10:color=0xFFFFFF,scale=1280:-1,setpts=PTS-STARTPTS[bg]; \ [1:a]adelay=10000|10000[a]; \ [2:v]scale=162:-1,setpts=PTS-STARTPTS[bg2]; \ [3:v]scale=120:-1,setpts=PTS-STARTPTS[bg3]; \ [bg][bg2]overlay=0:H-h[bg4]; \ [bg4][bg3]overlay=W-w:0[v]" \ -map "[v]" -map "[a]" -c:v libx264 -g 60 -preset ultrafast \ -b:v 3M -maxrate 3M -pix_fmt yuv420p -c:a aac -b:a 128k -ar 44100 \ -f flv 1.flv But if i use this code for streaming there were no delay video and audio, video and audio start play immediately without 10 sec delay for audio and video. About "alerts" and "chat". You can use browser source in obs for playing chat from twitch/youtube/restream.io and alerts(donations, etc) . How i can do it with ffmpeg? пн, 15 июн. 2020 г. в 22:18, Carl Zwanzig : > On 6/15/2020 10:17 AM, Rob Hallam wrote: > > Is this still true? In OBS, Settings → Advanced there is a "Stream Delay" > > section (mentioned onhttps://obsproject.com/wiki/OBS-Studio-Overview). > > > > The default setting of 20s estimates mem usage of 11MB; I set the option > > to 120s which increased the memory usage estimate to 69MB. Even five > > minutes 'only' uses 174MB. > > I'd assume that obs is delaying encoded stream packets, not something that > an ffmpeg filter can do (they work on uncompressed frames between decode > and > encode). > > Best thing is for the OP to try it and see if that's what they need. > > z! > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From mrk.ramakrishna at gmail.com Tue Jun 16 07:56:14 2020 From: mrk.ramakrishna at gmail.com (Rama Krishna Thelagathoti) Date: Mon, 15 Jun 2020 23:56:14 -0500 Subject: [FFmpeg-user] ffmpeg drops 360 video metadata In-Reply-To: References: <86366w8gvi.fsf@x201.butler.org> Message-ID: More over I do not want to use googles solution because I want to stream on the fly live and google solution seems to be manual solution On Mon, Jun 15, 2020 at 11:41 AM Rama Krishna Thelagathoti < mrk.ramakrishna at gmail.com> wrote: > Thank you for your quick response. Let me clarify what I am looking for. > I want to stream 360 degree video over rtmp port and nginx server is in > the backend. I want to demonstrate dynamic bitrate adaptation(such as > HLS/DASH) . non-360 degree video streaming is working as expected, However > I have difficulty with 360 video. I tried following ways > > 1. ffmpeg -loglevel verbose -i R0010309_er.MP4 -vcodec libx264 -strict > unofficial -vprofile high -acodec aac -f flv > rtmp://localhost/live/360streamR > able to play stream at the sink but not playing in 360 degree mode because > 360 degree video metadata is lost while format conversion > (attached log 1) > > 2. ffmpeg -loglevel verbose -i R0010309_er.MP4 -preset veryfast -g 25 > -sc_threshold 0 -map v:0 -c:v:0 libx264 -strict unofficial -b:v:0 2000k > -map v:0 -c:v:1 libx264 -strict unofficial -b:v:1 6000k -map a:0 -map a:0 > -c:a aac -b:a 128k -ac 2 -f hls -hls_time 4 -hls_playlist_type event > -master_pl_name R3601.m3u8 -var_stream_map "v:0,a:0 v:1,a:1" > /mnt/hls/R360Stream1_%v.m3u8 > still same behaviour (log attached 2) > > Could you suggest a way where I can stream 360 degree video without > losing spatial metadata and able to demonstrate bit rate adaption. Thanks > in advance > > On Mon, Jun 15, 2020 at 10:54 AM Leo Butler via ffmpeg-user < > ffmpeg-user at ffmpeg.org> wrote: > >> Rama Krishna Thelagathoti writes: >> >> > Hello ffmpeg team, kindly help me with following issue >> > 360sample.mp4 is 360 video and with following command out.mp4 is also >> 360 >> > video. >> > >> > sudo ffmpeg -i 360sample.mp4 -vcodec libx264 -strict unofficial >> > -vprofile high -acodec aac out.mp4 >> >> An aside: You shouldn't need to run these commands as root (i.e. no need >> for sudo before ffmpeg). >> >> Leo >> _______________________________________________ >> ffmpeg-user mailing list >> ffmpeg-user at ffmpeg.org >> https://ffmpeg.org/mailman/listinfo/ffmpeg-user >> >> To unsubscribe, visit link above, or email >> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". > > > > -- > Best Regards > *Rama krishna Thelagathoti* > -- Best Regards *Rama krishna Thelagathoti* From ybarbeaux at gmail.com Tue Jun 16 10:45:22 2020 From: ybarbeaux at gmail.com (Yannick Barbeaux) Date: Tue, 16 Jun 2020 09:45:22 +0200 Subject: [FFmpeg-user] timeout error when reading RTSP/RTP incoming audio stream In-Reply-To: References: Message-ID: On Mon, 15 Jun 2020 at 09:37, Yannick Barbeaux wrote: > > Hello > I am struggling to read a multicast audio RTP stream controlled by RTSP. As > soon as I launch the ffplay or ffmpeg command, the RTP traffic starts > (tcpdump) on port 5004/UDP (as advertised in the SDP file), so it should > read the stream correctly but I finally get a time-out instead (and empty > out file). The very same RTSP URL can be read without any issue with VLC or > with rtpdump+sox. > > $ ffmpeg -y -rtsp_transport udp_multicast -i "rtsp:// > 192.168.2.148:554/by-name/AES67-stream (on hasseb-AoE-F8-82)" -vn -f s24le > -ar 48000 -c:a pcm_s24be out.raw > ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers > built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1) > configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --disable-debug > --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb > --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb > --enable-libpulse --enable-libfreetype --enable-gnutl > s --enable-libdav1d --enable-libx264 --enable-libx265 --enable-libfdk-aac > --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx > --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr > --enable-libxvid --enable-libvidstab --enable-libtheora --en > able-libwavpack --enable-libopenjpeg --enable-libgsm --enable-nvenc > --enable-libzimg --enable-libaom > libavutil 56. 31.100 / 56. 31.100 > libavcodec 58. 54.100 / 58. 54.100 > libavformat 58. 29.100 / 58. 29.100 > libavdevice 58. 8.100 / 58. 8.100 > libavfilter 7. 57.100 / 7. 57.100 > libswscale 5. 5.100 / 5. 5.100 > libswresample 3. 5.100 / 3. 5.100 > libpostproc 55. 5.100 / 55. 5.100 > Guessed Channel Layout for Input Stream #0.0 : stereo > Input #0, rtsp, from 'rtsp://192.168.2.148:554/by-name/AES67-stream (on > hasseb-AoE-F8-82)': > Metadata: > title : AES67-stream (on hasseb-AoE-F8-82) streamed by > "hasseb" > Duration: N/A, bitrate: 2304 kb/s > Stream #0:0: Audio: pcm_s24be, 48000 Hz, stereo, s32 (24 bit), 2304 kb/s > Stream mapping: > Stream #0:0 -> #0:0 (pcm_s24be (native) -> pcm_s24be (native)) > Press [q] to stop, [?] for help > rtsp://192.168.2.148:554/by-name/AES67-stream (on hasseb-AoE-F8-82): > Connection timed out > Output #0, s24le, to 'out.raw': > Metadata: > title : AES67-stream (on hasseb-AoE-F8-82) streamed by > "hasseb" > encoder : Lavf58.29.100 > Stream #0:0: Audio: pcm_s24be, 48000 Hz, stereo, s32 (24 bit), 2304 kb/s > Metadata: > encoder : Lavc58.54.100 pcm_s24be > size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x > video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB > muxing overhead: unknown > Output file is empty, nothing was encoded (check -ss / -t / -frames > parameters if used) > > The SDP file is : > > v=0 > o=- 254522267104 0 IN IP4 192.168.2.148 > s=AES67-stream (on hasseb-AoE-F8-82) streamed by "hasseb" > t=0 0 > a=clock-domain:PTPv2 0 > a=recvonly > m=audio 5004 RTP/AVP 98 > c=IN IP4 239.123.123.123/255 > a=rtpmap:98 L24/48000/2 > a=sync-time:0 > a=framecount:48 > a=source-filter: incl IN IP4 239.123.123.123 192.168.2.148 > a=ts-refclk:ptp=IEEE1588-2008:00-10-4b-ff-fe-2e-f8-82:domain-nmbr=0 > a=mediaclk:direct=0 > a=ptime:1 > > Comparing those files, we see that ffmpeg detects the correct > audio settings (pcm_s24be, 48000 Hz, stereo, s32 (24 bit)) so I cannot > figure out why it can't read the data stream? I have tried to increase the > timeout but that did not help. > > Any help would be appreciated. Thank you. > > Yannick > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". My apologies to everyone for multi-posting this question. My question did not appear in the list after two days so I tried multiple times, thinking it had been considered as spam or something. Then I noticed the question appeared three times in the ffmpeg-user archives, sorry. (Strange thing though : "Receive your own posts to the list?" is set to "Yes" in my subscription settings and I do not receive them). Cheers From kieran.o.leary at gmail.com Tue Jun 16 11:01:26 2020 From: kieran.o.leary at gmail.com (Kieran O Leary) Date: Tue, 16 Jun 2020 09:01:26 +0100 Subject: [FFmpeg-user] Converting DTS (timestamps) in mpegts to HH:MM:SS:FF Message-ID: Hi, I'm working with HDV tape transfers in the moment and dealing with m2t transport streams. I've found that using ffmpeg -report -loglevel debug -i input -f null - has been great at catching corrupt frames that I can investigate in playback software. I just realised that this can be done even quicker and it looks like the same corruption is detected when using -c copy. However, the report I get in the terminal just uses dts values - is there a way to convert these dts values to a frame number or preferably a HH:MM:SS:FF value? is it related to the tbn/tbc value? Either in ffmpeg or even some scriptable way. For example, one of the errors displays like this: [mpegts @ 00000165bdcd34c0] Packet corrupt (stream = 1, dts = 332636400) and I can tell from using -f null - that this corresponds to approx 01:01:33.55 , but I can't find a way to get the dts value to relate to that timestamp. ffmpeg -i 2.m2t -c copy -f null - ffmpeg version N-96643-g2942b00285-g2383021a7a+1 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9.2.0 (Rev2, Built by MSYS2 project) configuration: --disable-autodetect --enable-amf --enable-bzlib --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-iconv --enable-lzma --enable-nvenc --enable-zlib --enable-sdl2 --enable-ffnvcodec --enable-nvdec --enable-cuda-llvm --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libx264 --enable-libdav1d --disable-debug --enable-fontconfig --enable-libass --enable-libbluray --enable-libfreetype --enable-libmfx --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libwavpack --enable-libwebp --enable-libxml2 --enable-libzimg --enable-libshine --enable-gpl --enable-avisynth --enable-libxvid --enable-libaom --enable-libopenmpt --enable-version3 --enable-openssl --extra-cflags=-DLIBTWOLAME_STATIC --extra-libs=-lstdc++ --extra-cflags=-DLIBXML_STATIC --extra-libs=-liconv --enable-nonfree libavutil 56. 39.100 / 56. 39.100 libavcodec 58. 67.101 / 58. 67.101 libavformat 58. 37.100 / 58. 37.100 libavdevice 58. 9.103 / 58. 9.103 libavfilter 7. 74.100 / 7. 74.100 libswscale 5. 6.100 / 5. 6.100 libswresample 3. 6.100 / 3. 6.100 libpostproc 55. 6.100 / 55. 6.100 [mpegts @ 00000180e65c24c0] PES packet size mismatch [mpegts @ 00000180e65c24c0] Packet corrupt (stream = 1, dts = 437428800). [mpegts @ 00000180e65c24c0] Could not find codec parameters for stream 2 (Unknown: none ([160][0][0][0] / 0x00A0)): unknown codec Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 00000180e65c24c0] Could not find codec parameters for stream 3 (Unknown: none ([161][0][0][0] / 0x00A1)): unknown codec Consider increasing the value for the 'analyzeduration' and 'probesize' options Input #0, mpegts, from '82.m2t': Duration: 01:20:57.08, start: 3.440000, bitrate: 26122 kb/s Program 100 Stream #0:0[0x810]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3 DAR 16:9], 25000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1[0x814]: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 384 kb/s Stream #0:2[0x815]: Unknown: none ([160][0][0][0] / 0x00A0) Stream #0:3[0x811]: Unknown: none ([161][0][0][0] / 0x00A1) Output #0, null, to 'pipe:': Metadata: encoder : Lavf58.37.100 Stream #0:0: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3 DAR 16:9], q=2-31, 25000 kb/s, 25 fps, 25 tbr, 90k tbn, 90k tbc Stream #0:1: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 384 kb/s Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) Press [q] to stop, [?] for help [mpegts @ 00000180e65c24c0] Packet corrupt (stream = 0, dts = 5317200). [mpegts @ 00000180e65c24c0] Packet corrupt (stream = 0, dts = 10821600). [mpegts @ 00000180e65c24c0] Packet corrupt (stream = 0, dts = 116416800).322x [mpegts @ 00000180e65c24c0] PES packet size mismatch [mpegts @ 00000180e65c24c0] Packet corrupt (stream = 1, dts = 116398800). [mpegts @ 00000180e65c24c0] Packet corrupt (stream = 0, dts = 332654400).341x [mpegts @ 00000180e65c24c0] PES packet size mismatch [mpegts @ 00000180e65c24c0] Packet corrupt (stream = 1, dts = 332636400). [mpegts @ 00000180e65c24c0] PES packet size mismatch04 bitrate=N/A speed= 345x [mpegts @ 00000180e65c24c0] Packet corrupt (stream = 1, dts = 437428800). frame=121338 fps=8612 q=-1.0 Lsize=N/A time=01:20:57.04 bitrate=N/A speed= 345x video:14811578kB audio:227500kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown Best, Kieran O'Leary Irish Film Institute From kieran.o.leary at gmail.com Tue Jun 16 11:40:05 2020 From: kieran.o.leary at gmail.com (Kieran O Leary) Date: Tue, 16 Jun 2020 09:40:05 +0100 Subject: [FFmpeg-user] Converting DTS (timestamps) in mpegts to HH:MM:SS:FF In-Reply-To: References: Message-ID: OK, so I figured out that the dts needs to be divided by pkt_duration_time, which in this instance was 3600. Not sure how to get that aside from using ffprobe as I don't see it listed in the ffmpeg output. And I also realised via this https://github.com/bavc/qctools/issues/291 that just pulling frame level data via ffprobe is a better way to get this data: ffprobe 2.m2t -show_log 16 -show_frames -of xml > bla.xml gives me lovely stuff like this: Best, Kieran From kieran.o.leary at gmail.com Tue Jun 16 11:45:02 2020 From: kieran.o.leary at gmail.com (Kieran O Leary) Date: Tue, 16 Jun 2020 09:45:02 +0100 Subject: [FFmpeg-user] Converting DTS (timestamps) in mpegts to HH:MM:SS:FF In-Reply-To: References: Message-ID: On Tue, Jun 16, 2020 at 9:40 AM Kieran O Leary wrote: > OK, so I figured out that the dts needs to be divided by > pkt_duration_time, which in this instance was 3600. Not sure how to get > that aside from using ffprobe as I don't see it listed in the ffmpeg output. > Sorry, the dts value needs to be divided by pkt_duration, which gives the frame number. Also ffmpeg is amazing. Best, Kieran. > From ffmpeg at gyani.pro Tue Jun 16 11:51:10 2020 From: ffmpeg at gyani.pro (Gyan Doshi) Date: Tue, 16 Jun 2020 14:21:10 +0530 Subject: [FFmpeg-user] Converting DTS (timestamps) in mpegts to HH:MM:SS:FF In-Reply-To: References: Message-ID: <8f348981-4cdd-35d0-65da-b0a70f4b5401@gyani.pro> On 16-06-2020 02:15 pm, Kieran O Leary wrote: > On Tue, Jun 16, 2020 at 9:40 AM Kieran O Leary > wrote: > >> OK, so I figured out that the dts needs to be divided by >> pkt_duration_time, which in this instance was 3600. Not sure how to get >> that aside from using ffprobe as I don't see it listed in the ffmpeg output. >> > Sorry, the dts value needs to be divided by pkt_duration, which gives the > frame number. Also ffmpeg is amazing. Actually, the dts is denominated in terms of the stream time_base. For MPEG-TS, that's 90000 for all streams. This applies to the dts shown in the corrupt packet msg. After decoding, lavc will change audio stream time base to stream sampling rate. Gyan From barsnick at gmx.net Tue Jun 16 11:54:47 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Tue, 16 Jun 2020 10:54:47 +0200 Subject: [FFmpeg-user] Converting DTS (timestamps) in mpegts to HH:MM:SS:FF In-Reply-To: References: Message-ID: <20200616085447.GB2224@sunshine.barsnick.net> On Tue, Jun 16, 2020 at 09:45:02 +0100, Kieran O Leary wrote: > On Tue, Jun 16, 2020 at 9:40 AM Kieran O Leary > > OK, so I figured out that the dts needs to be divided by > > pkt_duration_time, which in this instance was 3600. Not sure how to get > > that aside from using ffprobe as I don't see it listed in the ffmpeg output. > > Sorry, the dts value needs to be divided by pkt_duration, which gives the > frame number. Also ffmpeg is amazing. Note that ffprobe also has those *_time fields, where the calculation is already done for you. E.g. best_effort_timestamp_time, pkt_pts_time, pkt_dts_time, pkt_duration_time. (Does ffprobe report which frames are corrupt? I didn't check.) Cheers, Moritz From kieran.o.leary at gmail.com Tue Jun 16 12:03:45 2020 From: kieran.o.leary at gmail.com (Kieran O Leary) Date: Tue, 16 Jun 2020 10:03:45 +0100 Subject: [FFmpeg-user] Converting DTS (timestamps) in mpegts to HH:MM:SS:FF In-Reply-To: <20200616085447.GB2224@sunshine.barsnick.net> References: <20200616085447.GB2224@sunshine.barsnick.net> Message-ID: Hi Moritz, On Tue, Jun 16, 2020 at 9:55 AM Moritz Barsnick wrote: > On Tue, Jun 16, 2020 at 09:45:02 +0100, Kieran O Leary wrote: > > On Tue, Jun 16, 2020 at 9:40 AM Kieran O Leary > > > > OK, so I figured out that the dts needs to be divided by > > > pkt_duration_time, which in this instance was 3600. Not sure how to get > > > that aside from using ffprobe as I don't see it listed in the ffmpeg > output. > > > > Sorry, the dts value needs to be divided by pkt_duration, which gives the > > frame number. Also ffmpeg is amazing. > > Note that ffprobe also has those *_time fields, where the calculation > is already done for you. E.g. best_effort_timestamp_time, pkt_pts_time, > pkt_dts_time, pkt_duration_time. > > (Does ffprobe report which frames are corrupt? I didn't check.) > it does indeed - not the exact same message I received earlier, but it's enough for me to write a script to catch these: Here's a snip from the ffprobe output I posted that shows the corruption Best, Kieran From kieran.o.leary at gmail.com Tue Jun 16 12:05:27 2020 From: kieran.o.leary at gmail.com (Kieran O Leary) Date: Tue, 16 Jun 2020 10:05:27 +0100 Subject: [FFmpeg-user] Converting DTS (timestamps) in mpegts to HH:MM:SS:FF In-Reply-To: <8f348981-4cdd-35d0-65da-b0a70f4b5401@gyani.pro> References: <8f348981-4cdd-35d0-65da-b0a70f4b5401@gyani.pro> Message-ID: Hi On Tue, Jun 16, 2020 at 9:51 AM Gyan Doshi wrote: > > > On 16-06-2020 02:15 pm, Kieran O Leary wrote: > > On Tue, Jun 16, 2020 at 9:40 AM Kieran O Leary > > > wrote: > > > >> OK, so I figured out that the dts needs to be divided by > >> pkt_duration_time, which in this instance was 3600. Not sure how to get > >> that aside from using ffprobe as I don't see it listed in the ffmpeg > output. > >> > > Sorry, the dts value needs to be divided by pkt_duration, which gives the > > frame number. Also ffmpeg is amazing. > > Actually, the dts is denominated in terms of the stream time_base. For > MPEG-TS, that's 90000 for all streams. > This applies to the dts shown in the corrupt packet msg. After decoding, > lavc will change audio stream time base to stream sampling rate. > Argh, you're absolutely right,that produces the seconds value. Thanks Gyan! K From abialyna at gmail.com Tue Jun 16 12:36:21 2020 From: abialyna at gmail.com (Andrius Narbutas) Date: Tue, 16 Jun 2020 12:36:21 +0300 Subject: [FFmpeg-user] Receive network stream and drop without decoding In-Reply-To: References: Message-ID: <99ad5d25-5d30-e74d-1f7c-a7ec974079b1@gmail.com> On 2020-06-16 01:22, Carl Eugen Hoyos wrote: > Drop the map option. Well, not working as expected :( While this is kinda-working on this DASH example (it receives stream at max speed with low CPU load) - it does not work as "client" at the same time and fails badly on live streams as it tries to get stream as fast as possible. In other words - ffplay "plays" stream at 100% of speed, requests new packet, gets it, "plays" again and so on. Server live stream time is going together with client, no desync, all DASH segments are provided without problems. ffmpeg tries to do something with stream fast as possible, so only network is limiting factor on recorded streams (i tested few, sometimes it goes up to 30x realtime). On live streams it fails quickly as server do not have stream in future (as ffmpeg requests new chunk in 1 second, instead of 2 seconds, for example). This is also a problem on recorded stream, as every client tries to take full record at maximum speed - far from real client which requests each chunk at realtime. Example live stream (takes a while, depending on network speed, with ~1.5x speedup it takes ~40 seconds) which will fail because ffmpeg will requests chunks from future: ffmpeg -i "http://download.tsi.telecom-paristech.fr/gpac/dataset/dash/uhd/dashevc-live-bs-2s/dashevc-live-bs-2s-p60.mpd" -c copy -f null - <...> [http @ 0000020b46696500] HTTP error 404 Not Found [dash @ 0000020b45a49300] Failed to open fragment of playlist 0 I can't find any option to limit ffmpeg speed (if it can work at exactly 1x speed this may solve this problem), so maybe modifying ffplay is easier? There is decoder_decode_frame function in ffplay, what if i do immediate 'return 0' from it? From kieran.o.leary at gmail.com Tue Jun 16 12:56:21 2020 From: kieran.o.leary at gmail.com (Kieran O Leary) Date: Tue, 16 Jun 2020 10:56:21 +0100 Subject: [FFmpeg-user] a q about units In-Reply-To: <68016249-0cda-9fc7-6d4e-84f06ef3e30c@theppsgroup.com> References: <68016249-0cda-9fc7-6d4e-84f06ef3e30c@theppsgroup.com> Message-ID: Hi, On Thu, Jun 11, 2020 at 6:38 PM Jim Shupert wrote: > Friends > This is a rather general Q > > when I see dialogue such as > [matroska,webm @ 0x7f362c000b80] Read error at pos. 59270674468 > (0xdccceb824) > > as in > > Input #0, matroska,webm, from 'pipe:': > Metadata: > ENCODER : Lavf58.29.100 > Duration: N/A, start: 0.000000, bitrate: 12288 kb/s > Stream #0:0: Audio: pcm_s32le, 48000 Hz, 8 channels, s32, 12288 kb/s > (default) > Stream #0:1: Video: v210 (V210 / 0x30313256), yuv422p10le(bottom first), > 720x486, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc (default) > [matroska,webm @ 0x7f362c000b80] Read error at pos. 59270674468 > (0xdccceb824) > [matroska,webm @ 0x7f362c000b80] Seek to desired resync point failed. > Seeking to earliest point available instead. > [matroska,webm @ 0x7f362c000b80] Read error at pos. 59270674468 > (0xdccceb824) > > av_interleaved_write_frame(): Broken pipe > Error writing trailer of pipe:: Broken pipe > frame=60212 fps= 30 q=-0.0 Lq=-1.0 size=25924529kB time=00:33:29.04 > bitrate=105709.0kbits/s speed= 1x > video:80224393kB audio:3578653kB subtitle:0kB other streams:0kB global > headers:0kB muxing > > MY Q > what is position 59270674468 (0xdccceb824) ? > what are the units of 59270674468? > No idea, I'd like to know as well though. Here's the code that generates these messages: https://github.com/FFmpeg/FFmpeg/blob/ff3fad6b0edb13dd664403b01bc00309f035b110/libavformat/matroskadec.c#L890 Best, Kieran O'Leary Irish Film Institute From ffmpeg at gyani.pro Tue Jun 16 13:14:21 2020 From: ffmpeg at gyani.pro (Gyan Doshi) Date: Tue, 16 Jun 2020 15:44:21 +0530 Subject: [FFmpeg-user] a q about units In-Reply-To: References: <68016249-0cda-9fc7-6d4e-84f06ef3e30c@theppsgroup.com> Message-ID: On 16-06-2020 03:26 pm, Kieran O Leary wrote: > Hi, > > On Thu, Jun 11, 2020 at 6:38 PM Jim Shupert > wrote: > >> Friends >> This is a rather general Q >> >> when I see dialogue such as >> [matroska,webm @ 0x7f362c000b80] Read error at pos. 59270674468 >> (0xdccceb824) >> >> as in >> >> Input #0, matroska,webm, from 'pipe:': >> Metadata: >> ENCODER : Lavf58.29.100 >> Duration: N/A, start: 0.000000, bitrate: 12288 kb/s >> Stream #0:0: Audio: pcm_s32le, 48000 Hz, 8 channels, s32, 12288 kb/s >> (default) >> Stream #0:1: Video: v210 (V210 / 0x30313256), yuv422p10le(bottom first), >> 720x486, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc (default) >> [matroska,webm @ 0x7f362c000b80] Read error at pos. 59270674468 >> (0xdccceb824) >> [matroska,webm @ 0x7f362c000b80] Seek to desired resync point failed. >> Seeking to earliest point available instead. >> [matroska,webm @ 0x7f362c000b80] Read error at pos. 59270674468 >> (0xdccceb824) >> >> av_interleaved_write_frame(): Broken pipe >> Error writing trailer of pipe:: Broken pipe >> frame=60212 fps= 30 q=-0.0 Lq=-1.0 size=25924529kB time=00:33:29.04 >> bitrate=105709.0kbits/s speed= 1x >> video:80224393kB audio:3578653kB subtitle:0kB other streams:0kB global >> headers:0kB muxing >> >> MY Q >> what is position 59270674468 (0xdccceb824) ? >> what are the units of 59270674468? >> > No idea, I'd like to know as well though. Here's the code that generates > these messages: > https://github.com/FFmpeg/FFmpeg/blob/ff3fad6b0edb13dd664403b01bc00309f035b110/libavformat/matroskadec.c#L890 It's byte offset from start of data stream. Gyan From abialyna at gmail.com Tue Jun 16 13:54:29 2020 From: abialyna at gmail.com (Andrius Narbutas) Date: Tue, 16 Jun 2020 13:54:29 +0300 Subject: [FFmpeg-user] Receive network stream and drop without decoding In-Reply-To: References: Message-ID: <49a410d4-beec-a708-58d4-843b4d456e47@gmail.com> Looks like there is a way to sync ffmpeg with stream speed, so it does not try to go as fast as possible - it's "-re". So far so good, 1080p DASH live stream works with below 1%/core: ffmpeg -re -i "input_stream" -c copy -map 0:v:6 -f null - I see network traffic (10Mbps) and, based on consumption - can fit probably thousand or more copies to make proper load generator for server. perf report shows that most load comes from libc functions, so probably nothing to optimize on ffmpeg side already (network traffic). So far - so good, thanks to all who helped! ;-) From robert at roberthallam.com Tue Jun 16 18:34:16 2020 From: robert at roberthallam.com (Rob Hallam) Date: Tue, 16 Jun 2020 16:34:16 +0100 Subject: [FFmpeg-user] xfade + acrossfade usage - keeping A/V in sync Message-ID: Hi all, tl;dr: with the same duration, should xfade and acrossfade produce synched output? I'd like to join three videos together, which have audio and video streams of virtually the same length. I thought I'd give the xfade [0] filter a try as it looked useful. To fade the audio as well I used acrossfade [1]. However, the output has audio-video desync, which gets worse with each join- it is more noticeable after the second transition. Should I expect synchronised output if I use the same duration for both xfade and acrossfade (with overlap)? I don't often use a complex filtergraph, and though this one isn't terribly complex as filtergraphs go, I would appreciate pointers if there is a better approach. Command and output are appended [2]. As a side note, is there a way to generate audio from ffmpeg for the purposes of testing synchronisation? I searched and had a quick look at 'audio sources', but didn't see anything obvious. It would make creating an MWE easier. Thanks in advance, Rob [0]: https://ffmpeg.org/ffmpeg-filters.html#xfade & https://trac.ffmpeg.org/wiki/Xfade [1]: https://ffmpeg.org/ffmpeg-filters.html#acrossfade [2]: Full command and output: TR1=764.3 # input 0 duration - 1 second TR2=1250.498 # input 0 + input 1 duration - 1 second $ ffmpeg -i 2020-03-18\ 19-22-03.mkv -i 2020-03-18\ 20-02-07.mkv -i 2020-03-18\ 20-11-25.mkv -filter_complex "[0][1]xfade=transition=dissolve:duration=2:offset=$TR1,format=yuv420p[x1] ;[x1][2]xfade=transition=dissolve:duration=2:offset=$TR2,format=yuv420p[x2];[0][1]acrossfade=d=2:o=1:c1=tri:c2=tri[a x1];[ax1][2]acrossfade=d=2:o=1:c1=tri:c2=tri[ax2]" -map "[x2]" -map "[ax2]" -c:v libx264 -crf 18 -c:a aac 2020-03-18 \ 19-22-03-jx.mkv ffmpeg version N-98238-g276dfa9d91 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 10.1.0 (GCC) configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-version3 libavutil 56. 55.100 / 56. 55.100 libavcodec 58. 92.100 / 58. 92.100 libavformat 58. 46.101 / 58. 46.101 libavdevice 58. 11.100 / 58. 11.100 libavfilter 7. 86.100 / 7. 86.100 libswscale 5. 8.100 / 5. 8.100 libswresample 3. 8.100 / 3. 8.100 libpostproc 55. 8.100 / 55. 8.100 Input #0, matroska,webm, from '2020-03-18 19-22-03.mkv': Metadata: ENCODER : Lavf58.29.100 Duration: 00:12:45.88, start: 0.000000, bitrate: 16786 kb/s Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1080, 60 fps, 60 tbr, 1k tbn, 120 tbc (default) Metadata: DURATION : 00:12:45.884000000 Stream #0:1: Audio: aac (LC), 44100 Hz, stereo, fltp (default) Metadata: title : Track1 DURATION : 00:12:45.794000000 Input #1, matroska,webm, from '2020-03-18 20-02-07.mkv': Metadata: ENCODER : Lavf58.29.100 Duration: 00:08:07.12, start: 0.000000, bitrate: 20933 kb/s Stream #1:0: Video: h264 (High), yuv420p(progressive), 1920x1080, 60 fps, 60 tbr, 1k tbn, 120 tbc (default) Metadata: DURATION : 00:08:07.117000000 Stream #1:1: Audio: aac (LC), 44100 Hz, stereo, fltp (default) Metadata: title : Track1 DURATION : 00:08:07.062000000 Input #2, matroska,webm, from '2020-03-18 20-11-25.mkv': Metadata: ENCODER : Lavf58.29.100 Duration: 00:06:49.10, start: 0.000000, bitrate: 20261 kb/s Stream #2:0: Video: h264 (High), yuv420p(progressive), 1920x1080, 60 fps, 60 tbr, 1k tbn, 120 tbc (default) Metadata: DURATION : 00:06:49.100000000 Stream #2:1: Audio: aac (LC), 44100 Hz, stereo, fltp (default) Metadata: title : Track1 DURATION : 00:06:49.066000000 Stream mapping: Stream #0:0 (h264) -> xfade:main Stream #0:1 (aac) -> acrossfade:crossfade0 Stream #1:0 (h264) -> xfade:xfade Stream #1:1 (aac) -> acrossfade:crossfade1 Stream #2:0 (h264) -> xfade:xfade Stream #2:1 (aac) -> acrossfade:crossfade1 format -> Stream #0:0 (libx264) acrossfade -> Stream #0:1 (aac) Press [q] to stop, [?] for help [libx264 @ 0x55813c4e0000] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @ 0x55813c4e0000] profile High, level 4.2, 4:2:0, 8-bit [libx264 @ 0x55813c4e0000] 264 - core 159 r2999 296494a - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=18 lookahead_threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=18.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, matroska, to '2020-03-18 19-22-03-jx.mkv': Metadata: encoder : Lavf58.46.101 Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), yuv420p(progressive), 1920x1080, q=-1--1, 60 fps, 1k tbn, 60 tbc (default) Metadata: encoder : Lavc58.92.100 libx264 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A Stream #0:1: Audio: aac (LC) ([255][0][0][0] / 0x00FF), 44100 Hz, stereo, fltp, 128 kb/s (default) Metadata: encoder : Lavc58.92.100 aac frame=99573 fps= 34 q=-1.0 Lsize= 3922244kB time=00:27:39.55 bitrate=19361.3kbits/s speed=0.575x video:3895726kB audio:25261kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.032044% [libx264 @ 0x55813c4e0000] frame I:758 Avg QP:17.84 size:216791 [libx264 @ 0x55813c4e0000] frame P:44230 Avg QP:20.56 size: 64647 [libx264 @ 0x55813c4e0000] frame B:54585 Avg QP:22.98 size: 17689 [libx264 @ 0x55813c4e0000] consecutive B-frames: 13.2% 39.1% 6.4% 41.3% [libx264 @ 0x55813c4e0000] mb I I16..4: 6.9% 55.0% 38.0% [libx264 @ 0x55813c4e0000] mb P I16..4: 1.4% 12.0% 4.3% P16..4: 39.1% 10.6% 5.6% 0.0% 0.0% skip:27.1% [libx264 @ 0x55813c4e0000] mb B I16..4: 0.3% 2.4% 0.8% B16..8: 25.7% 2.4% 0.6% direct: 4.1% skip:63.8% L0:37.0% L1:47.9% BI:15.1% [libx264 @ 0x55813c4e0000] 8x8 transform intra:67.2% inter:49.9% [libx264 @ 0x55813c4e0000] coded y,uvDC,uvAC intra: 70.4% 40.7% 8.4% inter: 18.0% 7.3% 0.1% [libx264 @ 0x55813c4e0000] i16 v,h,dc,p: 33% 30% 15% 22% [libx264 @ 0x55813c4e0000] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 17% 19% 6% 7% 7% 8% 6% 8% [libx264 @ 0x55813c4e0000] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 18% 13% 8% 8% 8% 8% 7% 8% [libx264 @ 0x55813c4e0000] i8c dc,h,v,p: 60% 19% 17% 3% [libx264 @ 0x55813c4e0000] Weighted P-Frames: Y:3.0% UV:1.0% [libx264 @ 0x55813c4e0000] ref P L0: 73.5% 15.8% 9.4% 1.3% 0.0% [libx264 @ 0x55813c4e0000] ref B L0: 93.3% 6.2% 0.6% [libx264 @ 0x55813c4e0000] ref B L1: 99.3% 0.7% [libx264 @ 0x55813c4e0000] kb/s:19229.80 [aac @ 0x55813c0017c0] Qavg: 2556.838 From jshupert at theppsgroup.com Tue Jun 16 23:35:49 2020 From: jshupert at theppsgroup.com (Jim Shupert) Date: Tue, 16 Jun 2020 16:35:49 -0400 Subject: [FFmpeg-user] a q about units In-Reply-To: References: <68016249-0cda-9fc7-6d4e-84f06ef3e30c@theppsgroup.com> Message-ID: <8459851d-bbe7-08c9-e8f0-817bdce793c3@theppsgroup.com> > It's byte offset from start of data stream. > > Gyan Good info fellas also I find related info from Gyan at https://superuser.com/questions/1512575/why-total-frame-count-is-different-in-ffmpeg-than-ffprobe/1512583#1512583 Thanks again Gyan and https://stackoverflow.com/questions/3032929/problem-ffmpeg-seeking-with-av-seek-frame-using-byte-positions/11496937 https://stackoverflow.com/questions/13855533/how-to-decode-video-data-from-specific-position-in-byte in short , as I *understand* it:  one tends to seek to the nearest full frame at a given byte position cheers jShupert From onemda at gmail.com Wed Jun 17 01:48:14 2020 From: onemda at gmail.com (Paul B Mahol) Date: Wed, 17 Jun 2020 00:48:14 +0200 Subject: [FFmpeg-user] xfade + acrossfade usage - keeping A/V in sync In-Reply-To: References: Message-ID: On 6/16/20, Rob Hallam wrote: > Hi all, > > tl;dr: with the same duration, should xfade and > acrossfade produce synched output? > > I'd like to join three videos together, which have > audio and video streams of virtually the same > length. I thought I'd give the xfade [0] filter a > try as it looked useful. To fade the audio as > well I used acrossfade [1]. > > However, the output has audio-video desync, > which gets worse with each join- it is more > noticeable after the second transition. > > Should I expect synchronised output if I use > the same duration for both xfade and acrossfade > (with overlap)? > > I don't often use a complex filtergraph, and though > this one isn't terribly complex as filtergraphs go, I > would appreciate pointers if there is a better > approach. > > Command and output are appended [2]. > > As a side note, is there a way to generate audio > from ffmpeg for the purposes of testing > synchronisation? I searched and had a quick look > at 'audio sources', but didn't see anything obvious. > It would make creating an MWE easier. > > Thanks in advance, > Rob > > > [0]: https://ffmpeg.org/ffmpeg-filters.html#xfade & > https://trac.ffmpeg.org/wiki/Xfade > > [1]: https://ffmpeg.org/ffmpeg-filters.html#acrossfade > > [2]: Full command and output: > > TR1=764.3 # input 0 duration - 1 second > TR2=1250.498 # input 0 + input 1 duration - 1 second I believe this two should be - 2 seconds instead. Because both transition durations for two xfade and acrossfade filters is 2 seconds. If this still does not work feel free to open bug report on trac. > > $ ffmpeg -i 2020-03-18\ 19-22-03.mkv -i 2020-03-18\ 20-02-07.mkv -i > 2020-03-18\ 20-11-25.mkv -filter_complex > "[0][1]xfade=transition=dissolve:duration=2:offset=$TR1,format=yuv420p[x1] > ;[x1][2]xfade=transition=dissolve:duration=2:offset=$TR2,format=yuv420p[x2];[0][1]acrossfade=d=2:o=1:c1=tri:c2=tri[a > x1];[ax1][2]acrossfade=d=2:o=1:c1=tri:c2=tri[ax2]" -map "[x2]" -map "[ax2]" > -c:v libx264 -crf 18 -c:a aac 2020-03-18 > \ 19-22-03-jx.mkv > ffmpeg version N-98238-g276dfa9d91 Copyright (c) 2000-2020 the FFmpeg > developers > built with gcc 10.1.0 (GCC) > configuration: --prefix=/usr --disable-debug --disable-static > --disable-stripping --enable-avisynth --enable-fontconfig --enable-gmp > --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom > --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm > --enable-libfreetype --enable-libfribidi --enable-libgsm > --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug > --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb > --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr > --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora > --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis > --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 > --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvdec > --enable-nvenc --enable-omx --enable-shared --enable-version3 > libavutil 56. 55.100 / 56. 55.100 > libavcodec 58. 92.100 / 58. 92.100 > libavformat 58. 46.101 / 58. 46.101 > libavdevice 58. 11.100 / 58. 11.100 > libavfilter 7. 86.100 / 7. 86.100 > libswscale 5. 8.100 / 5. 8.100 > libswresample 3. 8.100 / 3. 8.100 > libpostproc 55. 8.100 / 55. 8.100 > Input #0, matroska,webm, from '2020-03-18 19-22-03.mkv': > Metadata: > ENCODER : Lavf58.29.100 > Duration: 00:12:45.88, start: 0.000000, bitrate: 16786 kb/s > Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1080, 60 > fps, 60 tbr, 1k tbn, 120 tbc (default) > Metadata: > DURATION : 00:12:45.884000000 > Stream #0:1: Audio: aac (LC), 44100 Hz, stereo, fltp (default) > Metadata: > title : Track1 > DURATION : 00:12:45.794000000 > Input #1, matroska,webm, from '2020-03-18 20-02-07.mkv': > Metadata: > ENCODER : Lavf58.29.100 > Duration: 00:08:07.12, start: 0.000000, bitrate: 20933 kb/s > Stream #1:0: Video: h264 (High), yuv420p(progressive), 1920x1080, 60 > fps, 60 tbr, 1k tbn, 120 tbc (default) > Metadata: > DURATION : 00:08:07.117000000 > Stream #1:1: Audio: aac (LC), 44100 Hz, stereo, fltp (default) > Metadata: > title : Track1 > DURATION : 00:08:07.062000000 > Input #2, matroska,webm, from '2020-03-18 20-11-25.mkv': > Metadata: > ENCODER : Lavf58.29.100 > Duration: 00:06:49.10, start: 0.000000, bitrate: 20261 kb/s > Stream #2:0: Video: h264 (High), yuv420p(progressive), 1920x1080, 60 > fps, 60 tbr, 1k tbn, 120 tbc (default) > Metadata: > DURATION : 00:06:49.100000000 > Stream #2:1: Audio: aac (LC), 44100 Hz, stereo, fltp (default) > Metadata: > title : Track1 > DURATION : 00:06:49.066000000 > Stream mapping: > Stream #0:0 (h264) -> xfade:main > Stream #0:1 (aac) -> acrossfade:crossfade0 > Stream #1:0 (h264) -> xfade:xfade > Stream #1:1 (aac) -> acrossfade:crossfade1 > Stream #2:0 (h264) -> xfade:xfade > Stream #2:1 (aac) -> acrossfade:crossfade1 > format -> Stream #0:0 (libx264) > acrossfade -> Stream #0:1 (aac) > Press [q] to stop, [?] for help > [libx264 @ 0x55813c4e0000] using cpu capabilities: MMX2 SSE2Fast SSSE3 > SSE4.2 AVX FMA3 BMI2 AVX2 > [libx264 @ 0x55813c4e0000] profile High, level 4.2, 4:2:0, 8-bit > [libx264 @ 0x55813c4e0000] 264 - core 159 r2999 296494a - H.264/MPEG-4 AVC > codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options: > cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 > psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 > cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=18 > lookahead_threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 > bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 > b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 > scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=18.0 > qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 > Output #0, matroska, to '2020-03-18 19-22-03-jx.mkv': > Metadata: > encoder : Lavf58.46.101 > Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), > yuv420p(progressive), 1920x1080, q=-1--1, 60 fps, 1k tbn, 60 tbc (default) > Metadata: > encoder : Lavc58.92.100 libx264 > Side data: > cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A > Stream #0:1: Audio: aac (LC) ([255][0][0][0] / 0x00FF), 44100 Hz, > stereo, fltp, 128 kb/s (default) > Metadata: > encoder : Lavc58.92.100 aac > frame=99573 fps= 34 q=-1.0 Lsize= 3922244kB time=00:27:39.55 > bitrate=19361.3kbits/s speed=0.575x > video:3895726kB audio:25261kB subtitle:0kB other streams:0kB global > headers:0kB muxing overhead: 0.032044% > [libx264 @ 0x55813c4e0000] frame I:758 Avg QP:17.84 size:216791 > [libx264 @ 0x55813c4e0000] frame P:44230 Avg QP:20.56 size: 64647 > [libx264 @ 0x55813c4e0000] frame B:54585 Avg QP:22.98 size: 17689 > [libx264 @ 0x55813c4e0000] consecutive B-frames: 13.2% 39.1% 6.4% 41.3% > [libx264 @ 0x55813c4e0000] mb I I16..4: 6.9% 55.0% 38.0% > [libx264 @ 0x55813c4e0000] mb P I16..4: 1.4% 12.0% 4.3% P16..4: 39.1% > 10.6% 5.6% 0.0% 0.0% skip:27.1% > [libx264 @ 0x55813c4e0000] mb B I16..4: 0.3% 2.4% 0.8% B16..8: 25.7% > 2.4% 0.6% direct: 4.1% skip:63.8% L0:37.0% L1:47.9% BI:15.1% > [libx264 @ 0x55813c4e0000] 8x8 transform intra:67.2% inter:49.9% > [libx264 @ 0x55813c4e0000] coded y,uvDC,uvAC intra: 70.4% 40.7% 8.4% inter: > 18.0% 7.3% 0.1% > [libx264 @ 0x55813c4e0000] i16 v,h,dc,p: 33% 30% 15% 22% > [libx264 @ 0x55813c4e0000] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 17% 19% 6% > 7% 7% 8% 6% 8% > [libx264 @ 0x55813c4e0000] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 18% 13% 8% > 8% 8% 8% 7% 8% > [libx264 @ 0x55813c4e0000] i8c dc,h,v,p: 60% 19% 17% 3% > [libx264 @ 0x55813c4e0000] Weighted P-Frames: Y:3.0% UV:1.0% > [libx264 @ 0x55813c4e0000] ref P L0: 73.5% 15.8% 9.4% 1.3% 0.0% > [libx264 @ 0x55813c4e0000] ref B L0: 93.3% 6.2% 0.6% > [libx264 @ 0x55813c4e0000] ref B L1: 99.3% 0.7% > [libx264 @ 0x55813c4e0000] kb/s:19229.80 > [aac @ 0x55813c0017c0] Qavg: 2556.838 > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From wsc4 at optusnet.com.au Wed Jun 17 02:31:47 2020 From: wsc4 at optusnet.com.au (Bill Crockett) Date: Wed, 17 Jun 2020 09:31:47 +1000 Subject: [FFmpeg-user] MPEG2 Profile Options Integer order wrong Message-ID: <4C4AE0361EDD4FACBD02EE77F1C76A01@Tower> https://ffmpeg.org/ffmpeg-all.html#mpeg2 Who maintains the documentation on the above and how can I contact to ask if it is wrong or correct? 16.15 mpeg2 MPEG-2 video encoder. 16.15.1 Options profile integer Select the mpeg2 profile to encode: ‘422’ ‘main’ ‘ss’ Spatially Scalable ‘snr’ SNR Scalable ‘high’ ‘simple’ There are no numbers listed, but my guess is the order as is written and would be "main" = 1 and "high" = 4 This is wrong and "high should be 1 and "main" should be 4. From lance.lmwang at gmail.com Wed Jun 17 03:24:28 2020 From: lance.lmwang at gmail.com (Limin Wang) Date: Wed, 17 Jun 2020 08:24:28 +0800 Subject: [FFmpeg-user] MPEG2 Profile Options Integer order wrong In-Reply-To: <4C4AE0361EDD4FACBD02EE77F1C76A01@Tower> References: <4C4AE0361EDD4FACBD02EE77F1C76A01@Tower> Message-ID: <20200617002428.GA7241@gmail.com> On Wed, Jun 17, 2020 at 09:31:47AM +1000, Bill Crockett wrote: > https://ffmpeg.org/ffmpeg-all.html#mpeg2 > > Who maintains the documentation on the above and how can I contact to ask if it is wrong or correct? > > 16.15 mpeg2 > > MPEG-2 video encoder. > > 16.15.1 Options > > profile integer > > Select the mpeg2 profile to encode: > > ‘422’ > ‘main’ > ‘ss’ > > Spatially Scalable > ‘snr’ > > SNR Scalable > ‘high’ > ‘simple’ > > There are no numbers listed, but my guess is the order as is written and would be "main" = 1 and "high" = 4 Yes, it's const string, you can use -profile:v high or -profile:v main to get expect result. > > This is wrong and "high should be 1 and "main" should be 4. If you guess the number by the order, I'll submit a patch to fix it to avoid such confusion, it's not expected. > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". -- Thanks, Limin Wang From wsc4 at optusnet.com.au Wed Jun 17 05:28:39 2020 From: wsc4 at optusnet.com.au (Bill Crockett) Date: Wed, 17 Jun 2020 12:28:39 +1000 Subject: [FFmpeg-user] MPEG2 Profile Options Integer order wrong References: <4C4AE0361EDD4FACBD02EE77F1C76A01@Tower> <20200617002428.GA7241@gmail.com> Message-ID: <533FCF4431284E239AB843B534F99A72@Tower> ----- Original Message ----- From: "Limin Wang" To: Sent: Wednesday, June 17, 2020 10:24 AM Subject: Re: [FFmpeg-user] MPEG2 Profile Options Integer order wrong > On Wed, Jun 17, 2020 at 09:31:47AM +1000, Bill Crockett wrote: >> https://ffmpeg.org/ffmpeg-all.html#mpeg2 >> >> Who maintains the documentation on the above and how can I contact to ask >> if it is wrong or correct? >> >> 16.15 mpeg2 >> >> MPEG-2 video encoder. >> >> 16.15.1 Options >> >> profile integer >> >> Select the mpeg2 profile to encode: >> >> ‘422’ >> ‘main’ >> ‘ss’ >> >> Spatially Scalable >> ‘snr’ >> >> SNR Scalable >> ‘high’ >> ‘simple’ >> >> There are no numbers listed, but my guess is the order as is written and >> would be "main" = 1 and "high" = 4 > > Yes, it's const string, you can use -profile:v high or -profile:v main to > get > expect result. > >> >> This is wrong and "high should be 1 and "main" should be 4. > > If you guess the number by the order, I'll submit a patch to fix it to > avoid such > confusion, it's not expected. > > Thanks, > Limin Wang Thanks for that. Before you told me this, I did try the words "high" or "main", but I put in quotes either single or double and got errors. https://ffmpeg.org/ffmpeg-all.html#Options Does MPEG2 still have the -level:v options? This is all that is said: level integer (encoding,audio,video) Possible values: ‘unknown’ In the past, I found you could use 2, 4, 5, 6. or 8 From lance.lmwang at gmail.com Wed Jun 17 05:57:14 2020 From: lance.lmwang at gmail.com (Limin Wang) Date: Wed, 17 Jun 2020 10:57:14 +0800 Subject: [FFmpeg-user] MPEG2 Profile Options Integer order wrong In-Reply-To: <533FCF4431284E239AB843B534F99A72@Tower> References: <4C4AE0361EDD4FACBD02EE77F1C76A01@Tower> <20200617002428.GA7241@gmail.com> <533FCF4431284E239AB843B534F99A72@Tower> Message-ID: <20200617025714.GA8739@gmail.com> On Wed, Jun 17, 2020 at 12:28:39PM +1000, Bill Crockett wrote: > ----- Original Message ----- From: "Limin Wang" > > To: > Sent: Wednesday, June 17, 2020 10:24 AM > Subject: Re: [FFmpeg-user] MPEG2 Profile Options Integer order wrong > > > >On Wed, Jun 17, 2020 at 09:31:47AM +1000, Bill Crockett wrote: > >>https://ffmpeg.org/ffmpeg-all.html#mpeg2 > >> > >>Who maintains the documentation on the above and how can I > >>contact to ask if it is wrong or correct? > >> > >>16.15 mpeg2 > >> > >>MPEG-2 video encoder. > >> > >>16.15.1 Options > >> > >>profile integer > >> > >> Select the mpeg2 profile to encode: > >> > >> ‘422’ > >> ‘main’ > >> ‘ss’ > >> > >> Spatially Scalable > >> ‘snr’ > >> > >> SNR Scalable > >> ‘high’ > >> ‘simple’ > >> > >>There are no numbers listed, but my guess is the order as is > >>written and would be "main" = 1 and "high" = 4 > > > >Yes, it's const string, you can use -profile:v high or -profile:v > >main to get > >expect result. > > > >> > >>This is wrong and "high should be 1 and "main" should be 4. > > > >If you guess the number by the order, I'll submit a patch to fix > >it to avoid such > >confusion, it's not expected. > > > >Thanks, > >Limin Wang > > Thanks for that. > > Before you told me this, I did try the words "high" or "main", but I > put in quotes either single or double and got errors. > > https://ffmpeg.org/ffmpeg-all.html#Options > > Does MPEG2 still have the -level:v options? This is all that is said: You are talking about profile, please do not switch to level, they're different option. level didn't support with const option, so you had to use integer for it. Below is examples for reference: Main profile and Main level: -profile:v main -level:v 8 Main profile and high level: -profile:v main -level:v 4 422 profile and main level: -profile:v 422 -level:v 5 422 profile and high level: -profile:v 422 -level:v 2 > > level integer (encoding,audio,video) > Possible values: > > ‘unknown’ > > In the past, I found you could use 2, 4, 5, 6. or 8 > > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". -- Thanks, Limin Wang From mrk.ramakrishna at gmail.com Wed Jun 17 10:21:41 2020 From: mrk.ramakrishna at gmail.com (Rama Krishna Thelagathoti) Date: Wed, 17 Jun 2020 02:21:41 -0500 Subject: [FFmpeg-user] how to write stream level metadata Message-ID: Hello ffmpeg team My objective is to append 360 degree spherical metadata to the video stream with a mainstream. Following is the metadata I want to write side_metadata_type="Spherical Mapping" projection=equirectangular yaw=0 pitch=0 roll=0 I tried the following command, but this doesn't work. I don't see metadata being added to video stream. ffmpeg -loglevel info -i R0010309_er.MP4 -map 0:v -vcodec libx264 -vprofile high -metadata:s:v:0 side_metadata_type="Spherical Mapping" -metadata:s:v:0 projection=equirectangular -metadata:s:v:0 yaw=0 -metadata:s:v:0 pitch=0 -metadata:s:v:0 roll=0 -map 0:a -acodec aac -f mp4 metachange.mp4 [ R0010309_er.MP4 is 360 degree video which has 1 video and 1 audio stream] , following is the console output rthelagathoti at PKI369-NUC04:~/streaming$ ffmpeg -loglevel info -i R0010309_er.MP4 -map 0:v -vcodec libx264 -vprofile high -metadata:s:v:0 side_metadata_type="Spherical Mapping" -metadata:s:v:0 projection=equirectangular -metadata:s:v:0 yaw=0 -metadata:s:v:0 pitch=0 -metadata:s:v:0 roll=0 -map 0:a -acodec aac -f mp4 metachange.mp4 ffmpeg version 4.2.2-1ubuntu1~18.04.york0 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04) configuration: --prefix=/usr --extra-version='1ubuntu1~18.04.york0' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'R0010309_er.MP4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 creation_time : 2018-01-01T19:49:42.000000Z Duration: 00:00:03.57, start: 0.000000, bitrate: 62822 kb/s Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p(pc), 3840x1920 [SAR 1:1 DAR 2:1], 59135 kb/s, 29.97 fps, 29.97 tbr, 29970 tbn, 59.94 tbc (default) Metadata: creation_time : 2018-01-01T19:49:42.000000Z handler_name : VideoHandler Side data: spherical: equirectangular (0.000000/0.000000/0.000000) Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 127 kb/s (default) Metadata: creation_time : 2018-01-01T19:49:42.000000Z handler_name : SoundHandler File 'metachange.mp4' already exists. Overwrite ? [y/N] y Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) Stream #0:1 -> #0:1 (aac (native) -> aac (native)) Press [q] to stop, [?] for help [libx264 @ 0x5573abe38e00] using SAR=1/1 [libx264 @ 0x5573abe38e00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @ 0x5573abe38e00] profile High, level 5.1 [libx264 @ 0x5573abe38e00] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to 'metachange.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf58.29.100 Stream #0:0(und): Video: h264 (libx264) (avc1 / 0x31637661), yuvj420p(pc), 3840x1920 [SAR 1:1 DAR 2:1], q=-1--1, 29.97 fps, 11988 tbn, 29.97 tbc (default) Metadata: creation_time : 2018-01-01T19:49:42.000000Z handler_name : VideoHandler side_metadata_type: Spherical Mapping projection : equirectangular yaw : 0 pitch : 0 roll : 0 encoder : Lavc58.54.100 libx264 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1 spherical: equirectangular (0.000000/0.000000/0.000000) Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 69 kb/s (default) Metadata: creation_time : 2018-01-01T19:49:42.000000Z handler_name : SoundHandler encoder : Lavc58.54.100 aac frame= 106 fps=3.9 q=-1.0 Lsize= 4891kB time=00:00:03.56 bitrate=11238.0kbits/s speed=0.132x video:4855kB audio:30kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.105744% [libx264 @ 0x5573abe38e00] frame I:1 Avg QP:22.07 size:280593 [libx264 @ 0x5573abe38e00] frame P:27 Avg QP:21.59 size:101191 [libx264 @ 0x5573abe38e00] frame B:78 Avg QP:24.55 size: 25105 [libx264 @ 0x5573abe38e00] consecutive B-frames: 1.9% 0.0% 0.0% 98.1% [libx264 @ 0x5573abe38e00] mb I I16..4: 29.7% 55.2% 15.1% [libx264 @ 0x5573abe38e00] mb P I16..4: 11.1% 10.5% 0.2% P16..4: 38.4% 9.9% 5.6% 0.0% 0.0% skip:24.3% [libx264 @ 0x5573abe38e00] mb B I16..4: 1.6% 1.1% 0.0% B16..8: 38.7% 1.8% 0.1% direct: 2.0% skip:54.7% L0:48.8% L1:49.6% BI: 1.6% [libx264 @ 0x5573abe38e00] 8x8 transform intra:46.9% inter:81.6% [libx264 @ 0x5573abe38e00] coded y,uvDC,uvAC intra: 16.7% 40.6% 3.6% inter: 8.6% 14.1% 0.1% [libx264 @ 0x5573abe38e00] i16 v,h,dc,p: 18% 51% 10% 21% [libx264 @ 0x5573abe38e00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 14% 36% 41% 1% 1% 1% 2% 1% 2% [libx264 @ 0x5573abe38e00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 32% 13% 5% 7% 5% 10% 4% 8% [libx264 @ 0x5573abe38e00] i8c dc,h,v,p: 51% 36% 10% 3% [libx264 @ 0x5573abe38e00] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 0x5573abe38e00] ref P L0: 61.7% 9.8% 20.9% 7.5% [libx264 @ 0x5573abe38e00] ref B L0: 89.3% 8.4% 2.3% [libx264 @ 0x5573abe38e00] ref B L1: 94.0% 6.0% [libx264 @ 0x5573abe38e00] kb/s:11243.69 [aac @ 0x5573abe3bf00] Qavg: 845.908 -- Best Regards *Rama krishna Thelagathoti* From yannick.barbeaux at keemotion.com Wed Jun 17 11:55:16 2020 From: yannick.barbeaux at keemotion.com (Yannick Barbeaux) Date: Wed, 17 Jun 2020 10:55:16 +0200 Subject: [FFmpeg-user] timeout error when reading RTSP/RTP incoming audio stream In-Reply-To: References: Message-ID: On Tue, Jun 16, 2020 at 9:45 AM Yannick Barbeaux wrote: > On Mon, 15 Jun 2020 at 09:37, Yannick Barbeaux > wrote: > > > > Hello > > I am struggling to read a multicast audio RTP stream controlled by RTSP. > As > > soon as I launch the ffplay or ffmpeg command, the RTP traffic starts > > (tcpdump) on port 5004/UDP (as advertised in the SDP file), so it should > > read the stream correctly but I finally get a time-out instead (and empty > > out file). The very same RTSP URL can be read without any issue with VLC > or > > with rtpdump+sox. > > > > $ ffmpeg -y -rtsp_transport udp_multicast -i "rtsp:// > > 192.168.2.148:554/by-name/AES67-stream (on hasseb-AoE-F8-82)" -vn -f > s24le > > -ar 48000 -c:a pcm_s24be out.raw > > ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers > > built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1) > > configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --disable-debug > > --enable-nonfree --enable-gpl --enable-version3 > --enable-libopencore-amrnb > > --enable-libopencore-amrwb --disable-decoder=amrnb > --disable-decoder=amrwb > > --enable-libpulse --enable-libfreetype --enable-gnutl > > s --enable-libdav1d --enable-libx264 --enable-libx265 --enable-libfdk-aac > > --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx > > --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr > > --enable-libxvid --enable-libvidstab --enable-libtheora --en > > able-libwavpack --enable-libopenjpeg --enable-libgsm --enable-nvenc > > --enable-libzimg --enable-libaom > > libavutil 56. 31.100 / 56. 31.100 > > libavcodec 58. 54.100 / 58. 54.100 > > libavformat 58. 29.100 / 58. 29.100 > > libavdevice 58. 8.100 / 58. 8.100 > > libavfilter 7. 57.100 / 7. 57.100 > > libswscale 5. 5.100 / 5. 5.100 > > libswresample 3. 5.100 / 3. 5.100 > > libpostproc 55. 5.100 / 55. 5.100 > > Guessed Channel Layout for Input Stream #0.0 : stereo > > Input #0, rtsp, from 'rtsp://192.168.2.148:554/by-name/AES67-stream (on > > hasseb-AoE-F8-82)': > > Metadata: > > title : AES67-stream (on hasseb-AoE-F8-82) streamed by > > "hasseb" > > Duration: N/A, bitrate: 2304 kb/s > > Stream #0:0: Audio: pcm_s24be, 48000 Hz, stereo, s32 (24 bit), 2304 > kb/s > > Stream mapping: > > Stream #0:0 -> #0:0 (pcm_s24be (native) -> pcm_s24be (native)) > > Press [q] to stop, [?] for help > > rtsp://192.168.2.148:554/by-name/AES67-stream (on hasseb-AoE-F8-82): > > Connection timed out > > Output #0, s24le, to 'out.raw': > > Metadata: > > title : AES67-stream (on hasseb-AoE-F8-82) streamed by > > "hasseb" > > encoder : Lavf58.29.100 > > Stream #0:0: Audio: pcm_s24be, 48000 Hz, stereo, s32 (24 bit), 2304 > kb/s > > Metadata: > > encoder : Lavc58.54.100 pcm_s24be > > size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x > > video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB > > muxing overhead: unknown > > Output file is empty, nothing was encoded (check -ss / -t / -frames > > parameters if used) > > > > The SDP file is : > > > > v=0 > > o=- 254522267104 0 IN IP4 192.168.2.148 > > s=AES67-stream (on hasseb-AoE-F8-82) streamed by "hasseb" > > t=0 0 > > a=clock-domain:PTPv2 0 > > a=recvonly > > m=audio 5004 RTP/AVP 98 > > c=IN IP4 239.123.123.123/255 > > a=rtpmap:98 L24/48000/2 > > a=sync-time:0 > > a=framecount:48 > > a=source-filter: incl IN IP4 239.123.123.123 192.168.2.148 > > a=ts-refclk:ptp=IEEE1588-2008:00-10-4b-ff-fe-2e-f8-82:domain-nmbr=0 > > a=mediaclk:direct=0 > > a=ptime:1 > > > > Comparing those files, we see that ffmpeg detects the correct > > audio settings (pcm_s24be, 48000 Hz, stereo, s32 (24 bit)) so I cannot > > figure out why it can't read the data stream? I have tried to increase > the > > timeout but that did not help. > > > > Any help would be appreciated. Thank you. > > > > Yannick > > _______________________________________________ > > ffmpeg-user mailing list > > ffmpeg-user at ffmpeg.org > > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > > > To unsubscribe, visit link above, or email > > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". > > My apologies to everyone for multi-posting this question. My question > did not appear in the list after two days so I tried multiple times, > thinking it had been considered as spam or something. Then I noticed > the question appeared three times in the ffmpeg-user archives, sorry. > (Strange thing though : "Receive your own posts to the list?" is set > to "Yes" in my subscription settings and I do not receive them). > Cheers > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". I will rephrase my question in a short way : does ffmpeg support AES67 as an input ? From ffmpeg at roberthallam.com Wed Jun 17 11:50:20 2020 From: ffmpeg at roberthallam.com (Rob Hallam) Date: Wed, 17 Jun 2020 09:50:20 +0100 Subject: [FFmpeg-user] xfade + acrossfade usage - keeping A/V in sync In-Reply-To: References: Message-ID: On Tue, 16 Jun 2020 at 23:56, Paul B Mahol wrote: >> TR1=764.3 # input 0 duration - 1 second >> TR2=1250.498 # input 0 + input 1 duration - 1 second > I believe this two should be - 2 seconds instead. Because both > transition durations for two xfade and acrossfade filters is 2 > seconds. Thanks for the reply Paul, I will try that. My reading of xfade is that the transition start point should be half the duration from the end- the example on the wiki is 4.5s of a 5s input for a 1s transition. I am less sure about acrossfade, but thought it worked similarly. In either case diagram terms I figured they operated like: [AA AA AA AA][BB BB BB BB] ↓ [AA AA AA AB BA BB BB BB] ie neither should change the length of the inputs they operate on. Is that a mistaken assumption perhaps? Cheers, Rob From nicolas2020 at nv76.info Wed Jun 17 12:37:00 2020 From: nicolas2020 at nv76.info (Nicolas VAMBAIRGUE) Date: Wed, 17 Jun 2020 11:37:00 +0200 Subject: [FFmpeg-user] Streaming wav sound with FFMPEG Message-ID: <3f15523a-6b33-5160-4537-d91e325aa275@nv76.info> Hello, I'm using the ffmpeg library to decode / encode audio in Java, using the Process objets. The aim is to decode the datas of an external source with ffmpeg, and then to stream the decoded (wav) datas locally to catch them in my Java code. After I processed them in Java, I'll send them back to ffmpeg to generate a coded stream (mp3, opus, ogg...) or to create a file. As Java sounds only allow wav audio datas, I made a first try with this command line :     ffmpeg -i http://199.180.75.118:80 -acodec pcm_s16le -ar 44100 -ac 2 "/home/dr_click/montest.wav" It works. But, my goal is to get the frames on the fly and not a file. I thought about using a pipe but it seems it will work only with Linux and not with Windows (and no idea for MacOS) To stream locally a wav file and to catch it with Java into a AudioInputStream, I wrote this command :     ffmpeg -re -i http://199.180.75.118:80 -acodec pcm_s16le -ar 44100 -ac 2 -f rtp rtp://127.0.0.1:1234 It seems to work on the server side. But, when I enter the below command line to act like the client side :     ffplay rtp://127.0.0.1:1234 It doesn't work at all. I got this error : - [rtp @ 0x7f29c8000b80] Unable to receive RTP payload type 97 without an SDP file describing it So I tried the couple :     ffmpeg -i http://199.180.75.118:80 -acodec pcm_s16le -ar 44100 -ac 2 -f rtp -sdp_file /home/dr_click/audio.sdp rtp://127.0.1.1:1234 and     ffplay /home/dr_click/audio.sdp I got the following error : - [rtp @ 0x7f7d00008040] Protocol 'rtp' not on whitelist 'file,crypto'! if And if I finally tried :     fmpeg -protocol_whitelist file,http,rtp,tcp -i http://199.180.75.118:80 -acodec pcm_s16le -ar 44100 -ac 2 -f rtp -sdp_file /home/dr_click/audio.sdp rtp://127.0.1.1:1234 But I get the same "whitelist" error. Which point do I miss to stream locally some wav datas and then catching them in the JAVA AudioInputStream ? Thank you for all your replies. Regards, Nicolas From Ulf.Zibis at CoSoCo.de Wed Jun 17 12:54:21 2020 From: Ulf.Zibis at CoSoCo.de (Ulf Zibis) Date: Wed, 17 Jun 2020 11:54:21 +0200 Subject: [FFmpeg-user] No rule existing for libavfilter/all_channel_layouts.inc Message-ID: <0e3cc7c5-93ce-95bb-9bc3-5e2183ffb94a@CoSoCo.de> Hi, I'm not able to compile ffmpeg on Ubuntu 20.04 I've tried this 3 times in the last days in hope a new git pull would fix the problen. $ git pull --rebase remote: Counting objects: 416, done. remote: Compressing objects: 100% (323/323), done. remote: Total 416 (delta 354), reused 109 (delta 93) Empfange Objekte: 100% (416/416), 97.27 KiB | 844.00 KiB/s, Fertig. Löse Unterschiede auf: 100% (354/354), abgeschlossen mit 92 lokalen Objekten. Von https://git.ffmpeg.org/ffmpeg    0b182ff66d..318a1a383d  master      -> origin/master    569a9d3d70..cc948a1c8c  release/4.3 -> origin/release/4.3 Aktualisiere 0b182ff66d..318a1a383d Fast-forward  .mailmap                                 |   1 +  doc/APIchanges                           |   3 +  doc/decoders.texi                        |   2 +-  libavcodec/aacenc.c                      |  20 ++--  libavcodec/ac3enc.c                      |  95 ++++++++-----------  libavcodec/ac3enc_fixed.c                |   1 +  libavcodec/ac3enc_template.c             |  17 ++--  libavcodec/adpcmenc.c                    |  38 ++++----  libavcodec/alac.c                        |  17 ++--  libavcodec/apedec.c                      |   9 +-  libavcodec/cbs.c                         |   4 +-  libavcodec/cbs_av1.c                     |   3 +-  libavcodec/cbs_h2645.c                   |   3 +-  libavcodec/ccaption_dec.c                |  44 ++++++---  libavcodec/dnxhdenc.c                    |  65 +++++--------  libavcodec/ffwavesynth.c                 |   4 +-  libavcodec/h261dec.c                     |   1 +  libavcodec/h263dec.c                     |   4 +-  libavcodec/h264dec.c                     |  67 +++++--------  libavcodec/iff.c                         |   2 +-  libavcodec/iirfilter.c                   |  15 +--  libavcodec/jpeg2000dec.c                 |  19 ++--  libavcodec/libzvbi-teletextdec.c         |   2 +-  libavcodec/loco.c                        |   2 +-  libavcodec/lossless_audiodsp.c           |   2 +-  libavcodec/mpeg12dec.c                   |   9 +-  libavcodec/mpeg4videodec.c               |  24 +++--  libavcodec/mpegpicture.c                 |  11 +--  libavcodec/mpegvideo.c                   | 156 ++++++++++++++-----------------  libavcodec/mpegvideo_enc.c               |  34 +++----  libavcodec/msmpeg4dec.c                  |   8 +-  libavcodec/mv30.c                        |   3 +  libavcodec/pixlet.c                      |   2 +-  libavcodec/qsv_internal.h                |   2 +  libavcodec/rv10.c                        |   2 +  libavcodec/smvjpegdec.c                  |   3 +-  libavcodec/snow.c                        |  26 +++---  libavcodec/sonic.c                       |  13 +--  libavcodec/svq1enc.c                     |   4 +-  libavcodec/twinvq.c                      |  26 ++----  libavcodec/wmalosslessdec.c              |   2 +-  libavcodec/wmv2dec.c                     |   1 +  libavfilter/af_rubberband.c              |   1 +  libavfilter/vf_vaguedenoiser.c           |   2 +-  libavformat/4xm.c                        |   3 +  libavformat/ape.c                        |  26 ++++--  libavformat/mov.c                        |   2 +-  libavformat/mpl2dec.c                    |   9 +-  libavformat/mxfdec.c                     |   1 +  libavformat/oggdec.c                     |   5 +-  libavformat/prompeg.c                    |   6 +-  libavformat/sccdec.c                     |  29 +++++-  libavformat/thp.c                        |   2 +  libavformat/utils.c                      |   4 +-  libavutil/hwcontext_vaapi.c              |   3 +  libavutil/internal.h                     |  40 +-------  libavutil/pixdesc.c                      |  24 +++++  libavutil/pixfmt.h                       |   3 +  libavutil/version.h                      |   2 +-  libswscale/input.c                       |  13 ++-  libswscale/output.c                      |  33 +++++--  libswscale/swscale_internal.h            |   6 +-  libswscale/utils.c                       | 150 +++++++++++++++--------------  libswscale/vscale.c                      |   2 +-  libswscale/x86/output.asm                | 126 ++++++++++++++++++++++++-  libswscale/x86/swscale.c                 |  28 ++++++  libswscale/yuv2rgb.c                     |  22 +++++  tests/ref/fate/filter-pixdesc-x2rgb10le  |   1 +  tests/ref/fate/filter-pixfmts-copy       |   1 +  tests/ref/fate/filter-pixfmts-crop       |   1 +  tests/ref/fate/filter-pixfmts-field      |   1 +  tests/ref/fate/filter-pixfmts-fieldorder |   1 +  tests/ref/fate/filter-pixfmts-hflip      |   1 +  tests/ref/fate/filter-pixfmts-il         |   1 +  tests/ref/fate/filter-pixfmts-null       |   1 +  tests/ref/fate/filter-pixfmts-pad        |   1 +  tests/ref/fate/filter-pixfmts-scale      |   1 +  tests/ref/fate/filter-pixfmts-transpose  |   1 +  tests/ref/fate/filter-pixfmts-vflip      |   1 +  tests/ref/fate/sws-pixdesc-query         |  11 +++  80 files changed, 764 insertions(+), 567 deletions(-)  create mode 100644 tests/ref/fate/filter-pixdesc-x2rgb10le Aktueller Branch master ist auf dem neuesten Stand. $ ./configure --enable-libx264 --enable-gpl install prefix            /usr/local source path               . C compiler                gcc C library                 glibc ARCH                      x86 (generic) big-endian                no runtime cpu detection     yes standalone assembly       yes x86 assembler             nasm MMX enabled               yes MMXEXT enabled            yes 3DNow! enabled            yes 3DNow! extended enabled   yes SSE enabled               yes SSSE3 enabled             yes AESNI enabled             yes AVX enabled               yes AVX2 enabled              yes AVX-512 enabled           yes XOP enabled               yes FMA3 enabled              yes FMA4 enabled              yes i686 features enabled     yes CMOV is fast              yes EBX available             yes EBP available             yes debug symbols             yes strip symbols             yes optimize for size         no optimizations             yes static                    yes shared                    no postprocessing support    yes network support           yes threading support         pthreads safe bitstream reader     yes texi2html enabled         no perl enabled              yes pod2man enabled           yes makeinfo enabled          no makeinfo supports HTML    no External libraries: iconv                   libx264                 zlib External libraries providing hardware acceleration: v4l2_m2m Libraries: avcodec                 avformat                swresample avdevice                avutil                  swscale avfilter                postproc Programs: ffmpeg                  ffprobe Enabled decoders: aac                     flac                    pgm aac_fixed               flashsv                 pgmyuv aac_latm                flashsv2                pgssub aasc                    flic                    pictor ac3                     flv                     pixlet ac3_fixed               fmvc                    pjs acelp_kelvin            fourxm                  png adpcm_4xm               fraps                   ppm adpcm_adx               frwu                    prores adpcm_afc               g2m                     prosumer adpcm_agm               g723_1                  psd adpcm_aica              g729                    ptx adpcm_argo              gdv                     qcelp adpcm_ct                gif                     qdm2 adpcm_dtk               gremlin_dpcm            qdmc adpcm_ea                gsm                     qdraw adpcm_ea_maxis_xa       gsm_ms                  qpeg adpcm_ea_r1             h261                    qtrle adpcm_ea_r2             h263                    r10k adpcm_ea_r3             h263_v4l2m2m            r210 adpcm_ea_xas            h263i                   ra_144 adpcm_g722              h263p                   ra_288 adpcm_g726              h264                    ralf adpcm_g726le            h264_v4l2m2m            rasc adpcm_ima_alp           hap                     rawvideo adpcm_ima_amv           hca                     realtext adpcm_ima_apc           hcom                    rl2 adpcm_ima_apm           hevc                    roq adpcm_ima_cunning       hevc_v4l2m2m            roq_dpcm adpcm_ima_dat4          hnm4_video              rpza adpcm_ima_dk3           hq_hqa                  rscc adpcm_ima_dk4           hqx                     rv10 adpcm_ima_ea_eacs       huffyuv                 rv20 adpcm_ima_ea_sead       hymt                    rv30 adpcm_ima_iss           iac                     rv40 adpcm_ima_mtf           idcin                   s302m adpcm_ima_oki           idf                     sami adpcm_ima_qt            iff_ilbm                sanm adpcm_ima_rad           ilbc                    sbc adpcm_ima_smjpeg        imc                     scpr adpcm_ima_ssi           imm4                    screenpresso adpcm_ima_wav           imm5                    sdx2_dpcm adpcm_ima_ws            indeo2                  sgi adpcm_ms                indeo3                  sgirle adpcm_mtaf              indeo4                  sheervideo adpcm_psx               indeo5                  shorten adpcm_sbpro_2           interplay_acm           sipr adpcm_sbpro_3           interplay_dpcm          siren adpcm_sbpro_4           interplay_video         smackaud adpcm_swf               jacosub                 smacker adpcm_thp               jpeg2000                smc adpcm_thp_le            jpegls                  smvjpeg adpcm_vima              jv                      snow adpcm_xa                kgv1                    sol_dpcm adpcm_yamaha            kmvc                    sonic adpcm_zork              lagarith                sp5x agm                     loco                    speedhq aic                     lscr                    srgc alac                    m101                    srt alias_pix               mace3                   ssa als                     mace6                   stl amrnb                   magicyuv                subrip amrwb                   mdec                    subviewer amv                     metasound               subviewer1 anm                     microdvd                sunrast ansi                    mimic                   svq1 ape                     mjpeg                   svq3 apng                    mjpegb                  tak aptx                    mlp                     targa aptx_hd                 mmvideo                 targa_y216 arbc                    motionpixels            tdsc ass                     movtext                 text asv1                    mp1                     theora asv2                    mp1float                thp atrac1                  mp2                     tiertexseqvideo atrac3                  mp2float                tiff atrac3al                mp3                     tmv atrac3p                 mp3adu                  truehd atrac3pal               mp3adufloat             truemotion1 atrac9                  mp3float                truemotion2 aura                    mp3on4                  truemotion2rt aura2                   mp3on4float             truespeech avrn                    mpc7                    tscc avrp                    mpc8                    tscc2 avs                     mpeg1_v4l2m2m           tta avui                    mpeg1video              twinvq ayuv                    mpeg2_v4l2m2m           txd bethsoftvid             mpeg2video              ulti bfi                     mpeg4                   utvideo bink                    mpeg4_v4l2m2m           v210 binkaudio_dct           mpegvideo               v210x binkaudio_rdft          mpl2                    v308 bintext                 msa1                    v408 bitpacked               mscc                    v410 bmp                     msmpeg4v1               vb bmv_audio               msmpeg4v2               vble bmv_video               msmpeg4v3               vc1 brender_pix             msrle                   vc1_v4l2m2m c93                     mss1                    vc1image cavs                    mss2                    vcr1 ccaption                msvideo1                vmdaudio cdgraphics              mszh                    vmdvideo cdtoons                 mts2                    vmnc cdxl                    mv30                    vorbis cfhd                    mvc1                    vp3 cinepak                 mvc2                    vp4 clearvideo              mvdv                    vp5 cljr                    mvha                    vp6 cllc                    mwsc                    vp6a comfortnoise            mxpeg                   vp6f cook                    nellymoser              vp7 cpia                    notchlc                 vp8 cscd                    nuv                     vp8_v4l2m2m cyuv                    on2avc                  vp9 dca                     opus                    vp9_v4l2m2m dds                     paf_audio               vplayer derf_dpcm               paf_video               vqa dfa                     pam                     wavpack dirac                   pbm                     wcmv dnxhd                   pcm_alaw                webp dolby_e                 pcm_bluray              webvtt dpx                     pcm_dvd                 wmalossless dsd_lsbf                pcm_f16le               wmapro dsd_lsbf_planar         pcm_f24le               wmav1 dsd_msbf                pcm_f32be               wmav2 dsd_msbf_planar         pcm_f32le               wmavoice dsicinaudio             pcm_f64be               wmv1 dsicinvideo             pcm_f64le               wmv2 dss_sp                  pcm_lxf                 wmv3 dst                     pcm_mulaw               wmv3image dvaudio                 pcm_s16be               wnv1 dvbsub                  pcm_s16be_planar        wrapped_avframe dvdsub                  pcm_s16le               ws_snd1 dvvideo                 pcm_s16le_planar        xan_dpcm dxa                     pcm_s24be               xan_wc3 dxtory                  pcm_s24daud             xan_wc4 dxv                     pcm_s24le               xbin eac3                    pcm_s24le_planar        xbm eacmv                   pcm_s32be               xface eamad                   pcm_s32le               xl eatgq                   pcm_s32le_planar        xma1 eatgv                   pcm_s64be               xma2 eatqi                   pcm_s64le               xpm eightbps                pcm_s8                  xsub eightsvx_exp            pcm_s8_planar           xwd eightsvx_fib            pcm_u16be               y41p escape124               pcm_u16le               ylc escape130               pcm_u24be               yop evrc                    pcm_u24le               yuv4 exr                     pcm_u32be               zero12v ffv1                    pcm_u32le               zerocodec ffvhuff                 pcm_u8                  zlib ffwavesynth             pcm_vidc                zmbv fic                     pcx fits                    pfm Enabled encoders: a64multi                jpeg2000                pgmyuv a64multi5               jpegls                  png aac                     libx264                 ppm ac3                     libx264rgb              prores ac3_fixed               ljpeg                   prores_aw adpcm_adx               magicyuv                prores_ks adpcm_g722              mjpeg                   qtrle adpcm_g726              mlp                     r10k adpcm_g726le            movtext                 r210 adpcm_ima_qt            mp2                     ra_144 adpcm_ima_ssi           mp2fixed                rawvideo adpcm_ima_wav           mpeg1video              roq adpcm_ms                mpeg2video              roq_dpcm adpcm_swf               mpeg4                   rv10 adpcm_yamaha            mpeg4_v4l2m2m           rv20 alac                    msmpeg4v2               s302m alias_pix               msmpeg4v3               sbc amv                     msvideo1                sgi apng                    nellymoser              snow aptx                    opus                    sonic aptx_hd                 pam                     sonic_ls ass                     pbm                     srt asv1                    pcm_alaw                ssa asv2                    pcm_dvd                 subrip avrp                    pcm_f32be               sunrast avui                    pcm_f32le               svq1 ayuv                    pcm_f64be               targa bmp                     pcm_f64le               text cinepak                 pcm_mulaw               tiff cljr                    pcm_s16be               truehd comfortnoise            pcm_s16be_planar        tta dca                     pcm_s16le               utvideo dnxhd                   pcm_s16le_planar        v210 dpx                     pcm_s24be               v308 dvbsub                  pcm_s24daud             v408 dvdsub                  pcm_s24le               v410 dvvideo                 pcm_s24le_planar        vc2 eac3                    pcm_s32be               vorbis ffv1                    pcm_s32le               vp8_v4l2m2m ffvhuff                 pcm_s32le_planar        wavpack fits                    pcm_s64be               webvtt flac                    pcm_s64le               wmav1 flashsv                 pcm_s8                  wmav2 flashsv2                pcm_s8_planar           wmv1 flv                     pcm_u16be               wmv2 g723_1                  pcm_u16le               wrapped_avframe gif                     pcm_u24be               xbm h261                    pcm_u24le               xface h263                    pcm_u32be               xsub h263_v4l2m2m            pcm_u32le               xwd h263p                   pcm_u8                  y41p h264_v4l2m2m            pcm_vidc                yuv4 hevc_v4l2m2m            pcx                     zlib huffyuv                 pgm                     zmbv Enabled hwaccels: Enabled parsers: aac                     dvdsub                  opus aac_latm                flac                    png ac3                     g723_1                  pnm adx                     g729                    rv30 av1                     gif                     rv40 avs2                    gsm                     sbc bmp                     h261                    sipr cavsvideo               h263                    tak cook                    h264                    vc1 dca                     hevc                    vorbis dirac                   jpeg2000                vp3 dnxhd                   mjpeg                   vp8 dpx                     mlp                     vp9 dvaudio                 mpeg4video              webp dvbsub                  mpegaudio               xma dvd_nav                 mpegvideo Enabled demuxers: aa                      hnm                     pcm_s32be aac                     ico                     pcm_s32le ac3                     idcin                   pcm_s8 acm                     idf                     pcm_u16be act                     iff                     pcm_u16le adf                     ifv                     pcm_u24be adp                     ilbc                    pcm_u24le ads                     image2                  pcm_u32be adx                     image2_alias_pix        pcm_u32le aea                     image2_brender_pix      pcm_u8 afc                     image2pipe              pcm_vidc aiff                    image_bmp_pipe          pjs aix                     image_dds_pipe          pmp alp                     image_dpx_pipe          pp_bnk amr                     image_exr_pipe          pva amrnb                   image_gif_pipe          pvf amrwb                   image_j2k_pipe          qcp anm                     image_jpeg_pipe         r3d apc                     image_jpegls_pipe       rawvideo ape                     image_pam_pipe          realtext apm                     image_pbm_pipe          redspark apng                    image_pcx_pipe          rl2 aptx                    image_pgm_pipe          rm aptx_hd                 image_pgmyuv_pipe       roq aqtitle                 image_pictor_pipe       rpl argo_asf                image_png_pipe          rsd asf                     image_ppm_pipe          rso asf_o                   image_psd_pipe          rtp ass                     image_qdraw_pipe        rtsp ast                     image_sgi_pipe          s337m au                      image_sunrast_pipe      sami av1                     image_svg_pipe          sap avi                     image_tiff_pipe         sbc avr                     image_webp_pipe         sbg avs                     image_xpm_pipe          scc avs2                    image_xwd_pipe          sdp bethsoftvid             ingenient               sdr2 bfi                     ipmovie                 sds bfstm                   ircam                   sdx bink                    iss                     segafilm bintext                 iv8                     ser bit                     ivf                     shorten bmv                     ivr                     siff boa                     jacosub                 sln brstm                   jv                      smacker c93                     kux                     smjpeg caf                     kvag                    smush cavsvideo               live_flv                sol cdg                     lmlm4                   sox cdxl                    loas                    spdif cine                    lrc                     srt codec2                  lvf                     stl codec2raw               lxf                     str concat                  m4v                     subviewer data                    matroska                subviewer1 daud                    mgsts                   sup dcstr                   microdvd                svag derf                    mjpeg                   swf dfa                     mjpeg_2000              tak dhav                    mlp                     tedcaptions dirac                   mlv                     thp dnxhd                   mm                      threedostr dsf                     mmf                     tiertexseq dsicin                  mov                     tmv dss                     mp3                     truehd dts                     mpc                     tta dtshd                   mpc8                    tty dv                      mpegps                  txd dvbsub                  mpegts                  ty dvbtxt                  mpegtsraw               v210 dxa                     mpegvideo               v210x ea                      mpjpeg                  vag ea_cdata                mpl2                    vc1 eac3                    mpsub                   vc1t epaf                    msf                     vividas ffmetadata              msnwc_tcp               vivo filmstrip               mtaf                    vmd fits                    mtv                     vobsub flac                    musx                    voc flic                    mv                      vpk flv                     mvi                     vplayer fourxm                  mxf                     vqf frm                     mxg                     w64 fsb                     nc                      wav fwse                    nistsphere              wc3 g722                    nsp                     webm_dash_manifest g723_1                  nsv                     webvtt g726                    nut                     wsaud g726le                  nuv                     wsd g729                    ogg                     wsvqa gdv                     oma                     wtv genh                    paf                     wv gif                     pcm_alaw                wve gsm                     pcm_f32be               xa gxf                     pcm_f32le               xbin h261                    pcm_f64be               xmv h263                    pcm_f64le               xvag h264                    pcm_mulaw               xwma hca                     pcm_s16be               yop hcom                    pcm_s16le               yuv4mpegpipe hevc                    pcm_s24be hls                     pcm_s24le Enabled muxers: a64                     hls                     pcm_s32be ac3                     ico                     pcm_s32le adts                    ilbc                    pcm_s8 adx                     image2                  pcm_u16be aiff                    image2pipe              pcm_u16le amr                     ipod                    pcm_u24be apng                    ircam                   pcm_u24le aptx                    ismv                    pcm_u32be aptx_hd                 ivf                     pcm_u32le asf                     jacosub                 pcm_u8 asf_stream              kvag                    pcm_vidc ass                     latm                    psp ast                     lrc                     rawvideo au                      m4v                     rm avi                     matroska                roq avm2                    matroska_audio          rso avs2                    md5                     rtp bit                     microdvd                rtp_mpegts caf                     mjpeg                   rtsp cavsvideo               mkvtimestamp_v2         sap codec2                  mlp                     sbc codec2raw               mmf                     scc crc                     mov                     segafilm dash                    mp2                     segment data                    mp3                     singlejpeg daud                    mp4                     smjpeg dirac                   mpeg1system             smoothstreaming dnxhd                   mpeg1vcd                sox dts                     mpeg1video              spdif dv                      mpeg2dvd                spx eac3                    mpeg2svcd               srt f4v                     mpeg2video              stream_segment ffmetadata              mpeg2vob                streamhash fifo                    mpegts                  sup fifo_test               mpjpeg                  swf filmstrip               mxf                     tee fits                    mxf_d10                 tg2 flac                    mxf_opatom              tgp flv                     null                    truehd framecrc                nut                     tta framehash               oga                     uncodedframecrc framemd5                ogg                     vc1 g722                    ogv                     vc1t g723_1                  oma                     voc g726                    opus                    w64 g726le                  pcm_alaw                wav gif                     pcm_f32be               webm gsm                     pcm_f32le               webm_chunk gxf                     pcm_f64be               webm_dash_manifest h261                    pcm_f64le               webp h263                    pcm_mulaw               webvtt h264                    pcm_s16be               wtv hash                    pcm_s16le               wv hds                     pcm_s24be               yuv4mpegpipe hevc                    pcm_s24le Enabled protocols: async                   http                    rtp cache                   httpproxy               srtp concat                  icecast                 subfile crypto                  md5                     tcp data                    mmsh                    tee ffrtmphttp              mmst                    udp file                    pipe                    udplite ftp                     prompeg                 unix gopher                  rtmp hls                     rtmpt Enabled filters: abench                  deconvolve              palettegen abitscope               dedot                   paletteuse acompressor             deesser                 pan acontrast               deflate                 perms acopy                   deflicker               perspective acrossfade              dejudder                phase acrossover              delogo                  photosensitivity acrusher                derain                  pixdesctest acue                    deshake                 pixscope addroi                  despill                 pp adeclick                detelecine              pp7 adeclip                 dilation                premultiply adelay                  displace                prewitt aderivative             dnn_processing          pseudocolor adrawgraph              doubleweave             psnr aecho                   drawbox                 pullup aemphasis               drawgraph               qp aeval                   drawgrid                random aevalsrc                drmeter                 readeia608 afade                   dynaudnorm              readvitc afftdn                  earwax                  realtime afftfilt                ebur128                 remap afifo                   edgedetect              removegrain afir                    elbg                    removelogo afirsrc                 entropy                 repeatfields aformat                 eq                      replaygain agate                   equalizer               reverse agraphmonitor           erosion                 rgbashift ahistogram              extractplanes           rgbtestsrc aiir                    extrastereo             roberts aintegral               fade                    rotate ainterleave             fftdnoiz                sab alimiter                fftfilt                 scale allpass                 field                   scale2ref allrgb                  fieldhint               scdet allyuv                  fieldmatch              scroll aloop                   fieldorder              select alphaextract            fifo                    selectivecolor alphamerge              fillborders             sendcmd amerge                  find_rect               separatefields ametadata               firequalizer            setdar amix                    flanger                 setfield amovie                  floodfill               setparams amplify                 format                  setpts amultiply               fps                     setrange anequalizer             framepack               setsar anlmdn                  framerate               settb anlms                   framestep               showcqt anoisesrc               freezedetect            showfreqs anull                   freezeframes            showinfo anullsink               fspp                    showpalette anullsrc                gblur                   showspatial apad                    geq                     showspectrum aperms                  gradfun                 showspectrumpic aphasemeter             gradients               showvolume aphaser                 graphmonitor            showwaves apulsator               greyedge                showwavespic arealtime               haas                    shuffleframes aresample               haldclut                shuffleplanes areverse                haldclutsrc             sidechaincompress arnndn                  hdcd                    sidechaingate aselect                 headphone               sidedata asendcmd                hflip                   sierpinski asetnsamples            highpass                signalstats asetpts                 highshelf               signature asetrate                hilbert                 silencedetect asettb                  histeq                  silenceremove ashowinfo               histogram               sinc asidedata               hqdn3d                  sine asoftclip               hqx                     smartblur asplit                  hstack                  smptebars astats                  hue                     smptehdbars astreamselect           hwdownload              sobel asubboost               hwmap                   spectrumsynth atadenoise              hwupload                split atempo                  hysteresis              spp atrim                   idet                    sr avectorscope            il                      ssim avgblur                 inflate                 stereo3d axcorrelate             interlace               stereotools bandpass                interleave              stereowiden bandreject              join                    streamselect bass                    kerndeint               super2xsai bbox                    lagfun                  superequalizer bench                   lenscorrection          surround bilateral               life                    swaprect biquad                  limiter                 swapuv bitplanenoise           loop                    tblend blackdetect             loudnorm                telecine blackframe              lowpass                 testsrc blend                   lowshelf                testsrc2 bm3d                    lumakey                 thistogram boxblur                 lut                     threshold bwdif                   lut1d                   thumbnail cas                     lut2                    tile cellauto                lut3d                   tinterlace channelmap              lutrgb                  tlut2 channelsplit            lutyuv                  tmedian chorus                  mandelbrot              tmix chromahold              maskedclamp             tonemap chromakey               maskedmax               tpad chromashift             maskedmerge             transpose ciescope                maskedmin               treble codecview               maskedthreshold         tremolo color                   maskfun                 trim colorbalance            mcdeint                 unpremultiply colorchannelmixer       mcompand                unsharp colorhold               median                  untile colorkey                mergeplanes             uspp colorlevels             mestimate               v360 colormatrix             metadata                vaguedenoiser colorspace              midequalizer            vectorscope compand                 minterpolate            vflip compensationdelay       mix                     vfrdet concat                  movie                   vibrance convolution             mpdecimate              vibrato convolve                mptestsrc               vignette copy                    negate                  vmafmotion cover_rect              nlmeans                 volume crop                    nnedi                   volumedetect cropdetect              noformat                vstack crossfeed               noise                   w3fdif crystalizer             normalize               waveform cue                     null                    weave curves                  nullsink                xbr datascope               nullsrc                 xfade dblur                   oscilloscope            xmedian dcshift                 overlay                 xstack dctdnoiz                owdenoise               yadif deband                  pad                     yaepblur deblock                 pal100bars              yuvtestsrc decimate                pal75bars               zoompan Enabled bsfs: aac_adtstoasc           h264_redundant_pps      null av1_frame_merge         hapqa_extract           opus_metadata av1_frame_split         hevc_metadata           pcm_rechunk av1_metadata            hevc_mp4toannexb        prores_metadata chomp                   imx_dump_header         remove_extradata dca_core                mjpeg2jpeg              text2movsub dump_extradata          mjpega_dump_header      trace_headers eac3_core               mov2textsub             truehd_core extract_extradata       mp3_header_decompress   vp9_metadata filter_units            mpeg2_metadata          vp9_raw_reorder h264_metadata           mpeg4_unpack_bframes    vp9_superframe h264_mp4toannexb        noise vp9_superframe_split Enabled indevs: fbdev                   oss lavfi                   v4l2 Enabled outdevs: fbdev                   oss                     v4l2 License: GPL version 2 or later config.h is unchanged config.asm is unchanged libavutil/avconfig.h is unchanged libavfilter/filter_list.c is unchanged libavcodec/codec_list.c is unchanged libavcodec/parser_list.c is unchanged libavcodec/bsf_list.c is unchanged libavformat/demuxer_list.c is unchanged libavformat/muxer_list.c is unchanged libavdevice/indev_list.c is unchanged libavdevice/outdev_list.c is unchanged libavformat/protocol_list.c is unchanged ffbuild/config.sh is unchanged $ make GEN    libavutil/libavutil.version CC    libavdevice/alldevices.o CC    libavdevice/avdevice.o libavdevice/avdevice.c: In function ‘device_next’: libavdevice/avdevice.c:88:13: warning: ‘av_oformat_next’ is deprecated [-Wdeprecated-declarations]    88 |             if (!(prev = av_oformat_next(prev)))       |             ^~ In file included from libavdevice/avdevice.h:51,                  from libavdevice/avdevice.c:23: ./libavformat/avformat.h:2095:17: note: declared here  2095 | AVOutputFormat *av_oformat_next(const AVOutputFormat *f);       |                 ^~~~~~~~~~~~~~~ libavdevice/avdevice.c:92:13: warning: ‘av_iformat_next’ is deprecated [-Wdeprecated-declarations]    92 |             if (!(prev = av_iformat_next(prev)))       |             ^~ In file included from libavdevice/avdevice.h:51,                  from libavdevice/avdevice.c:23: ./libavformat/avformat.h:2087:17: note: declared here  2087 | AVInputFormat  *av_iformat_next(const AVInputFormat  *f);       |                 ^~~~~~~~~~~~~~~ CC    libavdevice/fbdev_common.o CC    libavdevice/fbdev_dec.o CC    libavdevice/fbdev_enc.o CC    libavdevice/lavfi.o CC    libavdevice/oss.o CC    libavdevice/oss_dec.o CC    libavdevice/oss_enc.o CC    libavdevice/timefilter.o CC    libavdevice/utils.o CC    libavdevice/v4l2-common.o CC    libavdevice/v4l2.o libavdevice/v4l2.c: In function ‘v4l2_get_device_list’: libavdevice/v4l2.c:1054:58: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size 251 [-Wformat-truncation=]  1054 |         snprintf(device_name, sizeof(device_name), "/dev/%s", entry->d_name);       | ^~ In file included from /usr/include/stdio.h:867,                  from ./libavformat/avformat.h:311,                  from ./libavformat/internal.h:27,                  from libavdevice/v4l2-common.h:24,                  from libavdevice/v4l2.c:35: /usr/include/x86_64-linux-gnu/bits/stdio2.h:67:10: note: ‘__builtin___snprintf_chk’ output between 6 and 261 bytes into a destination of size 256    67 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,       | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    68 |        __bos (__s), __fmt, __va_arg_pack ());       |        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CC    libavdevice/v4l2enc.o AR    libavdevice/libavdevice.a CC    libavfilter/aeval.o CC    libavfilter/af_acontrast.o CC    libavfilter/af_acopy.o CC    libavfilter/af_acrossover.o CC    libavfilter/af_acrusher.o CC    libavfilter/af_adeclick.o CC    libavfilter/af_adelay.o CC    libavfilter/af_aderivative.o CC    libavfilter/af_aecho.o CC    libavfilter/af_aemphasis.o CC    libavfilter/af_afade.o CC    libavfilter/af_afftdn.o CC    libavfilter/af_afftfilt.o CC    libavfilter/af_afir.o CC    libavfilter/af_aformat.o CC    libavfilter/af_agate.o CC    libavfilter/af_aiir.o CC    libavfilter/af_alimiter.o CC    libavfilter/af_amerge.o CC    libavfilter/af_amix.o CC    libavfilter/af_amultiply.o CC    libavfilter/af_anequalizer.o CC    libavfilter/af_anlmdn.o CC    libavfilter/af_anlms.o CC    libavfilter/af_anull.o CC    libavfilter/af_apad.o CC    libavfilter/af_aphaser.o CC    libavfilter/af_apulsator.o CC    libavfilter/af_aresample.o CC    libavfilter/af_arnndn.o CC    libavfilter/af_asetnsamples.o CC    libavfilter/af_asetrate.o CC    libavfilter/af_ashowinfo.o CC    libavfilter/af_asoftclip.o CC    libavfilter/af_astats.o CC    libavfilter/af_asubboost.o CC    libavfilter/af_atempo.o CC    libavfilter/af_axcorrelate.o CC    libavfilter/af_biquads.o CC    libavfilter/af_channelmap.o CC    libavfilter/af_channelsplit.o CC    libavfilter/af_chorus.o CC    libavfilter/af_compand.o CC    libavfilter/af_compensationdelay.o CC    libavfilter/af_crossfeed.o CC    libavfilter/af_crystalizer.o CC    libavfilter/af_dcshift.o CC    libavfilter/af_deesser.o CC    libavfilter/af_drmeter.o CC    libavfilter/af_dynaudnorm.o CC    libavfilter/af_earwax.o CC    libavfilter/af_extrastereo.o CC    libavfilter/af_firequalizer.o CC    libavfilter/af_flanger.o CC    libavfilter/af_haas.o CC    libavfilter/af_hdcd.o CC    libavfilter/af_headphone.o CC    libavfilter/af_join.o CC    libavfilter/af_loudnorm.o CC    libavfilter/af_mcompand.o CC    libavfilter/af_pan.o CC    libavfilter/af_replaygain.o CC    libavfilter/af_sidechaincompress.o CC    libavfilter/af_silencedetect.o CC    libavfilter/af_silenceremove.o CC    libavfilter/af_stereotools.o CC    libavfilter/af_stereowiden.o CC    libavfilter/af_superequalizer.o CC    libavfilter/af_surround.o CC    libavfilter/af_tremolo.o CC    libavfilter/af_vibrato.o CC    libavfilter/af_volume.o CC    libavfilter/af_volumedetect.o CC    libavfilter/allfilters.o CC    libavfilter/asink_anullsink.o CC    libavfilter/asrc_afirsrc.o CC    libavfilter/asrc_anoisesrc.o CC    libavfilter/asrc_anullsrc.o CC    libavfilter/asrc_hilbert.o CC    libavfilter/asrc_sinc.o CC    libavfilter/asrc_sine.o CC    libavfilter/audio.o CC    libavfilter/avf_abitscope.o CC    libavfilter/avf_ahistogram.o CC    libavfilter/avf_aphasemeter.o CC    libavfilter/avf_avectorscope.o CC    libavfilter/avf_concat.o CC    libavfilter/avf_showcqt.o CC    libavfilter/avf_showfreqs.o CC    libavfilter/avf_showspatial.o CC    libavfilter/avf_showspectrum.o CC    libavfilter/avf_showvolume.o CC    libavfilter/avf_showwaves.o CC    libavfilter/avfilter.o CC    libavfilter/avfiltergraph.o libavfilter/avfiltergraph.c: In function ‘avfilter_graph_free’: libavfilter/avfiltergraph.c:135:5: warning: ‘resample_lavr_opts’ is deprecated [-Wdeprecated-declarations]   135 |     av_freep(&(*graph)->resample_lavr_opts);       |     ^~~~~~~~ In file included from libavfilter/avfiltergraph.c:39: libavfilter/avfilter.h:847:32: note: declared here   847 |     attribute_deprecated char *resample_lavr_opts; ///< libavresample options to use for the auto-inserted resample filters       |                                ^~~~~~~~~~~~~~~~~~ CC    libavfilter/boxblur.o CC    libavfilter/buffersink.o CC    libavfilter/buffersrc.o CC    libavfilter/colorspace.o CC    libavfilter/colorspacedsp.o CC    libavfilter/dnn/dnn_backend_native.o CC    libavfilter/dnn/dnn_backend_native_layer_conv2d.o CC    libavfilter/dnn/dnn_backend_native_layer_depth2space.o CC    libavfilter/dnn/dnn_backend_native_layer_mathbinary.o CC    libavfilter/dnn/dnn_backend_native_layer_mathunary.o CC    libavfilter/dnn/dnn_backend_native_layer_maximum.o CC    libavfilter/dnn/dnn_backend_native_layer_pad.o CC    libavfilter/dnn/dnn_backend_native_layers.o CC    libavfilter/dnn/dnn_interface.o CC    libavfilter/drawutils.o CC    libavfilter/ebur128.o CC    libavfilter/f_bench.o CC    libavfilter/f_cue.o CC    libavfilter/f_drawgraph.o CC    libavfilter/f_ebur128.o CC    libavfilter/f_graphmonitor.o CC    libavfilter/f_interleave.o CC    libavfilter/f_loop.o CC    libavfilter/f_metadata.o CC    libavfilter/f_perms.o CC    libavfilter/f_realtime.o CC    libavfilter/f_reverse.o CC    libavfilter/f_select.o CC    libavfilter/f_sendcmd.o CC    libavfilter/f_sidedata.o CC    libavfilter/f_streamselect.o CC    libavfilter/fifo.o make: *** Keine Regel vorhanden, um das Ziel „libavfilter/all_channel_layouts.inc“,   benötigt von „libavfilter/formats.o“, zu erstellen.  Schluss. -Ulf From onemda at gmail.com Wed Jun 17 13:34:17 2020 From: onemda at gmail.com (Paul B Mahol) Date: Wed, 17 Jun 2020 12:34:17 +0200 Subject: [FFmpeg-user] xfade + acrossfade usage - keeping A/V in sync In-Reply-To: References: Message-ID: On 6/17/20, Rob Hallam wrote: > On Tue, 16 Jun 2020 at 23:56, Paul B Mahol wrote: > >>> TR1=764.3 # input 0 duration - 1 second >>> TR2=1250.498 # input 0 + input 1 duration - 1 second > >> I believe this two should be - 2 seconds instead. Because both >> transition durations for two xfade and acrossfade filters is 2 >> seconds. > > Thanks for the reply Paul, I will try that. > > My reading of xfade is that the transition start point should be > half the duration from the end- the example on the wiki is 4.5s > of a 5s input for a 1s transition. I am less sure about acrossfade, > but thought it worked similarly. > > In either case diagram terms I figured they operated like: > > [AA AA AA AA][BB BB BB BB] > ↓ > [AA AA AA AB BA BB BB BB] > > ie neither should change the length of the inputs they operate on. > > Is that a mistaken assumption perhaps? Yes, very mistaken. Duration of output is first input duration + second input duration - duration of transition. For xfade you need to set offset, acrossfade does not need that. From ceffmpeg at gmail.com Wed Jun 17 13:50:45 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Wed, 17 Jun 2020 12:50:45 +0200 Subject: [FFmpeg-user] No rule existing for libavfilter/all_channel_layouts.inc In-Reply-To: <0e3cc7c5-93ce-95bb-9bc3-5e2183ffb94a@CoSoCo.de> References: <0e3cc7c5-93ce-95bb-9bc3-5e2183ffb94a@CoSoCo.de> Message-ID: <3BFD4AE1-B549-4B35-8E2B-D125087F5F1D@gmail.com> > Am 17.06.2020 um 11:54 schrieb Ulf Zibis : > > make: *** Keine Regel vorhanden, um das Ziel „libavfilter/all_channel_layouts.inc“, > benötigt von „libavfilter/formats.o“, zu erstellen. make distclean should include rm libavfilter/formats.d which would fix your issue. Carl Eugen From ffmpeg at roberthallam.com Wed Jun 17 13:51:50 2020 From: ffmpeg at roberthallam.com (Rob Hallam) Date: Wed, 17 Jun 2020 11:51:50 +0100 Subject: [FFmpeg-user] xfade + acrossfade usage - keeping A/V in sync In-Reply-To: References: Message-ID: On Wed, 17 Jun 2020 at 11:34, Paul B Mahol wrote: >> ie neither should change the length of the inputs they operate on. >> >> Is that a mistaken assumption perhaps? > Yes, very mistaken. > Duration of output is first input duration + second input duration - > duration of transition. > For xfade you need to set offset, acrossfade does not need that. D'oh, of course! Mistake on my part, I hadn't had my morning coffee. Thanks for keeping me right. What I meant was that they should both result in equal duration, **if overlap is set in acrossfade**. Is that a safe assumption? >From the docs: > overlap, o > Should first stream end overlap with second stream start. Default is enabled. https://ffmpeg.org/ffmpeg-filters.html#acrossfade Also, from your earlier suggestion: > I believe this two should be - 2 seconds instead. Because both > transition durations for two xfade and acrossfade filters is 2 > seconds. An offset of -2 produced desynched audio in the second segment (input 1 in the original filtergraph). The closest I can get to synch is an offset of -1 for the first input and -2 for the second; but it's still a little off. I'll try to create an example using generated 1Hz chirps and 'showspectrum'. If I can replicate there I will post a bug as you suggested. Cheers, Rob From Ulf.Zibis at CoSoCo.de Wed Jun 17 14:50:25 2020 From: Ulf.Zibis at CoSoCo.de (Ulf Zibis) Date: Wed, 17 Jun 2020 13:50:25 +0200 Subject: [FFmpeg-user] No rule existing for libavfilter/all_channel_layouts.inc In-Reply-To: <3BFD4AE1-B549-4B35-8E2B-D125087F5F1D@gmail.com> References: <0e3cc7c5-93ce-95bb-9bc3-5e2183ffb94a@CoSoCo.de> <3BFD4AE1-B549-4B35-8E2B-D125087F5F1D@gmail.com> Message-ID: Am 17.06.20 um 12:50 schrieb Carl Eugen Hoyos: >> Am 17.06.2020 um 11:54 schrieb Ulf Zibis : >> >> make: *** Keine Regel vorhanden, um das Ziel „libavfilter/all_channel_layouts.inc“, >> benötigt von „libavfilter/formats.o“, zu erstellen. > make distclean should include rm libavfilter/formats.d which would fix your issue. Great, now it builds fine. Would it make sense, that configure would do that job automatically? -Ulf From onemda at gmail.com Wed Jun 17 15:05:53 2020 From: onemda at gmail.com (Paul B Mahol) Date: Wed, 17 Jun 2020 14:05:53 +0200 Subject: [FFmpeg-user] xfade + acrossfade usage - keeping A/V in sync In-Reply-To: References: Message-ID: On 6/17/20, Rob Hallam wrote: > On Wed, 17 Jun 2020 at 11:34, Paul B Mahol wrote: > >>> ie neither should change the length of the inputs they operate on. >>> >>> Is that a mistaken assumption perhaps? > >> Yes, very mistaken. > >> Duration of output is first input duration + second input duration - >> duration of transition. >> For xfade you need to set offset, acrossfade does not need that. > > D'oh, of course! Mistake on my part, I hadn't had my morning coffee. > Thanks for keeping me right. > > What I meant was that they should both result in equal duration, > **if overlap is set in acrossfade**. Is that a safe assumption? > > From the docs: > >> overlap, o >> Should first stream end overlap with second stream start. Default is > enabled. > https://ffmpeg.org/ffmpeg-filters.html#acrossfade > > Also, from your earlier suggestion: > >> I believe this two should be - 2 seconds instead. Because both >> transition durations for two xfade and acrossfade filters is 2 >> seconds. > > An offset of -2 produced desynched audio in the second segment (input > 1 in the original filtergraph). The closest I can get to synch is an offset > of -1 for the first input and -2 for the second; but it's still a little > off. > > I'll try to create an example using generated 1Hz chirps and > 'showspectrum'. If I can replicate there I will post a bug as you > suggested. > First try single xfade and acrossfade combination. For second xfade you will obviously need to substitute 2 seconds from output of first xfade transition. > Cheers, > Rob > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From george at nsup.org Wed Jun 17 15:24:29 2020 From: george at nsup.org (Nicolas George) Date: Wed, 17 Jun 2020 14:24:29 +0200 Subject: [FFmpeg-user] No rule existing for libavfilter/all_channel_layouts.inc In-Reply-To: References: <0e3cc7c5-93ce-95bb-9bc3-5e2183ffb94a@CoSoCo.de> <3BFD4AE1-B549-4B35-8E2B-D125087F5F1D@gmail.com> Message-ID: <20200617122429.uhsvrt5kz34vx7b3@phare.normalesup.org> Ulf Zibis (12020-06-17): > Would it make sense, that configure would do that job automatically? No. The dependencies do not change like that when configure is called, and doing so would waste an enormous amount of time for people who reconfigure and rebuild the same tree. Regards, -- Nicolas George -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From barsnick at gmx.net Wed Jun 17 15:28:43 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Wed, 17 Jun 2020 14:28:43 +0200 Subject: [FFmpeg-user] MPEG2 Profile Options Integer order wrong In-Reply-To: <533FCF4431284E239AB843B534F99A72@Tower> References: <4C4AE0361EDD4FACBD02EE77F1C76A01@Tower> <20200617002428.GA7241@gmail.com> <533FCF4431284E239AB843B534F99A72@Tower> Message-ID: <20200617122843.GA26603@sunshine.barsnick.net> Hi Bill, On Wed, Jun 17, 2020 at 12:28:39 +1000, Bill Crockett wrote: > Before you told me this, I did try the words "high" or "main", but I put in > quotes either single or double and got errors. It would be extremely helpful if you showed us the *actual* command line used, and the (complete, uncut) console output, which is helpful to debug any kind of issues. We can usually point out your issue from this info. "Got errors" is very terse. Cheers, Moritz From kieran.o.leary at gmail.com Wed Jun 17 16:12:54 2020 From: kieran.o.leary at gmail.com (Kieran O Leary) Date: Wed, 17 Jun 2020 14:12:54 +0100 Subject: [FFmpeg-user] AAC wiki out of date? Message-ID: Hi, I was looking to find out some info about AAC encoding in FFmpeg and I went to the wiki https://trac.ffmpeg.org/wiki/Encode/AAC Would I be correct in saying that it's out of date, as the native encoder is now the best quality since 3.0? There's an emphasis on the Fraunhofer encoder in the wiki and how it is the highest quality. Best, Kieran. From kieran.o.leary at gmail.com Wed Jun 17 16:20:13 2020 From: kieran.o.leary at gmail.com (Kieran O Leary) Date: Wed, 17 Jun 2020 14:20:13 +0100 Subject: [FFmpeg-user] Website updates for 4:3 version of FFmpeg Message-ID: Hi, I noticed that there was no news report for 4:3, and also the link to the latest source is still 4.2.3: https://ffmpeg.org/download.html Just thought I'd flag.. K From ceffmpeg at gmail.com Wed Jun 17 17:32:15 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Wed, 17 Jun 2020 16:32:15 +0200 Subject: [FFmpeg-user] Streaming wav sound with FFMPEG In-Reply-To: <3f15523a-6b33-5160-4537-d91e325aa275@nv76.info> References: <3f15523a-6b33-5160-4537-d91e325aa275@nv76.info> Message-ID: <3B4EFE77-857B-4EA7-8CE8-B20AEB1A27E6@gmail.com> > Am 17.06.2020 um 11:37 schrieb Nicolas VAMBAIRGUE : > > - [rtp @ 0x7f7d00008040] Protocol 'rtp' not on whitelist 'file,crypto'! > > And if I finally tried : > > fmpeg -protocol_whitelist file,http,rtp,tcp -i http://199.180.75.118:80 -acodec pcm_s16le -ar 44100 -ac 2 -f rtp -sdp_file /home/dr_click/audio.sdp rtp://127.0.1.1:1234 > > But I get the same "whitelist" error. (Command line including) complete, uncut console output missing. I consider it very unlikely that the same error is shown... Carl Eugen From barsnick at gmx.net Wed Jun 17 17:54:14 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Wed, 17 Jun 2020 16:54:14 +0200 Subject: [FFmpeg-user] Streaming wav sound with FFMPEG In-Reply-To: <3f15523a-6b33-5160-4537-d91e325aa275@nv76.info> References: <3f15523a-6b33-5160-4537-d91e325aa275@nv76.info> Message-ID: <20200617145320.GA26737@sunshine.barsnick.net> Hi Nicolas, On Wed, Jun 17, 2020 at 11:37:00 +0200, Nicolas VAMBAIRGUE wrote: > So I tried the couple : > >     ffmpeg -i http://199.180.75.118:80 -acodec pcm_s16le -ar 44100 -ac > 2 -f rtp -sdp_file /home/dr_click/audio.sdp rtp://127.0.1.1:1234 > > and > >     ffplay /home/dr_click/audio.sdp > > I got the following error : > > - [rtp @ 0x7f7d00008040] Protocol 'rtp' not on whitelist 'file,crypto'! if > > > And if I finally tried : > >     fmpeg -protocol_whitelist file,http,rtp,tcp -i > http://199.180.75.118:80 -acodec pcm_s16le -ar 44100 -ac 2 -f rtp > -sdp_file /home/dr_click/audio.sdp rtp://127.0.1.1:1234 > > But I get the same "whitelist" error. (As Carl Eugen wrote, please also show the complete, uncut console output.) The "Protocol 'rtp' not on whitelist" was an ffplay error, so you need to add those options to the client ffplay command line, not to the server's. (You may also need the protocol "udp".) I can reproduce your error. If I add that option (plus "udp") to ffplay, the error goes away. I get a different issue then, but YMMV. Regards, Moritz From ffmpeg at roberthallam.com Wed Jun 17 18:19:45 2020 From: ffmpeg at roberthallam.com (Rob Hallam) Date: Wed, 17 Jun 2020 16:19:45 +0100 Subject: [FFmpeg-user] xfade + acrossfade usage - keeping A/V in sync In-Reply-To: References: Message-ID: On Wed, 17 Jun 2020 at 13:06, Paul B Mahol wrote: > First try single xfade and acrossfade combination. Great suggestion. I tried that with synthetic inputs of 10 seconds duration [1]. ffmpeg -i test10e.mkv -i test10d.mkv -filter_complex "[0][1]xfade=transition=dissolve:duration=2:offset=9,format=yuv420p[x1];[0][1]acrossfade=d=2:o=1:c1=tri:c2=tri[ax1]" -map "[x1]" -map "[ax1]" -c:v libx264 -crf 18 -c:a aac text10-j2.mkv This produced: Duration: 00:00:19.10, start: 0.000000, bitrate: 1048 kb/s Stream #0:0: Video: h264 (High), yuv420p(progressive), 640x512 [SAR 1:1 DAR 5:4], 25 fps, 25 tbr, 1k tbn, 50 tbc (default) Metadata: ENCODER : Lavc58.90.100 libx264 DURATION : 00:00:19.101000000 Stream #0:1: Audio: aac (LC), 48000 Hz, mono, fltp (default) Metadata: ENCODER : Lavc58.90.100 aac DURATION : 00:00:18.024000000 So with overlap d=2:o=1, it is 18 seconds; 1 second shorter than xfade video. Without the overlap d=2:o=0, it is 20 seconds; 1 second longer than xfade video. Changing duration: d=1:o=0, the duration is still 20 seconds. With overlap, d=1:o=1 the duration is 19 seconds, the same as the video produced by xfade. So it seems that (i) xfade shortens the inputs' combined duration by half the transition duration; (ii) acrossfade does not shorten if there is no overlap (as expected); (iii) acrossfade shortens by the duration of fade if there is overlap. Is this indeed the intended behaviour? Cheers, Rob --- [1]: ffmpeg -i test10e.mkv -i test10d.mkv -filter_complex "[0][1]xfade=transition=dissolve:duration=2:offset=9,format=yuv420p[x1];[0][1]acrossfade=d=2:o=1:c1=tri:c2=tri[ax1]" -map "[x1]" -map "[ax1]" -c:v libx264 -crf 18 -c:a aac text10-j2.mkv ffmpeg version N-53084-gd29aaf12f4-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2020 the FFmpeg developers built with gcc 8 (Debian 8.3.0-6) configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg libavutil 56. 50.100 / 56. 50.100 libavcodec 58. 90.100 / 58. 90.100 libavformat 58. 44.100 / 58. 44.100 libavdevice 58. 9.103 / 58. 9.103 libavfilter 7. 84.100 / 7. 84.100 libswscale 5. 6.101 / 5. 6.101 libswresample 3. 6.100 / 3. 6.100 libpostproc 55. 6.100 / 55. 6.100 Input #0, matroska,webm, from 'test10e.mkv': Metadata: ENCODER : Lavf58.44.100 Duration: 00:00:10.08, start: 0.000000, bitrate: 389 kb/s Stream #0:0: Audio: vorbis, 48000 Hz, mono, fltp (default) Metadata: ENCODER : Lavc58.90.100 libvorbis DURATION : 00:00:10.003000000 Stream #0:1: Video: h264 (High), yuv420p(progressive), 640x512 [SAR 1:1 DAR 5:4], 25 fps, 25 tbr, 1k tbn, 50 tbc (default) Metadata: ENCODER : Lavc58.90.100 libx264 DURATION : 00:00:10.083000000 Input #1, matroska,webm, from 'test10d.mkv': Metadata: ENCODER : Lavf58.44.100 Duration: 00:00:10.08, start: 0.000000, bitrate: 519 kb/s Stream #1:0: Audio: vorbis, 48000 Hz, mono, fltp (default) Metadata: ENCODER : Lavc58.90.100 libvorbis DURATION : 00:00:10.003000000 Stream #1:1: Video: h264 (High), yuv420p(progressive), 640x512 [SAR 1:1 DAR 5:4], 25 fps, 25 tbr, 1k tbn, 50 tbc (default) Metadata: ENCODER : Lavc58.90.100 libx264 DURATION : 00:00:10.083000000 Stream mapping: Stream #0:0 (vorbis) -> acrossfade:crossfade0 Stream #0:1 (h264) -> xfade:main Stream #1:0 (vorbis) -> acrossfade:crossfade1 Stream #1:1 (h264) -> xfade:xfade format -> Stream #0:0 (libx264) acrossfade -> Stream #0:1 (aac) Press [q] to stop, [?] for help [libx264 @ 0x59d2e80] using SAR=1/1 [libx264 @ 0x59d2e80] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @ 0x59d2e80] profile High, level 3.0, 4:2:0, 8-bit [libx264 @ 0x59d2e80] 264 - core 160 r3000 33f9e14 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=16 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=18.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, matroska, to 'text10-j2.mkv': Metadata: encoder : Lavf58.44.100 Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), yuv420p(progressive), 640x512 [SAR 1:1 DAR 5:4], q=-1--1, 25 fps, 1k tbn, 25 tbc (default) Metadata: encoder : Lavc58.90.100 libx264 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A Stream #0:1: Audio: aac (LC) ([255][0][0][0] / 0x00FF), 48000 Hz, mono, fltp, 69 kb/s (default) Metadata: encoder : Lavc58.90.100 aac frame= 477 fps=249 q=-1.0 Lsize= 2444kB time=00:00:18.96 bitrate=1055.9kbits/s speed=9.88x video:2307kB audio:127kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.389616% [libx264 @ 0x59d2e80] frame I:2 Avg QP:10.91 size: 97972 [libx264 @ 0x59d2e80] frame P:132 Avg QP:15.20 size: 11513 [libx264 @ 0x59d2e80] frame B:343 Avg QP:17.09 size: 1884 [libx264 @ 0x59d2e80] consecutive B-frames: 0.4% 6.3% 14.5% 78.8% [libx264 @ 0x59d2e80] mb I I16..4: 48.3% 30.2% 21.5% [libx264 @ 0x59d2e80] mb P I16..4: 3.5% 1.1% 1.8% P16..4: 15.5% 4.3% 4.4% 0.0% 0.0% skip:69.3% [libx264 @ 0x59d2e80] mb B I16..4: 0.3% 0.0% 0.1% B16..8: 11.8% 1.3% 1.3% direct: 2.3% skip:82.9% L0:42.9% L1:54.1% BI: 3.0% [libx264 @ 0x59d2e80] 8x8 transform intra:18.1% inter:18.4% [libx264 @ 0x59d2e80] coded y,uvDC,uvAC intra: 37.5% 66.4% 65.7% inter: 4.5% 9.6% 8.3% [libx264 @ 0x59d2e80] i16 v,h,dc,p: 79% 10% 11% 0% [libx264 @ 0x59d2e80] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 6% 3% 78% 3% 2% 2% 2% 2% 2% [libx264 @ 0x59d2e80] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 28% 11% 40% 4% 3% 4% 3% 4% 3% [libx264 @ 0x59d2e80] i8c dc,h,v,p: 52% 5% 38% 4% [libx264 @ 0x59d2e80] Weighted P-Frames: Y:4.5% UV:4.5% [libx264 @ 0x59d2e80] ref P L0: 78.4% 4.1% 11.1% 6.1% 0.4% [libx264 @ 0x59d2e80] ref B L0: 86.2% 11.4% 2.4% [libx264 @ 0x59d2e80] ref B L1: 97.7% 2.3% [libx264 @ 0x59d2e80] kb/s:990.30 [aac @ 0x59d7440] Qavg: 38918.051 From cpz at tuunq.com Wed Jun 17 18:50:18 2020 From: cpz at tuunq.com (Carl Zwanzig) Date: Wed, 17 Jun 2020 08:50:18 -0700 Subject: [FFmpeg-user] timeout error when reading RTSP/RTP incoming audio stream In-Reply-To: References: Message-ID: > On Tue, Jun 16, 2020 at 9:45 AM Yannick Barbeaux ^^^^^^^^^^ >> (Strange thing though : "Receive your own posts to the list?" is set >> to "Yes" in my subscription settings and I do not receive them). gmail tends to omit posts that you've already seen, and that includes posts you send to a list. This a known behavior- https://wiki.list.org/DOC/I%20use%20Gmail-Googlemail%2C%20but%20I%20can%27t%20tell%20if%20any%20of%20my%20messages%20have%20been%20posted%20to%20the%20list z! From nicolas2020 at nv76.info Wed Jun 17 19:02:38 2020 From: nicolas2020 at nv76.info (Nicolas VAMBAIRGUE) Date: Wed, 17 Jun 2020 18:02:38 +0200 Subject: [FFmpeg-user] Streaming wav sound with FFMPEG In-Reply-To: <3B4EFE77-857B-4EA7-8CE8-B20AEB1A27E6@gmail.com> References: <3f15523a-6b33-5160-4537-d91e325aa275@nv76.info> <3B4EFE77-857B-4EA7-8CE8-B20AEB1A27E6@gmail.com> Message-ID: Le 17/06/2020 à 16:32, Carl Eugen Hoyos a écrit : > >> Am 17.06.2020 um 11:37 schrieb Nicolas VAMBAIRGUE : >> >> - [rtp @ 0x7f7d00008040] Protocol 'rtp' not on whitelist 'file,crypto'! >> >> And if I finally tried : >> >> ffmpeg -protocol_whitelist file,http,rtp,tcp -i http://199.180.75.118:80 -acodec pcm_s16le -ar 44100 -ac 2 -f rtp -sdp_file /home/dr_click/audio.sdp rtp://127.0.1.1:1234 >> >> But I get the same "whitelist" error. > (Command line including) complete, uncut console output missing. > I consider it very unlikely that the same error is shown... > > Carl Eugen > > > > Yes, sorry, let me post you what I got exactly. So, with the above command «server side» : > > ffmpeg -protocol_whitelist file,http,rtp,tcp -i http://199.180.75.118:80 -acodec pcm_s16le -ar 44100 -ac 2 -f rtp -sdp_file /home/dr_click/audio.sdp rtp://127.0.1.1:1234 > > > > I type the following command «client side» to try to read the stream : > > ffplay /home/dr_click/audio.sdp > > > > And then, I get this error : > > [rtp @ 0x7f7778008040] Protocol 'rtp' not on whitelist 'file,crypto'! > /home/dr_click/audio.sdp: Invalid data found when processing input > nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0 > > > Dr_Click From ffmpeg at roberthallam.com Wed Jun 17 19:21:01 2020 From: ffmpeg at roberthallam.com (Rob Hallam) Date: Wed, 17 Jun 2020 17:21:01 +0100 Subject: [FFmpeg-user] xfade + acrossfade usage - keeping A/V in sync In-Reply-To: References: Message-ID: On Wed, 17 Jun 2020 at 16:19, Rob Hallam wrote: > So it seems that (i) xfade shortens the inputs' combined duration > by half the transition duration; (ii) acrossfade does not shorten > if there is no overlap (as expected); (iii) acrossfade shortens > by the duration of fade if there is overlap. Pardon the self-reply, but I applied these observations to my real-world files and they have consistent A/V durations and seem to be in sync. Thanks to Paul for the help. Is it worth documenting this on the wiki, or, not to put too fine a point on it: am I the only one who has been initially confused by this? Cheers, Rob From carlosgambato19 at gmail.com Wed Jun 17 19:20:10 2020 From: carlosgambato19 at gmail.com (carlo sgambato) Date: Wed, 17 Jun 2020 18:20:10 +0200 Subject: [FFmpeg-user] how to protect my stream using ffmpeg with protocol rtsp Message-ID: I generated my stream using ffmpeg with protocol rtsp (i love ffmpeg) i generated a key with openssl with this command sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /home/pi/SSL/httpd-selfsigned.key -out /home/pi/SSL/httpd-selfsigned.crt the software generated two files: a key and a certificate. How can i insert this files in the encoder (ffmpeg)? The stream command is this: ./ffmpeg -re -i prova.mp4 -c:v h264_nvmpi -b:v 4000k -r 30 -ac 1 -ar 44100 -f rtsp -rtsp_transport tcp rtsp://94.177.197.109:443/live/a thank you for your attention From ddhpub at gmail.com Wed Jun 17 20:26:24 2020 From: ddhpub at gmail.com (David) Date: Wed, 17 Jun 2020 13:26:24 -0400 Subject: [FFmpeg-user] Can I convert from .ram to .mp4? Message-ID: I've watched the video and invoked a simple command: ffmpeg -i 317.ram 317.mp4 which the Windows PowerShell said I had to change to .\ffmpeg -i 317.ram 317.mp4 which I did. I have the ffmpeg.exe file in the same folder as the 317.ram, so do you think that should work?  I'll paste here the PowerShell window showing "Permission denied" Any comments or assistance would be appreciated! Regards, Dave From onemda at gmail.com Wed Jun 17 20:30:30 2020 From: onemda at gmail.com (Paul B Mahol) Date: Wed, 17 Jun 2020 19:30:30 +0200 Subject: [FFmpeg-user] xfade + acrossfade usage - keeping A/V in sync In-Reply-To: References: Message-ID: On 6/17/20, Rob Hallam wrote: > On Wed, 17 Jun 2020 at 16:19, Rob Hallam wrote: > >> So it seems that (i) xfade shortens the inputs' combined duration >> by half the transition duration; (ii) acrossfade does not shorten >> if there is no overlap (as expected); (iii) acrossfade shortens >> by the duration of fade if there is overlap. > > Pardon the self-reply, but I applied these observations > to my real-world files and they have consistent A/V > durations and seem to be in sync. Thanks to Paul for > the help. > > Is it worth documenting this on the wiki, or, not to put too > fine a point on it: am I the only one who has been initially > confused by this? Your offset in xfade is 9 seconds, but it should be 8 seconds. Because duration of input is 10 seconds and transition duration is 2 seconds. From h.reindl at thelounge.net Wed Jun 17 20:59:49 2020 From: h.reindl at thelounge.net (Reindl Harald) Date: Wed, 17 Jun 2020 19:59:49 +0200 Subject: [FFmpeg-user] Can I convert from .ram to .mp4? In-Reply-To: References: Message-ID: <5d40760b-9835-bb1b-03b9-9957d0788dda@thelounge.net> Am 17.06.20 um 19:26 schrieb David: > I've watched the video and invoked a simple command: > > ffmpeg -i 317.ram 317.mp4 > which the Windows PowerShell said I had to change to > .\ffmpeg -i 317.ram 317.mp4 > which I did. > > I have the ffmpeg.exe file in the same folder as the 317.ram, so do you > think that should work?  I'll paste here the PowerShell window showing > "Permission denied" you didn't paste anything but "Permission denied" sounds not like an ffmpeg issue at all From jshupert at theppsgroup.com Wed Jun 17 21:54:06 2020 From: jshupert at theppsgroup.com (Jim Shupert) Date: Wed, 17 Jun 2020 14:54:06 -0400 Subject: [FFmpeg-user] Can I convert from .ram to .mp4? In-Reply-To: <5d40760b-9835-bb1b-03b9-9957d0788dda@thelounge.net> References: <5d40760b-9835-bb1b-03b9-9957d0788dda@thelounge.net> Message-ID: <2daba8b5-4be7-3c33-7aa0-7072aab4c986@theppsgroup.com> On 6/17/2020 1:59 PM, Reindl Harald wrote: > > Am 17.06.20 um 19:26 schrieb David: >> I've watched the video and invoked a simple command: >> >> ffmpeg -i 317.ram 317.mp4 >> which the Windows PowerShell said I had to change to >> .\ffmpeg -i 317.ram 317.mp4 >> which I did. >> >> I have the ffmpeg.exe file in the same folder as the 317.ram, so do you >> think that should work?  I'll paste here the PowerShell window showing >> "Permission denied" > you didn't paste anything but "Permission denied" sounds not like an > ffmpeg issue at all > It has been a long time since I interacted with real media ** so -- i could be off base here -- but isn't a file.ram   a url pointing to a real server , a txt file ? ( if so then to "hear" the actual audio has to be served from a server ) is actually binary audio data? can you play it?- hear it? From ceffmpeg at gmail.com Thu Jun 18 00:25:52 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Wed, 17 Jun 2020 23:25:52 +0200 Subject: [FFmpeg-user] Can I convert from .ram to .mp4? In-Reply-To: References: Message-ID: Am Mi., 17. Juni 2020 um 19:26 Uhr schrieb David : > > I've watched the video and invoked a simple command: > > ffmpeg -i 317.ram 317.mp4 > which the Windows PowerShell said I had to change to > .\ffmpeg -i 317.ram 317.mp4 > which I did. > > I have the ffmpeg.exe file in the same folder as the 317.ram, so do you > think that should work? I'll paste here the PowerShell window showing > "Permission denied" Please avoid sending screenshots to this mailing list (it sounds as if you considered that), instead copy the command line you tested and everything that was printed in the PowerShell window and paste the text into an answer to your email. If you don't know what top-posting means, find out what it means and in any case avoid it here. Carl Eugen From barsnick at gmx.net Thu Jun 18 01:54:42 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Thu, 18 Jun 2020 00:54:42 +0200 Subject: [FFmpeg-user] how to protect my stream using ffmpeg with protocol rtsp In-Reply-To: References: Message-ID: <20200617225442.GA29923@sunshine.barsnick.net> On Wed, Jun 17, 2020 at 18:20:10 +0200, carlo sgambato wrote: > How can i insert this files in the encoder (ffmpeg)? > > The stream command is this: > > ./ffmpeg -re -i prova.mp4 -c:v h264_nvmpi -b:v 4000k -r 30 -ac 1 -ar 44100 > -f rtsp -rtsp_transport tcp rtsp://94.177.197.109:443/live/a Firstly, your server needs to run TLS, which it doesn't. (I tried your URL.) And when it does, the protocol will be rtsps://. Once that is running, and ffmpeg happens to need to use client certificates, you should look at the documentation of the "tls" protocol's options. Check for "cafile" and "certfile". > sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout > /home/pi/SSL/httpd-selfsigned.key -out /home/pi/SSL/httpd-selfsigned.crt > > the software generated two files: a key and a certificate. Are you sure you didn't mean to use these for the server? Cheers, Moritz From h.reindl at thelounge.net Thu Jun 18 03:48:36 2020 From: h.reindl at thelounge.net (Reindl Harald) Date: Thu, 18 Jun 2020 02:48:36 +0200 Subject: [FFmpeg-user] Can I convert from .ram to .mp4? In-Reply-To: References: <5d40760b-9835-bb1b-03b9-9957d0788dda@thelounge.net> Message-ID: Am 18.06.20 um 00:45 schrieb David: > Thanks for the response!  I got two more responses, but rather than > clutter up the mailing list, I'll reply to each of you individually. hell NO - that's not how mailing lists are working > PS C:\Program Files\FFmpeg\ffmpeg-20200617-0b3bd00-win64-static\bin> > .\ffmpeg -i 317.ram 317.mp4 > > 317.mp4: Permission denied > > PS C:\Program Files\FFmpeg\ffmpeg-20200617-0b3bd00-win64-static\bin> well, why would one place output files in a bin directory? how is it a ffmpeg issue that you obviosuly are not allowed to create a file there? From h.reindl at thelounge.net Thu Jun 18 04:44:40 2020 From: h.reindl at thelounge.net (Reindl Harald) Date: Thu, 18 Jun 2020 03:44:40 +0200 Subject: [FFmpeg-user] Can I convert from .ram to .mp4? In-Reply-To: References: <5d40760b-9835-bb1b-03b9-9957d0788dda@thelounge.net> Message-ID: STAY ON LIST - DAMNED IF YOU DON'T GET HOW MAILING-LISTS ARE WORKING DON'T USE THEM - IT'S NOT PEROSNAL SUPPORT AND I TILD YOU SO IN MY LAST MAIL Am 18.06.20 um 03:10 schrieb David: > NERDfirst, the guy giving a youtube tutorial on FFmpeg > said that one way to use > FFmpeg was to have the infile and outfile in the same directory as the > FFmpeg.exe. Are you saying he's wrong, then, that one canNOT have those > three files in the same directory? I can also drill a hole in my knee nobody right in his mind is running sofwtare with admin permissions, especially not video encoding software and nobody right in his mind gives his ordinary user write permsisions to binaries if you want to do so adjust the permissions and why you don't have permissions on that folder especially when you are using Windows is your problem and not one of ffmpeg 20 years ago i managed to adjust my path as needed and learn how to deal with permissions on Win2000 weeks after buy my first PC > On 6/17/2020 8:48 PM, Reindl Harald wrote: >> Am 18.06.20 um 00:45 schrieb David: >>> Thanks for the response!  I got two more responses, but rather than >>> clutter up the mailing list, I'll reply to each of you individually. >> hell NO - that's not how mailing lists are working >> >>> PS C:\Program Files\FFmpeg\ffmpeg-20200617-0b3bd00-win64-static\bin> >>> .\ffmpeg -i 317.ram 317.mp4 >>> >>> 317.mp4: Permission denied >>> >>> PS C:\Program Files\FFmpeg\ffmpeg-20200617-0b3bd00-win64-static\bin> >> well, why would one place output files in a bin directory? how is it a >> ffmpeg issue that you obviosuly are not allowed to create a file there? From kumowoon1025 at gmail.com Thu Jun 18 04:56:42 2020 From: kumowoon1025 at gmail.com (Ted Park) Date: Wed, 17 Jun 2020 21:56:42 -0400 Subject: [FFmpeg-user] Can I convert from .ram to .mp4? In-Reply-To: References: <5d40760b-9835-bb1b-03b9-9957d0788dda@thelounge.net> Message-ID: <25987147-6533-451D-8A71-F06C64D9F898@gmail.com> Hi, >> NERDfirst, the guy giving a youtube tutorial on FFmpeg >> said that one way to use >> FFmpeg was to have the infile and outfile in the same directory as the >> FFmpeg.exe. Are you saying he's wrong, then, that one canNOT have those >> three files in the same directory? I don’t know what the guy in the video said, but I think that would only make sense if you had a folder owned by you (regular user, not root or admin or whatever it is in windows) and a static ffmpeg.exe in the folder. If you have it in a folder in your path env var, then most likely you only want executable binaries there, not media files. This is just my personal opinion, but more often than not, people on this list include contributors to the FFmpeg project, (basically authors of the program) and are more knowledgeable and experienced than a random YouTuber you might find. Best regards, Ted Park From nk.krishnakumar at gmail.com Thu Jun 18 10:35:16 2020 From: nk.krishnakumar at gmail.com (KRISHNAKUMAR N K) Date: Thu, 18 Jun 2020 13:05:16 +0530 Subject: [FFmpeg-user] ffmpeg Live Streaming Error : av_interleaved_write_frame(): Broken pipe Message-ID: I am trying to stream video live using ffmpeg, Input is from a UDP Source. Most of the time it works fine, but I could see the following log lines and ffmpeg stop's the conversion/feed push to the rtmp server. Few log lines below for reference. Is this issue related to network on reaching the destination or source or something that i need to change in the ffmpeg command? *https://pastebin.com/WE0d6eN2 * *ffmpeg Command: * *ffmpeg -err_detect aggressive -fflags discardcorrupt -i udp://230.1.1.2:11000?fifo_size=5000000&overrun_nonfatal=1 -analyzeduration 25M -probesize 50M -threads 0 -vsync 1 -filter_complex [i:0x202]yadif,setdar=16/9[1out1];[i:0x202]yadif,setdar=16/9[1out2];[i:0x202]yadif,setdar=16/9[1out3];[i:0x202]yadif,setdar=16/9[1out4] -map [1out1] -map i:0x29e -c:v libx264 -x264-params nal-hrd=cbr -b:v 200k -maxrate 200k -bufsize 300k -r 15 -g 30 -profile:v baseline -level 3.0 -pix_fmt yuv420p -c:a libfdk_aac -b:a 32k -ac 2 -ar 48000 -sc_threshold 0 -s 256x144 -tune film -af aresample=async=1:min_hard_comp=0.100000:first_pts=0 -x264opts opencl -f flv rtmp://ipaddress:1935/rtmp/push/test1-map [1out2] -map i:0x29e -c:v libx264 -x264-params nal-hrd=cbr -b:v 500k -maxrate 500k -bufsize 750k -r 25 -g 50 -profile:v baseline -level 3.0 -pix_fmt yuv420p -c:a libfdk_aac -b:a 64k -ac 2 -ar 48000 -sc_threshold 0 -s 512x288 -tune film -af aresample=async=1:min_hard_comp=0.100000:first_pts=0 -x264opts opencl -f flv rtmp://ipaddress:1935/rtmp/push/test2 -map [1out3] -map i:0x29e -c:v libx264 -x264-params nal-hrd=cbr -b:v 1000k -maxrate 1000k -bufsize 1500k -r 25 -g 50 -profile:v main -level 3.0 -pix_fmt yuv420p -c:a libfdk_aac -b:a 64k -ac 2 -ar 48000 -sc_threshold 0 -s 1024x576 -tune film -af aresample=async=1:min_hard_comp=0.100000:first_pts=0 -x264opts opencl -f flv rtmp://ipaddress:1935/rtmp/push/test3 -map [1out4] -map i:0x29e -c:v libx264 -x264-params nal-hrd=cbr -b:v 1800k -maxrate 1800k -bufsize 2700k -r 25 -g 50 -profile:v main -level 3.1 -pix_fmt yuv420p -c:a libfdk_aac -b:a 64k -ac 2 -ar 48000 -sc_threshold 0 -s 1280x720 -tune film -af aresample=async=1:min_hard_comp=0.100000:first_pts=0 -x264opts opencl -f flv rtmp://ipaddress:1935/rtmp/push/test4* Regards *KrishnaKumar * *N K * From yannick.barbeaux at keemotion.com Thu Jun 18 15:07:53 2020 From: yannick.barbeaux at keemotion.com (Yannick Barbeaux) Date: Thu, 18 Jun 2020 14:07:53 +0200 Subject: [FFmpeg-user] timeout error when reading RTSP/RTP incoming audio stream In-Reply-To: References: Message-ID: On Mon, Jun 15, 2020 at 9:28 AM Yannick Barbeaux < yannick.barbeaux at keemotion.com> wrote: > Hello > I am struggling to read a multicast audio RTP stream controlled by RTSP. > As soon as I launch the ffplay or ffmpeg command, the RTP traffic starts > (tcpdump) on port 5004/UDP (as advertised in the SDP file), so it should > read the stream correctly but I finally get a time-out instead (and empty > out file). The very same RTSP URL can be read without any issue with VLC or > with rtpdump+sox. > > $ ffmpeg -y -rtsp_transport udp_multicast -i "rtsp:// > 192.168.2.148:554/by-name/AES67-stream (on hasseb-AoE-F8-82)" -vn -f > s24le -ar 48000 -c:a pcm_s24be out.raw > ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers > built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1) > configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --disable-debug > --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb > --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb > --enable-libpulse --enable-libfreetype --enable-gnutl > s --enable-libdav1d --enable-libx264 --enable-libx265 --enable-libfdk-aac > --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx > --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr > --enable-libxvid --enable-libvidstab --enable-libtheora --en > able-libwavpack --enable-libopenjpeg --enable-libgsm --enable-nvenc > --enable-libzimg --enable-libaom > libavutil 56. 31.100 / 56. 31.100 > libavcodec 58. 54.100 / 58. 54.100 > libavformat 58. 29.100 / 58. 29.100 > libavdevice 58. 8.100 / 58. 8.100 > libavfilter 7. 57.100 / 7. 57.100 > libswscale 5. 5.100 / 5. 5.100 > libswresample 3. 5.100 / 3. 5.100 > libpostproc 55. 5.100 / 55. 5.100 > Guessed Channel Layout for Input Stream #0.0 : stereo > Input #0, rtsp, from 'rtsp://192.168.2.148:554/by-name/AES67-stream (on > hasseb-AoE-F8-82)': > Metadata: > title : AES67-stream (on hasseb-AoE-F8-82) streamed by > "hasseb" > Duration: N/A, bitrate: 2304 kb/s > Stream #0:0: Audio: pcm_s24be, 48000 Hz, stereo, s32 (24 bit), 2304 > kb/s > Stream mapping: > Stream #0:0 -> #0:0 (pcm_s24be (native) -> pcm_s24be (native)) > Press [q] to stop, [?] for help > rtsp://192.168.2.148:554/by-name/AES67-stream (on hasseb-AoE-F8-82): > Connection timed out > Output #0, s24le, to 'out.raw': > Metadata: > title : AES67-stream (on hasseb-AoE-F8-82) streamed by > "hasseb" > encoder : Lavf58.29.100 > Stream #0:0: Audio: pcm_s24be, 48000 Hz, stereo, s32 (24 bit), 2304 > kb/s > Metadata: > encoder : Lavc58.54.100 pcm_s24be > size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x > video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB > muxing overhead: unknown > Output file is empty, nothing was encoded (check -ss / -t / -frames > parameters if used) > > The SDP file is : > > v=0 > o=- 254522267104 0 IN IP4 192.168.2.148 > s=AES67-stream (on hasseb-AoE-F8-82) streamed by "hasseb" > t=0 0 > a=clock-domain:PTPv2 0 > a=recvonly > m=audio 5004 RTP/AVP 98 > c=IN IP4 239.123.123.123/255 > a=rtpmap:98 L24/48000/2 > a=sync-time:0 > a=framecount:48 > a=source-filter: incl IN IP4 239.123.123.123 192.168.2.148 > a=ts-refclk:ptp=IEEE1588-2008:00-10-4b-ff-fe-2e-f8-82:domain-nmbr=0 > a=mediaclk:direct=0 > a=ptime:1 > > Comparing those files, we see that ffmpeg detects the correct > audio settings (pcm_s24be, 48000 Hz, stereo, s32 (24 bit)) so I cannot > figure out why it can't read the data stream? I have tried to increase the > timeout but that did not help. > > Any help would be appreciated. Thank you. > > Yannick > More info on this: the tcpdump on rtsp traffic is : (successively OPTIONS, DESCRIBE, SETUP, PLAY and TEARDOWN, a somehow standard communication. Yet, most of the time, SETUP and PLAY are missing) : sudo tcpdump -n -i ens4f3 port 554 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on ens4f3, link-type EN10MB (Ethernet), capture size 262144 bytes 13:59:58.356690 IP 10.1.4.1.51262 > 10.1.4.13.554: Flags [S], seq 2723630532, win 65216, options [mss 8152,sackOK,TS val 1086134674 ecr 0,nop,wscale 8], length 0 13:59:58.356889 IP 10.1.4.13.554 > 10.1.4.1.51262: Flags [S.], seq 1012959, ack 2723630533, win 5840, options [mss 1460,nop,wscale 0], length 0 13:59:58.356918 IP 10.1.4.1.51262 > 10.1.4.13.554: Flags [.], ack 1, win 255, length 0 13:59:58.357008 IP 10.1.4.1.51262 > 10.1.4.13.554: Flags [P.], seq 1:125, ack 1, win 255, length 124: RTSP: OPTIONS rtsp:// 10.1.4.13:554/by-name/AES67-stream%20(on%20hasseb-AoE-F8-82) RTSP/1.0 13:59:58.357488 IP 10.1.4.13.554 > 10.1.4.1.51262: Flags [P.], seq 1:70, ack 125, win 5716, length 69: RTSP: RTSP/1.0 200 OK 13:59:58.357509 IP 10.1.4.1.51262 > 10.1.4.13.554: Flags [.], ack 70, win 255, length 0 13:59:58.357700 IP 10.1.4.1.51262 > 10.1.4.13.554: Flags [P.], seq 125:275, ack 70, win 255, length 150: RTSP: DESCRIBE rtsp:// 10.1.4.13:554/by-name/AES67-stream%20(on%20hasseb-AoE-F8-82) RTSP/1.0 13:59:58.359469 IP 10.1.4.13.554 > 10.1.4.1.51262: Flags [P.], seq 70:678, ack 275, win 5566, length 608: RTSP: RTSP/1.0 200 OK 13:59:58.360238 IP 10.1.4.1.51262 > 10.1.4.13.554: Flags [P.], seq 275:428, ack 678, win 253, length 153: RTSP: SETUP rtsp:// 10.1.4.13:554/by-name/AES67-stream (on hasseb-AoE-F8-82)/ RTSP/1.0 13:59:58.361279 IP 10.1.4.13.554 > 10.1.4.1.51262: Flags [P.], seq 678:844, ack 428, win 5413, length 166: RTSP: RTSP/1.0 200 OK 13:59:58.362281 IP 10.1.4.1.51262 > 10.1.4.13.554: Flags [P.], seq 428:588, ack 844, win 253, length 160: RTSP: PLAY rtsp:// 10.1.4.13:554/by-name/AES67-stream (on hasseb-AoE-F8-82)/ RTSP/1.0 13:59:58.362851 IP 10.1.4.13.554 > 10.1.4.1.51262: Flags [P.], seq 844:914, ack 588, win 5253, length 70: RTSP: RTSP/1.0 200 OK 13:59:58.406694 IP 10.1.4.1.51262 > 10.1.4.13.554: Flags [.], ack 914, win 253, length 0 14:00:18.493638 IP 10.1.4.1.51262 > 10.1.4.13.554: Flags [P.], seq 588:733, ack 914, win 253, length 145: RTSP: TEARDOWN rtsp:// 10.1.4.13:554/by-name/AES67-stream (on hasseb-AoE-F8-82)/ RTSP/1.0 14:00:18.493711 IP 10.1.4.1.51262 > 10.1.4.13.554: Flags [F.], seq 733, ack 914, win 253, length 0 14:00:18.494126 IP 10.1.4.13.554 > 10.1.4.1.51262: Flags [P.], seq 914:942, ack 733, win 5108, length 28: RTSP: RTSP/1.0 200 OK 14:00:18.494180 IP 10.1.4.1.51262 > 10.1.4.13.554: Flags [R], seq 2723631265, win 0, length 0 14:00:18.494397 IP 10.1.4.13.554 > 10.1.4.1.51262: Flags [F.], seq 942, ack 734, win 5107, length 0 14:00:18.494414 IP 10.1.4.1.51262 > 10.1.4.13.554: Flags [R], seq 2723631266, win 0, length 0 and the ffmpeg output in debug mode: $ ffmpeg -loglevel debug -y -re -rtsp_transport udp_multicast -i "rtsp:// 10.1.4.13:554/by-name/AES67-stream%20(on%20hasseb-AoE-F8-82)" -vn -f s24le -ar 48000 -ar 2 -b:a 2304000 -c:a pcm_s24be out.raw ffmpeg version n4.1.3 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 7 (Ubuntu 7.3.0-16ubuntu3) configuration: --prefix=/home/vagrant/ffmpeg_latest/build --pkg-config-flags=--static --extra-cflags=' -I/home/vagrant/ffmpeg_latest/build/include' --extra-ldflags=-L/home/vagrant/ffmpeg_latest/build/lib --bindir=/home/vagrant/ffmpeg_latest/build/bin --enable-gpl --enable- libass --enable-libsrt --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-nvenc --enable-libxvid --enable-nonfree --enable-libx264 --enable-static --enable-decklink --enable-pic --disable-shared --enable-openssl libavutil 56. 22.100 / 56. 22.100 libavcodec 58. 35.100 / 58. 35.100 libavformat 58. 20.100 / 58. 20.100 libavdevice 58. 5.100 / 58. 5.100 libavfilter 7. 40.101 / 7. 40.101 libswscale 5. 3.100 / 5. 3.100 libswresample 3. 3.100 / 3. 3.100 libpostproc 55. 3.100 / 55. 3.100 Splitting the commandline. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'. Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'. Reading option '-re' ... matched as option 're' (read input at native frame rate) with argument '1'. Reading option '-rtsp_transport' ... matched as AVOption 'rtsp_transport' with argument 'udp_multicast'. Reading option '-i' ... matched as input url with argument 'rtsp:// 10.1.4.13:554/by-name/AES67-stream%20(on%20hasseb-AoE-F8-82)'. Reading option '-vn' ... matched as option 'vn' (disable video) with argument '1'. Reading option '-f' ... matched as option 'f' (force format) with argument 's24le'. Reading option '-ar' ... matched as option 'ar' (set audio sampling rate (in Hz)) with argument '48000'. Reading option '-ar' ... matched as option 'ar' (set audio sampling rate (in Hz)) with argument '2'. Reading option '-b:a' ... matched as option 'b' (video bitrate (please use -b:v)) with argument '2304000'. Reading option '-c:a' ... matched as option 'c' (codec name) with argument 'pcm_s24be'. Reading option 'out.raw' ... matched as output url. Finished splitting the commandline. Parsing a group of options: global . Applying option loglevel (set logging level) with argument debug. Applying option y (overwrite output files) with argument 1. Successfully parsed a group of options. Parsing a group of options: input url rtsp:// 10.1.4.13:554/by-name/AES67-stream%20(on%20hasseb-AoE-F8-82). Applying option re (read input at native frame rate) with argument 1. Successfully parsed a group of options. Opening an input file: rtsp:// 10.1.4.13:554/by-name/AES67-stream%20(on%20hasseb-AoE-F8-82). [tcp @ 0x558be9740480] No default whitelist set [tcp @ 0x558be9740480] Original list of addresses: [tcp @ 0x558be9740480] Address 10.1.4.13 port 554 [tcp @ 0x558be9740480] Interleaved list of addresses: [tcp @ 0x558be9740480] Address 10.1.4.13 port 554 [tcp @ 0x558be9740480] Starting connection attempt to 10.1.4.13 port 554 [tcp @ 0x558be9740480] Successfully connected to 10.1.4.13 port 554 [rtsp @ 0x558be973e0c0] SDP: v=0 o=- 251189410444 0 IN IP4 10.1.4.13 s=AES67-stream (on hasseb-AoE-F8-82) streamed by "hasseb" t=0 0 a=clock-domain:PTPv2 0 a=recvonly m=audio 5004 RTP/AVP 98 c=IN IP4 239.49.113.243/255 a=rtpmap:98 L24/48000/2 a=sync-time:0 a=framecount:48 a=source-filter: incl IN IP4 239.49.113.243 10.1.4.13 a=ts-refclk:ptp=IEEE1588-2008:00-10-4b-ff-fe-2e-f8-82:domain-nmbr=0 a=mediaclk:direct=0 a=ptime:1 [rtsp @ 0x558be973e0c0] audio codec set to: pcm_s24be [rtsp @ 0x558be973e0c0] audio samplerate set to: 48000 [rtsp @ 0x558be973e0c0] audio channels set to: 2 [rtp @ 0x558be9741e40] No default whitelist set [udp @ 0x558be9742500] No default whitelist set [udp @ 0x558be9742500] end receive buffer size reported is 131072 [udp @ 0x558be9752bc0] No default whitelist set [udp @ 0x558be9752bc0] end receive buffer size reported is 131072 [rtsp @ 0x558be973e0c0] setting jitter buffer size to 500 [rtsp @ 0x558be973e0c0] hello state=0 Failed to parse interval end specification '' Guessed Channel Layout for Input Stream #0.0 : stereo Input #0, rtsp, from 'rtsp:// 10.1.4.13:554/by-name/AES67-stream%20(on%20hasseb-AoE-F8-82)': Metadata: title : AES67-stream (on hasseb-AoE-F8-82) streamed by "hasseb" Duration: N/A, bitrate: 2304 kb/s Stream #0:0, 0, 1/48000: Audio: pcm_s24be, 48000 Hz, stereo, s32 (24 bit), 2304 kb/s Successfully opened the file. Parsing a group of options: output url out.raw. Applying option vn (disable video) with argument 1. Applying option f (force format) with argument s24le. Applying option ar (set audio sampling rate (in Hz)) with argument 48000. Applying option ar (set audio sampling rate (in Hz)) with argument 2. Applying option b:a (video bitrate (please use -b:v)) with argument 2304000. Applying option c:a (codec name) with argument pcm_s24be. Successfully parsed a group of options. Opening an output file: out.raw. [file @ 0x558be977b400] Setting default whitelist 'file,crypto' Successfully opened the file. Stream mapping: Stream #0:0 -> #0:0 (pcm_s24be (native) -> pcm_s24be (native)) Press [q] to stop, [?] for help cur_dts is invalid (this is harmless if it occurs once at the start per stream) rtsp://10.1.4.13:554/by-name/AES67-stream%20(on%20hasseb-AoE-F8-82): Connection timed out cur_dts is invalid (this is harmless if it occurs once at the start per stream) detected 24 logical cores [graph_0_in_0_0 @ 0x558be977fe40] Setting 'time_base' to value '1/48000' [graph_0_in_0_0 @ 0x558be977fe40] Setting 'sample_rate' to value '48000' [graph_0_in_0_0 @ 0x558be977fe40] Setting 'sample_fmt' to value 's32' [graph_0_in_0_0 @ 0x558be977fe40] Setting 'channel_layout' to value '0x3' [graph_0_in_0_0 @ 0x558be977fe40] tb:1/48000 samplefmt:s32 samplerate:48000 chlayout:0x3 [format_out_0_0 @ 0x558be97802c0] Setting 'sample_fmts' to value 's32' [format_out_0_0 @ 0x558be97802c0] Setting 'sample_rates' to value '2' [auto_resampler_0 @ 0x558be9782a80] Setting 'output_sample_bits' to value '24' [format_out_0_0 @ 0x558be97802c0] auto-inserting filter 'auto_resampler_0' between the filter 'Parsed_anull_0' and the filter 'format_out_0_0' [AVFilterGraph @ 0x558be977cf00] query_formats: 4 queried, 6 merged, 3 already done, 0 delayed [auto_resampler_0 @ 0x558be9782a80] [SWR @ 0x558be9782d80] Using fltp internally between filters [auto_resampler_0 @ 0x558be9782a80] ch:2 chl:stereo fmt:s32 r:48000Hz -> ch:2 chl:stereo fmt:s32 r:2Hz The bitrate parameter is set too low. It takes bits/s as argument, not kbits/s Output #0, s24le, to 'out.raw': Metadata: title : AES67-stream (on hasseb-AoE-F8-82) streamed by "hasseb" encoder : Lavf58.20.100 Stream #0:0, 0, 1/2: Audio: pcm_s24be, 2 Hz, stereo, s32 (24 bit), 0 kb/s Metadata: encoder : Lavc58.35.100 pcm_s24be [out_0_0 @ 0x558be9780c80] EOF on sink link out_0_0:default. No more output streams to write to, finishing.peed= 0x size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown Input file #0 (rtsp:// 10.1.4.13:554/by-name/AES67-stream%20(on%20hasseb-AoE-F8-82)): Input stream #0:0 (audio): 0 packets read (0 bytes); 0 frames decoded (0 samples); Total: 0 packets (0 bytes) demuxed Output file #0 (out.raw): Output stream #0:0 (audio): 0 frames encoded (0 samples); 0 packets muxed (0 bytes); Total: 0 packets (0 bytes) muxed Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used) 0 frames successfully decoded, 0 decoding errors [AVIOContext @ 0x558be977b740] Statistics: 0 seeks, 0 writeouts Thanks Yannick From afs1983 at gmail.com Fri Jun 19 05:35:08 2020 From: afs1983 at gmail.com (Anthony Smith) Date: Fri, 19 Jun 2020 12:35:08 +1000 Subject: [FFmpeg-user] GOP Structure - XDCAM RDD9 Message-ID: Hello everyone, I am having an issue creating an RDD9 compliant MXF using FFMPEG within FFASTrans. I am transcoding from a QT ProRes 422 HQ MOV to XDCAM MXF then re-wrapping using BMX Trans Wrap to ensure RDD9 compliance. The base issue is the GOP structure and the last frame of each GOP. Clients Baton File QC is looking for a B frame, whereas FFMPEG outputs a P frame. The expected file specs after transcode are: PAL 1920x1080 50i XDCAM 422 50mbps long-gop, closed gop. M=3, N=12 2x AES PCM audio streams, 1 channel in each. My command is as follows: c:\FFAStrans1.0.0\FFAStrans1.0.0\Processors\ffmpeg\x64>ffmpeg.exe -i "z:\100_incoming_media\OM_TEST.mov" -profile:v 0 -level:v 2 -map 0:1 -r 25 -pix_fmt yuv422p -aspect 16:9 -intra_vlc 1 -b:v 50000000 -minrate 50000000 -maxrate 50000000 -bufsize 17825792 -rc_init_occupancy 17825792 -sc_threshold 1000000000 -non_linear_quant 1 -color_primaries bt709 -color_trc bt709 -colorspace bt709 -seq_disp_ext 1 -video_format component -color_range 1 -chroma_sample_location topleft -signal_standard 4 -dc 8 -qmin 3 -qmax 28 -mpv_flags +strict_gop -strict 1 -g 12 -bf 2 -field_order tt -top 1 -flags +cgop+ildct+ilme -alternate_scan 1 -map 0:2 -map 0:3 "z:\10000_temp\MXFTEST\OM_Test_Out.mxf" Everything is fine, except for the GOP structure. Running FFProbe, the GOP structure is IBB PBB PBB PB*P* I submit this to clients Baton File QC and they fail it, as the expected GOP is: IBB PBB PBB PB*B* If I remove the +cgop flag from the command I do get the desired IBB PBB PBB PBB But as expected, the GOP isn't closed and fails file QC. What else is interesting, doing the exact same transcode with the same parameters within Telestreams Vantage transcoding system, I get a GOP structure that looks like this at the very beginning "BB IBB PBB PBB PBB". It opens with two B frames at the beginning of the file and then subsequently follows the correct closed GOP pattern throughout. I'm thinking; I am either doing something wrong with the FFMPEG Command, or just missing something. Or the output file from FFMPEG and its GOP structure is correct and Baton File QC parameters are being too strict. Or there is a very slim chance that there is a bug with FFMPEG creating XDCAM Closed Gop MXF files. At the end of the day, it's down to the difference between a "B" frame and "P" frame at the end of a Closed GOP output from FFMPEG. I understand that Closed GOPs are separate and don't cross reference each other, and makes sense why there would be a P frame at the end of the closed GOP and not a B frame... Just annoying that the clients Baton file QC says this can't be so... a literal "computer says no" moment. Anyways, hope this made sense. Happy to clarify further. Regards, Anthony. From wsc4 at optusnet.com.au Fri Jun 19 10:43:21 2020 From: wsc4 at optusnet.com.au (Bill Crockett) Date: Fri, 19 Jun 2020 17:43:21 +1000 Subject: [FFmpeg-user] MPEG2 Profile Options Integer order wrong Message-ID: On Wed Jun 17 15:28:43 EEST 2020 Moritz Barsnick wrote: > Hi Bill, > On Wed, Jun 17, 2020 at 12:28:39 +1000, Bill Crockett wrote: >> Before you told me this, I did try the words "high" or "main", but I put >> in >> quotes either single or double and got errors. > It would be extremely helpful if you showed us the *actual* command > line used, and the (complete, uncut) console output, which is helpful > to debug any kind of issues. We can usually point out your issue from > this info. "Got errors" is very terse. > Cheers, > Moritz Hi Moritz, Sorry it sounded terse. There was no need for me to add the command line or console output. I took the documentation here literally: https://ffmpeg.org/ffmpeg-all.html#Options-33 profile integer Select the mpeg2 profile to encode: ‘422’ ‘main’ ‘ss’ Spatially Scalable ‘snr’ SNR Scalable ‘high’ ‘simple’ The Profile options have quotes around them. Probably to high-light them in the document. As Limin stated, you don't put in quotes. It was also confusing because it asks for an integer, but should be string. Thanks, Bill From gounthar at gmail.com Fri Jun 19 13:05:44 2020 From: gounthar at gmail.com (Verachten Bruno) Date: Fri, 19 Jun 2020 12:05:44 +0200 Subject: [FFmpeg-user] How to terminate cleanly a recording on Windows Message-ID: Hi there, I'm trying to record lots of small wav files to give to PocketSphinx for adaptation. My command looks like this: ffmpeg.exe -f dshow -i audio="Microphone sur casque (2- Plant" -acodec pcm_s16le -ac 1 -ar 16000 1.wav I haven't tried this particular command under Linux, but usually hitting "q" ends the recording properly. On Windows, "q" seems to do nothing, and CTRL+C ends the process, but not at the right time. Most of the time, I miss the end of the recording. My recordings are just a few seconds long. Would there be any clever way to end properly the recording on Windows? ffmpeg version git-2020-06-08-d29aaf1 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9.3.1 (GCC) 20200523 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf libavutil 56. 50.100 / 56. 50.100 libavcodec 58. 90.100 / 58. 90.100 libavformat 58. 44.100 / 58. 44.100 libavdevice 58. 9.103 / 58. 9.103 libavfilter 7. 84.100 / 7. 84.100 libswscale 5. 6.101 / 5. 6.101 libswresample 3. 6.100 / 3. 6.100 libpostproc 55. 6.100 / 55. 6.100 Guessed Channel Layout for Input Stream #0.0 : stereo Input #0, dshow, from 'audio=Microphone sur casque (2- Plant': Duration: N/A, start: 99694.804000, bitrate: 1411 kb/s Stream #0:0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s File '1.wav' already exists. Overwrite? [y/N] Y Stream mapping: Stream #0:0 -> #0:0 (pcm_s16le (native) -> pcm_s16le (native)) Press [q] to stop, [?] for help Output #0, wav, to '1.wav': Metadata: ISFT : Lavf58.44.100 Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 16000 Hz, mono, s16, 256 kb/s Metadata: encoder : Lavc58.90.100 pcm_s16le size= 512kB time=00:00:16.49 bitrate= 254.3kbits/s speed= 1.1x Thanks. -- Bruno Verachten From rodney.baker at iinet.net.au Fri Jun 19 15:48:12 2020 From: rodney.baker at iinet.net.au (Rodney Baker) Date: Fri, 19 Jun 2020 22:18:12 +0930 Subject: [FFmpeg-user] Can I convert from .ram to .mp4? In-Reply-To: References: Message-ID: <4238420.LvFx2qVVIh@mako.vk5ztv.ampr.org> On Thursday, 18 June 2020 2:56:24 ACST David wrote: > I've watched the video and invoked a simple command: > > ffmpeg -i 317.ram 317.mp4 > which the Windows PowerShell said I had to change to > .\ffmpeg -i 317.ram 317.mp4 > which I did. > > I have the ffmpeg.exe file in the same folder as the 317.ram, so do you > think that should work? I'll paste here the PowerShell window showing > "Permission denied" > > > > Any comments or assistance would be appreciated! > > Regards, > Dave Dave, As others have suggested, you've not really provided enough information to properly diagnose this, but I'm also pretty sure this is a Windows problem, and one that I've seen recently with other video editing software. Are you using a recent build of Windows 10? If so, you're possibly running into an issue with Windows "Protected Folders", where "suspicious" applications (i.e. basically ones not written or signed by Microsoft) are denied write permissions to folders containing user data. This is presumably to guard against ransomware encrypting users' files. Search for Protected Folders in Settings - you should be able to find recently blocked programs and add ffmpeg to the list of permitted applications. I only know this because my son recently had this same issue with video editing software on his laptop. Next time you need to ask for help, though, please follow the pointers given by others and include the command line you're using along with full, uncut console output from ffmpeg (copied as text, not a screenshot). -- ============================================================== Rodney Baker VK5ZTV rodney.baker at iinet.net.au CCNA #CSCO12880208 ============================================================== From ddhpub at gmail.com Fri Jun 19 18:18:45 2020 From: ddhpub at gmail.com (David) Date: Fri, 19 Jun 2020 11:18:45 -0400 Subject: [FFmpeg-user] Can I convert from .ram to .mp4? In-Reply-To: <4238420.LvFx2qVVIh@mako.vk5ztv.ampr.org> References: <4238420.LvFx2qVVIh@mako.vk5ztv.ampr.org> Message-ID: Thanks for the courtesy of replying, Rodney! Turns out I'd not noticed that I was still in the bin directory when I invoked first invoked ffmpeg.exe.  When I copied the executable into the folder where only the 317.ram was, ffmpeg worked as it ought to. I'd not known about the user forum's proscription against pasting screenshots, so that won't happen again. I think I did, in a later post, paste the TEXT from the PowerShell window into a message to the user forum. Again, thanks for your kindness in replying! Regards, Dave On 6/19/2020 8:48 AM, Rodney Baker wrote: > On Thursday, 18 June 2020 2:56:24 ACST David wrote: >> I've watched the video and invoked a simple command: >> >> ffmpeg -i 317.ram 317.mp4 >> which the Windows PowerShell said I had to change to >> .\ffmpeg -i 317.ram 317.mp4 >> which I did. >> >> I have the ffmpeg.exe file in the same folder as the 317.ram, so do you >> think that should work? I'll paste here the PowerShell window showing >> "Permission denied" >> >> >> >> Any comments or assistance would be appreciated! >> >> Regards, >> Dave > Dave, > > As others have suggested, you've not really provided enough information to > properly diagnose this, but I'm also pretty sure this is a Windows problem, > and one that I've seen recently with other video editing software. > > Are you using a recent build of Windows 10? If so, you're possibly running > into an issue with Windows "Protected Folders", where "suspicious" > applications (i.e. basically ones not written or signed by Microsoft) are > denied write permissions to folders containing user data. This is presumably > to guard against ransomware encrypting users' files. > > Search for Protected Folders in Settings - you should be able to find recently > blocked programs and add ffmpeg to the list of permitted applications. I only > know this because my son recently had this same issue with video editing > software on his laptop. > > Next time you need to ask for help, though, please follow the pointers given > by others and include the command line you're using along with full, uncut > console output from ffmpeg (copied as text, not a screenshot). > From ceffmpeg at gmail.com Fri Jun 19 19:50:55 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Fri, 19 Jun 2020 18:50:55 +0200 Subject: [FFmpeg-user] MPEG2 Profile Options Integer order wrong In-Reply-To: <4C4AE0361EDD4FACBD02EE77F1C76A01@Tower> References: <4C4AE0361EDD4FACBD02EE77F1C76A01@Tower> Message-ID: Am Mi., 17. Juni 2020 um 01:32 Uhr schrieb Bill Crockett : > > https://ffmpeg.org/ffmpeg-all.html#mpeg2 > > Who maintains the documentation on the above and how can I contact to ask if it is wrong or correct? > > 16.15 mpeg2 > > MPEG-2 video encoder. > > 16.15.1 Options > > profile integer > > Select the mpeg2 profile to encode: > > ‘422’ > ‘main’ > ‘ss’ > > Spatially Scalable > ‘snr’ > > SNR Scalable > ‘high’ > ‘simple’ > > There are no numbers listed, but my guess is the order as is written and would be "main" = 1 and "high" = 4 > > This is wrong and "high should be 1 and "main" should be 4. Indeed. I will wait a few more days and fix it then unless somebody beats me. Carl Eugen From cus at passwd.hu Fri Jun 19 21:03:00 2020 From: cus at passwd.hu (Marton Balint) Date: Fri, 19 Jun 2020 20:03:00 +0200 (CEST) Subject: [FFmpeg-user] MPEG2 Profile Options Integer order wrong In-Reply-To: References: <4C4AE0361EDD4FACBD02EE77F1C76A01@Tower> Message-ID: On Fri, 19 Jun 2020, Carl Eugen Hoyos wrote: > Am Mi., 17. Juni 2020 um 01:32 Uhr schrieb Bill Crockett : >> >> https://ffmpeg.org/ffmpeg-all.html#mpeg2 >> >> Who maintains the documentation on the above and how can I contact to ask if it is wrong or correct? >> >> 16.15 mpeg2 >> >> MPEG-2 video encoder. >> >> 16.15.1 Options >> >> profile integer >> >> Select the mpeg2 profile to encode: >> >> ‘422’ >> ‘main’ >> ‘ss’ >> >> Spatially Scalable >> ‘snr’ >> >> SNR Scalable >> ‘high’ >> ‘simple’ >> >> There are no numbers listed, but my guess is the order as is written and would be "main" = 1 and "high" = 4 >> >> This is wrong and "high should be 1 and "main" should be 4. > > Indeed. > > I will wait a few more days and fix it then unless somebody beats me. You can fix it if you want, but I don't know why anybody assumes that the order of the options and their integer mapping actually matches? Nothing says it does, and I bet there are other options where it does not. I think what confused the user here is that the option is mentioned as an "integer" option when in fact it is a string option from user point of view. Maybe we shuld simply remove the part, so the user can use the string equivavalent as generally advised. Regards, Marton From stoozor at gmail.com Fri Jun 19 22:16:22 2020 From: stoozor at gmail.com (Stephanye Carrier) Date: Fri, 19 Jun 2020 15:16:22 -0400 Subject: [FFmpeg-user] Concatenating audio files results in a file of the wrong length Message-ID: <15d90d99-4739-80eb-678c-7488dc6a0399@gmail.com> I have a project that requires me to demux audio from video files, cut the audio up in parts, then concatenate the parts back together and remux the audio and video together. However, I am running into an issue where the resulting audio file is the wrong length which results in a desync. ffmpeg -hide_banner -i video.mp4 -vn -acodec copy audio.m4a ffmpeg -hide_banner -ss xx:xx:xx -i audio.m4a -to xx:xx:xx -c copy PartX.m4a ffmpeg -hide_banner -f concat -safe 0 -i concat.txt -c copy newaudio.m4a FFprobe of the original file : Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'audio.m4a':   Metadata:     major_brand     : M4A     minor_version   : 512     compatible_brands: M4A isomiso2     encoder         : Lavf58.39.101   Duration: 04:29:16.43, start: 0.003000, bitrate: 164 kb/s     Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 160 kb/s (default)     Metadata:       handler_name    : SoundHandler FFprobe of the concatenated file : Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'newaudio.m4a':   Metadata:     major_brand     : M4A     minor_version   : 512     compatible_brands: M4A isomiso2     encoder         : Lavf58.39.101   Duration: 04:32:04.47, start: 0.000000, bitrate: 164 kb/s     Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 160 kb/s (default)     Metadata:       handler_name    : SoundHandler FFProbe of one of the audio parts : Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Part0.m4a':   Metadata:     major_brand     : M4A     minor_version   : 512     compatible_brands: M4A isomiso2     encoder         : Lavf58.39.101   Duration: 00:02:48.02, start: 0.000000, bitrate: 165 kb/s     Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 160 kb/s (default)     Metadata:       handler_name    : SoundHandler I do not know if it's relevant, but the original video file is made of .ts chunks concatenated together then remuxed to an mp4. How can I fix the length issue? Thank you. From ceffmpeg at gmail.com Fri Jun 19 22:38:47 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Fri, 19 Jun 2020 21:38:47 +0200 Subject: [FFmpeg-user] Concatenating audio files results in a file of the wrong length In-Reply-To: <15d90d99-4739-80eb-678c-7488dc6a0399@gmail.com> References: <15d90d99-4739-80eb-678c-7488dc6a0399@gmail.com> Message-ID: Am Fr., 19. Juni 2020 um 21:25 Uhr schrieb Stephanye Carrier : > > I have a project that requires me to demux audio from video files, cut > the audio up in parts, then concatenate the parts back together and > remux the audio and video together. This is often not possible because of how audio and video are interleaved in files. > However, I am running into an issue where the resulting audio file is > the wrong length which results in a desync. > > ffmpeg -hide_banner -i video.mp4 -vn -acodec copy audio.m4a > ffmpeg -hide_banner -ss xx:xx:xx -i audio.m4a -to xx:xx:xx -c copy PartX.m4a > ffmpeg -hide_banner -f concat -safe 0 -i concat.txt -c copy newaudio.m4a Please remove -hide_banner if you want to support on this mailing list and provide the command lines you tested together with the complete, uncut console output. Filters exist that allow you to cut and re-encode in one operation, this will avoid the resync. And if above input file is not the original, use originals instead. Carl Eugen From cus at passwd.hu Fri Jun 19 23:30:57 2020 From: cus at passwd.hu (Marton Balint) Date: Fri, 19 Jun 2020 22:30:57 +0200 (CEST) Subject: [FFmpeg-user] GOP Structure - XDCAM RDD9 In-Reply-To: References: Message-ID: On Fri, 19 Jun 2020, Anthony Smith wrote: > Hello everyone, > > I am having an issue creating an RDD9 compliant MXF using FFMPEG within > FFASTrans. > I am transcoding from a QT ProRes 422 HQ MOV to XDCAM MXF then re-wrapping > using BMX Trans Wrap to ensure RDD9 compliance. > > The base issue is the GOP structure and the last frame of each GOP. > Clients Baton File QC is looking for a B frame, whereas FFMPEG outputs a P > frame. > > The expected file specs after transcode are: > > PAL 1920x1080 50i XDCAM 422 50mbps long-gop, closed gop. M=3, N=12 > 2x AES PCM audio streams, 1 channel in each. > > My command is as follows: > > c:\FFAStrans1.0.0\FFAStrans1.0.0\Processors\ffmpeg\x64>ffmpeg.exe -i > "z:\100_incoming_media\OM_TEST.mov" -profile:v 0 -level:v 2 -map 0:1 -r 25 > -pix_fmt yuv422p -aspect 16:9 -intra_vlc 1 -b:v 50000000 -minrate 50000000 > -maxrate 50000000 -bufsize 17825792 -rc_init_occupancy 17825792 > -sc_threshold 1000000000 -non_linear_quant 1 -color_primaries bt709 > -color_trc bt709 -colorspace bt709 -seq_disp_ext 1 -video_format component > -color_range 1 -chroma_sample_location topleft -signal_standard 4 -dc 8 > -qmin 3 -qmax 28 -mpv_flags +strict_gop -strict 1 -g 12 -bf 2 -field_order > tt -top 1 -flags +cgop+ildct+ilme -alternate_scan 1 -map 0:2 -map 0:3 > "z:\10000_temp\MXFTEST\OM_Test_Out.mxf" > > Everything is fine, except for the GOP structure. > Running FFProbe, the GOP structure is IBB PBB PBB PB*P* > I submit this to clients Baton File QC and they fail it, as the expected > GOP is: IBB PBB PBB PB*B* > > If I remove the +cgop flag from the command I do get the desired IBB PBB > PBB PBB > But as expected, the GOP isn't closed and fails file QC. > > What else is interesting, doing the exact same transcode with the same > parameters within Telestreams Vantage transcoding system, I get a GOP > structure that looks like this at the very beginning "BB IBB PBB PBB PBB". > It opens with two B frames at the beginning of the file and then > subsequently follows the correct closed GOP pattern throughout. > > I'm thinking; I am either doing something wrong with the FFMPEG Command, or > just missing something. Or the output file from FFMPEG and its GOP > structure is correct and Baton File QC parameters are being too strict. Or > there is a very slim chance that there is a bug with FFMPEG creating XDCAM > Closed Gop MXF files. AFAIK there is no bug, but ffmpeg only supports generating the first frame as an I-frame, because it makes little sense to start with a half-assed B frame which uses backward prediction only. > > At the end of the day, it's down to the difference between a "B" frame and > "P" frame at the end of a Closed GOP output from FFMPEG. > > I understand that Closed GOPs are separate and don't cross reference each > other, and makes sense why there would be a P frame at the end of the > closed GOP and not a B frame... Exactly. It is more correct to designate the last frame in the GOP as P-frame because it cannot use backward prediction because of the closed GOP requirement. > Just annoying that the clients Baton file QC says this can't be so... a > literal "computer says no" moment. Yes. There is no support to generate "fake" B-frames which are in fact P-frames. I guess this can be implemented realtively easily although, but it would be less "correct" than what we have now, so an extra flag will be needed for it. Regards, Marton From lance.lmwang at gmail.com Sat Jun 20 01:51:43 2020 From: lance.lmwang at gmail.com (lance.lmwang at gmail.com) Date: Sat, 20 Jun 2020 06:51:43 +0800 Subject: [FFmpeg-user] MPEG2 Profile Options Integer order wrong In-Reply-To: References: <4C4AE0361EDD4FACBD02EE77F1C76A01@Tower> Message-ID: <20200619225143.GA30709@gmail.com> On Fri, Jun 19, 2020 at 08:03:00PM +0200, Marton Balint wrote: > > > On Fri, 19 Jun 2020, Carl Eugen Hoyos wrote: > > > Am Mi., 17. Juni 2020 um 01:32 Uhr schrieb Bill Crockett : > > > > > > https://ffmpeg.org/ffmpeg-all.html#mpeg2 > > > > > > Who maintains the documentation on the above and how can I contact to ask if it is wrong or correct? > > > > > > 16.15 mpeg2 > > > > > > MPEG-2 video encoder. > > > > > > 16.15.1 Options > > > > > > profile integer > > > > > > Select the mpeg2 profile to encode: > > > > > > ‘422’ > > > ‘main’ > > > ‘ss’ > > > > > > Spatially Scalable > > > ‘snr’ > > > > > > SNR Scalable > > > ‘high’ > > > ‘simple’ > > > > > > There are no numbers listed, but my guess is the order as is written and would be "main" = 1 and "high" = 4 > > > > > > This is wrong and "high should be 1 and "main" should be 4. > > > > Indeed. > > > > I will wait a few more days and fix it then unless somebody beats me. > > You can fix it if you want, but I don't know why anybody assumes that the > order of the options and their integer mapping actually matches? Nothing > says it does, and I bet there are other options where it does not. I think > what confused the user here is that the option is mentioned as an "integer" > option when in fact it is a string option from user point of view. Maybe we > shuld simply remove the part, so the user can use the string > equivavalent as generally advised. I'll submit a patch to fix the order. Also the ffpeg -h full can't get the profile option anyore or it'll show the value for every const string. > > Regards, > Marton > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". -- Thanks, Limin Wang From TPCffmpeg at mklab.ph.rhul.ac.uk Sat Jun 20 05:14:25 2020 From: TPCffmpeg at mklab.ph.rhul.ac.uk (Tom Crane) Date: Sat, 20 Jun 2020 03:14:25 +0100 (BST) Subject: [FFmpeg-user] Extracting stills frames from a DVB-T MPEG transport stream with subtitles Message-ID: Dear All, I am attempting to extract still frames from a video stream in a multi-channel DVB-T MPEG transport stream, for example every 2 seconds, with selected accompanying subtitles but can't get it to work. This example command successfully extracts frames from video stream 0:26 to jpeg files. ffmpeg -i dvb.ts -map 0:26 -qscale:v 1 -r 0.5 stills%04d.jpg This one successfully copies the same file's video stream 0:26 along with subtitle stream 0:30 to a video file in a Matroska container. ffmpeg -i dvb.ts -map 0:26 -c:v copy -map 0:30 -c:s copy tmp.mkv Is there a way to combine the two to capture still frames from the video stream to JPEG files including the accompanying subtitles? The relevant part of the dvb.ts file's contents from ffprobe are, Input #0, mpegts, from 'dvb.ts': Duration: 00:02:00.18, start: 52229.147411, bitrate: 24040 kb/s Program 1542 Metadata: service_name : TMC service_provider: SMR6 Stream #0:26[0x26c]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:27[0x276](fra): Audio: eac3 ([6][0][0][0] / 0x0006), 48000 Hz, stereo, fltp, 128 kb/s Stream #0:28[0x277](qaa): Audio: eac3 ([6][0][0][0] / 0x0006), 48000 Hz, stereo, fltp, 128 kb/s Stream #0:29[0x278](fra): Audio: eac3 ([6][0][0][0] / 0x0006), 48000 Hz, stereo, fltp, 96 kb/s (visual impaired) (descriptions) Stream #0:30[0x28a](fra): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) (hearing impaired) Stream #0:31[0x28b](fra): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) Stream #0:7[0xaa]: Unknown: none ([5][0][0][0] / 0x0005) $ ffmpeg -version ffmpeg version N-96647-g343ccfcc4d Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9.2.0 (GCC) configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --docdir=/usr/doc/ffmpeg-git-20200206/html --mandir=/usr/man --disable-debug --enable-shared --disable-static --enable-gpl --enable-version3 --enable-avresample --arch=x86_64 --disable-encoder=aac --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-gnutls --enable-libbluray --enable-libcaca --enable-libcdio --enable-libopus --enable-librtmp --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libmp3lame --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libpulse --enable-libsmbclient --enable-libwavpack libavutil 56. 39.100 / 56. 39.100 libavcodec 58. 68.100 / 58. 68.100 libavformat 58. 38.100 / 58. 38.100 libavdevice 58. 9.103 / 58. 9.103 libavfilter 7. 74.100 / 7. 74.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 6.100 / 5. 6.100 libswresample 3. 6.100 / 3. 6.100 libpostproc 55. 6.100 / 55. 6.100 Thanks Tom Crane From heiyutian at qq.com Sat Jun 20 12:04:10 2020 From: heiyutian at qq.com (=?gb18030?B?utrT6szs?=) Date: Sat, 20 Jun 2020 17:04:10 +0800 Subject: [FFmpeg-user] 20200617-win64-static-Converted video clips into key frames are blurry Message-ID: win10 ffmpeg-20200617-0b3bd00-win64-static.zip CPU i5-9400  GPU  NVIDIA GTX 1660s ffmpeg -i ss11.mp4 -strict -2 -qscale 0 -intra -c:v h264_nvenc ss111.mp4 I converted the mp4 video clips into key frames, using the above hardware and commands, the video became very blurred after the conversion. The video bit rate is very high and should not be the case. I often clip video into many clips. Direct merging will cause video length and video picture to be bothered by key frame problem, so I will convert video into key frame. In the past, on the old computer, I could convert the video into key frame through the above command and then merge. Now the new computer doesn't know why it will be very fuzzy after conversion. YouTube Update video https://youtu.be/feXEOfcTkVA or Play address   feXEOfcTkVA From matteo at contrini.it Sat Jun 20 12:27:39 2020 From: matteo at contrini.it (Matteo Contrini) Date: Sat, 20 Jun 2020 11:27:39 +0200 Subject: [FFmpeg-user] How to terminate cleanly a recording on Windows In-Reply-To: References: Message-ID: On Fri, 19 Jun 2020, at 12:05 PM, Verachten Bruno wrote: > I haven't tried this particular command under Linux, but usually hitting > "q" ends the recording properly. > On Windows, "q" seems to do nothing, and CTRL+C ends the process, but not > at the right time. Most of the time, I miss the end of the recording. My > recordings are just a few seconds long. I've just tried your command on Windows 10 version 2004 with Windows Terminal 1.0.1401.0 and I have no problems. Pressing 'q' ends the recording correctly. Which terminal/console are you using? -- Matteo From mivdit at gmail.com Sat Jun 20 12:28:19 2020 From: mivdit at gmail.com (M v D) Date: Sat, 20 Jun 2020 11:28:19 +0200 Subject: [FFmpeg-user] Distorted output when encoding DVD as MP4, error message "ignoring pic cod ext after 0" Message-ID: I'm trying to convert a number of DVDs to MP4. Some of them work, others result in lots of error messages and distorted output. All of them play correctly in VLC if I open the IFO file, but the ones that give distorted output fail to play in DVD if I open the VOB file. I'm using the following command: ffmpeg -i 'concat:VTS_02_1.VOB|VTS_02_2.VOB|VTS_02_3.VOB|VTS_02_4.VOB' out.mp4 What stands out to me is that this message is only present for the DVDs that fail: [mpeg2video @ 0x7fffcfcfc0c0] ignoring pic cod ext after 0 More output, including lots of error messages for each frame, is included below. Does anyone know what this means and how I can fix it? Thanks in advance for any help! ------------------------------------------------------ ffmpeg version 4.2.3 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04) configuration: --prefix=/home/erik/packages libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 [mpeg2video @ 0x7fffcfcfc0c0] ignoring pic cod ext after 0 Input #0, mpeg, from 'concat:VTS_02_1.VOB|VTS_02_2.VOB|VTS_02_3.VOB|VTS_02_4.VOB': Duration: 00:00:05.98, start: 0.287267, bitrate: 4707454 kb/s Stream #0:0[0x1bf]: Data: dvd_nav_packet Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], 8500 kb/s, 25 fps, 50 tbr, 90k tbn, 50 tbc Stream #0:2[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s Stream #0:3[0x81]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s Stream #0:4[0x82]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s Stream #0:5[0x83]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s Stream #0:6[0x84]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s Stream #0:7[0x85]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s Stream #0:8[0x86]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s Stream mapping: Stream #0:1 -> #0:0 (mpeg2video (native) -> mpeg4 (native)) Stream #0:2 -> #0:1 (ac3 (native) -> aac (native)) Press [q] to stop, [?] for help [ac3 @ 0x7fffcfd24f40] exponent 25 is out-of-range [ac3 @ 0x7fffcfd24f40] error decoding the audio block Error while decoding stream #0:2: Error number -16976906 occurred [ac3 @ 0x7fffcfd24f40] expacc 127 is out-of-range [ac3 @ 0x7fffcfd24f40] error decoding the audio block Error while decoding stream #0:2: Error number -16976906 occurred [aac @ 0x7fffcfd19240] Using a PCE to encode channel layout "5.1(side)" [mpeg2video @ 0x7fffcfcff180] ignoring pic cod ext after 0 Error while decoding stream #0:2: Error number -16976906 occurred [ac3 @ 0x7fffcfd24f40] expacc 125 is out-of-range [ac3 @ 0x7fffcfd24f40] error decoding the audio block Error while decoding stream #0:2: Error number -16976906 occurred [ac3 @ 0x7fffcfd24f40] exponent -1 is out-of-range [ac3 @ 0x7fffcfd24f40] error decoding the audio block Error while decoding stream #0:2: Error number -16976906 occurred Last message repeated 1 times [mpeg2video @ 0x7fffcfcff180] warning: first frame is no keyframe [mpeg2video @ 0x7fffcfcff180] ac-tex damaged at 7 0 [mpeg2video @ 0x7fffcfcff180] ac-tex damaged at 11 20 [mpeg2video @ 0x7fffcfcff180] 00 motion_type at 12 13 [mpeg2video @ 0x7fffcfcff180] 00 motion_type at 5 35 [mpeg2video @ 0x7fffcfcff180] ac-tex damaged at 2 34 [mpeg2video @ 0x7fffcfcff180] Warning MVs not available [mpeg2video @ 0x7fffcfcff180] concealing 1620 DC, 1620 AC, 1620 MV errors in P frame Output #0, mp4, to 'out.mp4': Metadata: encoder : Lavf58.29.100 Stream #0:0: Video: mpeg4 (mp4v / 0x7634706D), yuv420p, 720x576 [SAR 64:45 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 12800 tbn, 25 tbc Metadata: encoder : Lavc58.54.100 mpeg4 Side data: cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1 Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1(side), fltp, 394 kb/s Metadata: encoder : Lavc58.54.100 aac [mpeg2video @ 0x7fffcfcff180] ac-tex damaged at 3 0 [mpeg2video @ 0x7fffcfcff180] Invalid mb type in P-frame at 10 10 [mpeg2video @ 0x7fffcfcff180] 00 motion_type at 18 20 [mpeg2video @ 0x7fffcfcff180] Invalid mb type in P-frame at 13 35 [mpeg2video @ 0x7fffcfcff180] 00 motion_type at 33 31 [mpeg2video @ 0x7fffcfcff180] Warning MVs not available [mpeg2video @ 0x7fffcfcff180] concealing 945 DC, 945 AC, 945 MV errors in P frame concat:VTS_02_1.VOB|VTS_02_2.VOB|VTS_02_3.VOB|VTS_02_4.VOB: corrupt decoded frame in stream 1 [ac3 @ 0x7fffcfd24f40] exponent -1 is out-of-range [ac3 @ 0x7fffcfd24f40] error decoding the audio block Error while decoding stream #0:2: Error number -16976906 occurred [ac3 @ 0x7fffcfd24f40] expacc 127 is out-of-range [ac3 @ 0x7fffcfd24f40] error decoding the audio block Error while decoding stream #0:2: Error number -16976906 occurred [mpeg2video @ 0x7fffcfcff180] 00 motion_type at 27 5 [mpeg2video @ 0x7fffcfcff180] skip with previntra [mpeg2video @ 0x7fffcfcff180] 00 motion_type at 43 15 [mpeg2video @ 0x7fffcfcff180] ac-tex damaged at 10 27 [mpeg2video @ 0x7fffcfcff180] Warning MVs not available [mpeg2video @ 0x7fffcfcff180] concealing 900 DC, 900 AC, 900 MV errors in B frame concat:VTS_02_1.VOB|VTS_02_2.VOB|VTS_02_3.VOB|VTS_02_4.VOB: corrupt decoded frame in stream 1 [mpeg2video @ 0x7fffcfcff180] ignoring pic cod ext after 0 concat:VTS_02_1.VOB|VTS_02_2.VOB|VTS_02_3.VOB|VTS_02_4.VOB: corrupt decoded frame in stream 1 [ac3 @ 0x7fffcfd24f40] expacc 126 is out-of-range [ac3 @ 0x7fffcfd24f40] error decoding the audio block Error while decoding stream #0:2: Error number -16976906 occurred [ac3 @ 0x7fffcfd24f40] exponent -1 is out-of-range [ac3 @ 0x7fffcfd24f40] error decoding the audio block Error while decoding stream #0:2: Error number -16976906 occurred [mpeg2video @ 0x7fffcfcff180] 00 motion_type at 2 8 [mpeg2video @ 0x7fffcfcff180] 00 motion_type at 14 29 [mpeg2video @ 0x7fffcfcff180] ac-tex damaged at 43 26 [mpeg2video @ 0x7fffcfcff180] 00 motion_type at 18 22 [mpeg2video @ 0x7fffcfcff180] ac-tex damaged at 11 3 [mpeg2video @ 0x7fffcfcff180] ac-tex damaged at 13 15 [mpeg2video @ 0x7fffcfcff180] ac-tex damaged at 15 33 [mpeg2video @ 0x7fffcfcff180] ac-tex damaged at 31 35 [mpeg2video @ 0x7fffcfcff180] ac-tex damaged at 6 3 [mpeg2video @ 0x7fffcfcff180] invalid cbp 0 at 0 4 [mpeg2video @ 0x7fffcfcff180] Invalid mb type in P-frame at 6 5 [mpeg2video @ 0x7fffcfcff180] 00 motion_type at 12 6 [mpeg2video @ 0x7fffcfcff180] ac-tex damaged at 9 7 [mpeg2video @ 0x7fffcfcff180] 00 motion_type at 15 13 [mpeg2video @ 0x7fffcfcff180] ac-tex damaged at 2 14 [mpeg2video @ 0x7fffcfcff180] 00 motion_type at 1 15 [mpeg2video @ 0x7fffcfcff180] 00 motion_type at 20 16 [mpeg2video @ 0x7fffcfcff180] ac-tex damaged at 5 17 [mpeg2video @ 0x7fffcfcff180] ac-tex damaged at 8 18 [mpeg2video @ 0x7fffcfcff180] Invalid mb type in P-frame at 12 24 [mpeg2video @ 0x7fffcfcff180] 00 motion_type at 8 25 [mpeg2video @ 0x7fffcfcff180] 00 motion_type at 6 26 [mpeg2video @ 0x7fffcfcff180] 00 motion_type at 1 27 [mpeg2video @ 0x7fffcfcff180] 00 motion_type at 43 30 [mpeg2video @ 0x7fffcfcff180] invalid cbp -1 at 13 30 [mpeg2video @ 0x7fffcfcff180] Invalid mb type in P-frame at 2 33 [mpeg2video @ 0x7fffcfcff180] ac-tex damaged at 25 34 [mpeg2video @ 0x7fffcfcff180] Warning MVs not available [mpeg2video @ 0x7fffcfcff180] concealing 1305 DC, 1305 AC, 1305 MV errors in P frame [mpeg2video @ 0x7fffcfcff180] 00 motion_type at 28 4 [mpeg2video @ 0x7fffcfcff180] Warning MVs not available [mpeg2video @ 0x7fffcfcff180] concealing 270 DC, 270 AC, 270 MV errors in B frame concat:VTS_02_1.VOB|VTS_02_2.VOB|VTS_02_3.VOB|VTS_02_4.VOB: corrupt decoded frame in stream 1 Last message repeated 1 times [ac3 @ 0x7fffcfd24f40] exponent -2 is out-of-range [ac3 @ 0x7fffcfd24f40] error decoding the audio block Error while decoding stream #0:2: Error number -16976906 occurred (more of the same follows) From the at daily.show Sat Jun 20 16:06:07 2020 From: the at daily.show (=?utf-8?B?5byg5LiA546v?=) Date: Sat, 20 Jun 2020 21:06:07 +0800 Subject: [FFmpeg-user] Some Tibetan characters aren't rendered correctly with drawtext filter. Message-ID: I'm trying to use ffmpeg drawtext filter to render Tibetan text to videos. But some characters aren't rendered correctly. for example: སྤྱི་སྟེགས Expected render output: https://i.stack.imgur.com/TJnQE.png Actual render output: https://i.stack.imgur.com/qtOlG.png Here's my ffmpeg command line: ffmpeg -i input.mp4 -filter_complex "drawtext=fontsize=80:fontcolor=black:fontfile=himalaya.ttf:shadowx=1:shadowy=1:text='སྤྱི་སྟེགས':x=0:y=0" -c:v libx264 -b:v 400k -c:a copy output.mp4 The font himalaya.ttf (Microsoft Himalaya) is the default built-in font for Tibetan on Windows. (See https://docs.microsoft.com/en-us/typography/font-list/microsoft-himalaya ) I tried many other Tibetan fonts, and many ffmpeg versions, problem exists anyway. All of those fonts are rendered correctly in other places such as a web browser. I asked a question on stackoverflow (Link: https://stackoverflow.com/questions/62458321/ffmpeg-drawtext-support-for-tibetan-fonts ), and now I know this unlikely freetype fault, I tired using harfbuzz as shaping engine, to render Tibetan in an ass subtitle, it works correctly. But the problem is, ffmpeg drawtext filter does not support to specify a shaping engine (use harfbuzz rather than fribidi). So this is a bug? Thank you. From forbyta at gmx.com Sat Jun 20 21:17:08 2020 From: forbyta at gmx.com (Hans Carlson) Date: Sat, 20 Jun 2020 11:17:08 -0700 (PDT) Subject: [FFmpeg-user] Extracting stills frames from a DVB-T MPEG transport stream with subtitles In-Reply-To: References: Message-ID: On Sat, 20 Jun 2020, Tom Crane wrote: > I am attempting to extract still frames from a video stream in a > multi-channel DVB-T MPEG transport stream, for example every 2 seconds, > with selected accompanying subtitles but can't get it to work. > > This example command successfully extracts frames from video stream 0:26 to > jpeg files. > > ffmpeg -i dvb.ts -map 0:26 -qscale:v 1 -r 0.5 stills%04d.jpg > > This one successfully copies the same file's video stream 0:26 along > with subtitle stream 0:30 to a video file in a Matroska container. > > ffmpeg -i dvb.ts -map 0:26 -c:v copy -map 0:30 -c:s copy tmp.mkv > > Is there a way to combine the two to capture still frames from the video > stream to JPEG files including the accompanying subtitles? If you want to create 2 images/frame - 1 with the video and another with the subtitle, then use your first command for the video and try something like the following for the subtitle: ffmpeg -i dvb.ts -r 0.5 -lavfi "[0:30]null[sub]" -map "[sub]" subs-%04d.jpg If you want to combine the video and the sub into a single image, then try the overlay filter, eg: ffmpeg -i dvb.ts -filter_complex "[0:26][0:30]overlay" -r 0.5 stills-%04d.jpg Add other options as necessary to get desired quality. You might want to test it on a small section that you know contains subtitles using -ss/-t. From forbyta at gmx.com Sat Jun 20 21:44:13 2020 From: forbyta at gmx.com (Hans Carlson) Date: Sat, 20 Jun 2020 11:44:13 -0700 (PDT) Subject: [FFmpeg-user] Distorted output when encoding DVD as MP4, error message "ignoring pic cod ext after 0" In-Reply-To: References: Message-ID: On Sat, 20 Jun 2020, M v D wrote: > I'm trying to convert a number of DVDs to MP4. Some of them work, others > result in lots of error messages and distorted output. All of them play > correctly in VLC if I open the IFO file, but the ones that give distorted > output fail to play in DVD if I open the VOB file. I'm using the following > command: > > ffmpeg -i 'concat:VTS_02_1.VOB|VTS_02_2.VOB|VTS_02_3.VOB|VTS_02_4.VOB' > out.mp4 > > What stands out to me is that this message is only present for the DVDs > that fail: > > [mpeg2video @ 0x7fffcfcfc0c0] ignoring pic cod ext after 0 > > More output, including lots of error messages for each frame, is included > below. > > Does anyone know what this means and how I can fix it? Thanks in advance > for any help! The short answer is -- don't do this. Use mplayer -dumpstream to create a single .vob file, then use ffmpeg to convert that .vob to .mp4. The longer answer is -- unfortunately, there are many links on the web that suggest the approach you tried, but as you discovered it doesn't always work. And that's because vob files on a dvd are not as simple as they might appear. There are multiple threads on this subject in the ffmpeg archives, I suggest you do a little searching and read through some of them if you want to understand why your original approach doesn't always work. Try searching the ffmpeg mailing list with the following search parameters: site:lists.ffmpeg.org/pipermail/ffmpeg-user/ vob site:lists.ffmpeg.org/pipermail/ffmpeg-user/ dvd Not everything in those results will be relevant to your question, but you should find several threads that are related. From TPCffmpeg at mklab.ph.rhul.ac.uk Sun Jun 21 03:33:01 2020 From: TPCffmpeg at mklab.ph.rhul.ac.uk (Tom Crane) Date: Sun, 21 Jun 2020 01:33:01 +0100 (BST) Subject: [FFmpeg-user] Extracting stills frames from a DVB-T MPEG transport stream with subtitles In-Reply-To: References: Message-ID: On Sat, 20 Jun 2020, Hans Carlson wrote: > On Sat, 20 Jun 2020, Tom Crane wrote: > >> I am attempting to extract still frames from a video stream in a >> multi-channel DVB-T MPEG transport stream, for example every 2 seconds, >> with selected accompanying subtitles but can't get it to work. >> [cut] > If you want to combine the video and the sub into a single image, then try > the overlay filter, eg: > > ffmpeg -i dvb.ts -filter_complex "[0:26][0:30]overlay" -r 0.5 > stills-%04d.jpg Many thanks for that which does exactly what I wanted. > Add other options as necessary to get desired quality. Adding '-qscale:v 1' provided the required quality. Best regards Tom Crane From arunava.banerjee at capitalnumbers.com Mon Jun 22 08:23:52 2020 From: arunava.banerjee at capitalnumbers.com (Arunava Banerjee) Date: Mon, 22 Jun 2020 10:53:52 +0530 Subject: [FFmpeg-user] To Speed Up thumbnail creation - picture & video Message-ID: Hello, We have been using FFMPEG library to create the following thumbnails from videos: a. picture b. video - for example a 60secs video thumbnail. Our video sizes are about 200 - 300 MB. We are using a PHP program to transfer command to the shell for FFMPEG executable to generate the thumbnails. The videos exists on AWS S3, and we are fetching them using S3 signature url, generating the thumbs and uploading back. We have noticed that FFMPEG takes quite sometime to create the thumbnails, which is creating a wait time on the part of the interface. Please let us know if there could be a way, we can fasten this process. Do such params exist in FFMPEG ? The time for creation on a local system using S3 is given hereunder: To create a picture: real 0m37.618s user 0m17.791s sys 0m0.783s To create a video thumb: real 3m6.979s user 2m29.448s sys 0m4.621s The commands used for the purpose are as hereunder: To create a picture: "ffmpeg -i '".$s3_key_url."' -r 1 -vframes 1 -an -s $thumbnail_size -ss 05 $extracted_thumbnail_location 2>&1" To create a videothumb of 60 secs: "ffmpeg -ss 00 -t 60 -i '".$s3_key_url."' -vf scale=$video_scale -strict -2 $extracted_video_location 2>&1" The logs of the respective commands are as follows: For picture: --------------- ffmpeg -i ' https://cnp892.s3.amazonaws.com/main/010420_Downtown_SD_Waterfront_2.mov?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAZD5VS7Z66QJB56WV%2F20200505%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200505T065154Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1200&X-Amz-Signature=14930fed30d72ef3afbb06ec0ac70cae5e741e067b4c0da5108b1b49e17ce665' -r 1 -vframes 1 -an -s 640X360 -ss 05 /data/html/wpsite/wp_5_2_5/wp-content/uploads/VaspmTempsu/010420_Downtown_SD_Waterfront_2_preview.jpg ffmpeg version 2.8.15-0ubuntu0.16.04.1 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 20160609 configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100 [https @ 0xd03fe0] HTTP error 416 Requested Range Not Satisfiable Input #0, mov,mp4,m4a,3gp,3g2,mj2, from ' https://cnp892.s3.amazonaws.com/main/010420_Downtown_SD_Waterfront_2.mov?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAZD5VS7Z66QJB56WV%2F20200505%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200505T065154Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1200&X-Amz-Signature=14930fed30d72ef3afbb06ec0ac70cae5e741e067b4c0da5108b1b49e17ce665 ': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt creation_time : 2020-01-13 23:36:24 Duration: 00:00:33.99, start: 0.000000, bitrate: 49379 kb/s Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 3840x2160 [SAR 1:1 DAR 16:9], 49376 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 48k tbc (default) Metadata: creation_time : 2020-01-13 23:36:24 handler_name : Core Media Data Handler encoder : H.264 timecode : 00:00:00:00 Stream #0:1(und): Data: none (tmcd / 0x64636D74) (default) Metadata: creation_time : 2020-01-13 23:36:24 handler_name : Core Media Data Handler timecode : 00:00:00:00 [swscaler @ 0x1103300] deprecated pixel format used, make sure you did set range correctly Output #0, image2, to '/data/html/wpsite/wp_5_2_5/wp-content/uploads/VaspmTempsu/010420_Downtown_SD_Waterfront_2_preview.jpg': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt encoder : Lavf56.40.101 Stream #0:0(und): Video: mjpeg, yuvj420p(pc), 640x360 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 1 fps, 1 tbn, 1 tbc (default) Metadata: creation_time : 2020-01-13 23:36:24 handler_name : Core Media Data Handler timecode : 00:00:00:00 encoder : Lavc56.60.100 mjpeg Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native)) Press [q] to stop, [?] for help frame= 1 fps=0.1 q=6.4 Lsize=N/A time=00:00:01.00 bitrate=N/A video:47kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown real 0m37.618s user 0m17.791s sys 0m0.783s For video: -------------- ffmpeg -ss 00 -t 60 -i ' https://cnp892.s3.amazonaws.com/main/010420_Downtown_SD_Waterfront_2.mov?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAZD5VS7Z66QJB56WV%2F20200506%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200506T063632Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1200&X-Amz-Signature=b22ed0c2db7154c0e533a875b32cd1b4b96878361a3e6ab8f0c341bdc8ecd120' -vf scale=640:360 -strict -2 /data/html/wpsite/wp_5_2_5/wp-content/uploads/VaspmTempsu/010420_Downtown_SD_Waterfront_2_preview_tmp.mp4 ffmpeg version 2.8.15-0ubuntu0.16.04.1 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 20160609 configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100 [https @ 0x126afa0] HTTP error 416 Requested Range Not Satisfiable Input #0, mov,mp4,m4a,3gp,3g2,mj2, from ' https://cnp892.s3.amazonaws.com/main/010420_Downtown_SD_Waterfront_2.mov?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAZD5VS7Z66QJB56WV%2F20200506%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200506T063632Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1200&X-Amz-Signature=b22ed0c2db7154c0e533a875b32cd1b4b96878361a3e6ab8f0c341bdc8ecd120 ': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt creation_time : 2020-01-13 23:36:24 Duration: 00:00:33.99, start: 0.000000, bitrate: 49379 kb/s Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 3840x2160 [SAR 1:1 DAR 16:9], 49376 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 48k tbc (default) Metadata: creation_time : 2020-01-13 23:36:24 handler_name : Core Media Data Handler encoder : H.264 timecode : 00:00:00:00 Stream #0:1(und): Data: none (tmcd / 0x64636D74) (default) Metadata: creation_time : 2020-01-13 23:36:24 handler_name : Core Media Data Handler timecode : 00:00:00:00 [libx264 @ 0x12b2960] using SAR=1/1 [libx264 @ 0x12b2960] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX [libx264 @ 0x12b2960] profile High, level 3.0 [libx264 @ 0x12b2960] 264 - core 148 r2643 5c65704 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=23 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to '/data/html/wpsite/wp_5_2_5/wp-content/uploads/VaspmTempsu/010420_Downtown_SD_Waterfront_2_preview_tmp.mp4': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt encoder : Lavf56.40.101 Stream #0:0(und): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 640x360 [SAR 1:1 DAR 16:9], q=-1--1, 23.98 fps, 24k tbn, 23.98 tbc (default) Metadata: creation_time : 2020-01-13 23:36:24 handler_name : Core Media Data Handler timecode : 00:00:00:00 encoder : Lavc56.60.100 libx264 Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) Press [q] to stop, [?] for help frame= 815 fps=4.9 q=-1.0 Lsize= 5573kB time=00:00:33.90 bitrate=1346.3kbits/s video:5562kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.187583% [libx264 @ 0x12b2960] frame I:4 Avg QP:21.82 size: 63742 [libx264 @ 0x12b2960] frame P:407 Avg QP:24.15 size: 12739 [libx264 @ 0x12b2960] frame B:404 Avg QP:29.67 size: 631 [libx264 @ 0x12b2960] consecutive B-frames: 0.9% 99.1% 0.0% 0.0% [libx264 @ 0x12b2960] mb I I16..4: 7.9% 19.5% 72.6% [libx264 @ 0x12b2960] mb P I16..4: 0.0% 0.0% 0.0% P16..4: 38.0% 25.6% 21.7% 0.0% 0.0% skip:14.6% [libx264 @ 0x12b2960] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 30.1% 2.3% 0.7% direct: 1.3% skip:65.5% L0:30.1% L1:51.7% BI:18.2% [libx264 @ 0x12b2960] 8x8 transform intra:19.2% inter:45.7% [libx264 @ 0x12b2960] coded y,uvDC,uvAC intra: 87.1% 96.4% 86.6% inter: 26.4% 17.5% 4.9% [libx264 @ 0x12b2960] i16 v,h,dc,p: 7% 55% 3% 35% [libx264 @ 0x12b2960] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 13% 41% 14% 4% 4% 3% 8% 4% 8% [libx264 @ 0x12b2960] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25% 26% 9% 5% 6% 5% 10% 5% 9% [libx264 @ 0x12b2960] i8c dc,h,v,p: 39% 40% 12% 9% [libx264 @ 0x12b2960] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 0x12b2960] ref P L0: 60.4% 14.1% 17.6% 7.9% [libx264 @ 0x12b2960] ref B L0: 70.9% 29.1% [libx264 @ 0x12b2960] kb/s:1340.28 real 3m6.979s user 2m29.448s sys 0m4.621s -- ====================================================== Best Regards, Arunava Banerjee Sr. Web Developer, Capital Numbers Infotech Pvt.Ltd. Gmail: arunava.banerjee at capitalnumbers.com ====================================================== From ceffmpeg at gmail.com Mon Jun 22 10:11:03 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Mon, 22 Jun 2020 09:11:03 +0200 Subject: [FFmpeg-user] To Speed Up thumbnail creation - picture & video In-Reply-To: References: Message-ID: <3C68A413-FC7E-4910-8090-09A9481D5A08@gmail.com> > Am 22.06.2020 um 07:23 schrieb Arunava Banerjee via ffmpeg-user : > > ffmpeg version 2.8.15 This will be five years old soon, please test current FFmpeg git head. Carl Eugen From arunava.banerjee at capitalnumbers.com Mon Jun 22 10:42:11 2020 From: arunava.banerjee at capitalnumbers.com (Arunava Banerjee) Date: Mon, 22 Jun 2020 13:12:11 +0530 Subject: [FFmpeg-user] To Speed Up thumbnail creation - picture & video In-Reply-To: <3C68A413-FC7E-4910-8090-09A9481D5A08@gmail.com> References: <3C68A413-FC7E-4910-8090-09A9481D5A08@gmail.com> Message-ID: Hello, Thanks for the suggestions. Currently, for ubuntu 16.04, we are able to install only the FFMPEG 4 version. Will test on that surely and revert. Regards On Mon, Jun 22, 2020 at 12:41 PM Carl Eugen Hoyos wrote: > > > > Am 22.06.2020 um 07:23 schrieb Arunava Banerjee via ffmpeg-user < > ffmpeg-user at ffmpeg.org>: > > > > ffmpeg version 2.8.15 > > This will be five years old soon, please test current FFmpeg git head. > > Carl Eugen > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". -- ====================================================== Best Regards, Arunava Banerjee Sr. Web Developer, Capital Numbers Infotech Pvt.Ltd. Gmail: arunava.banerjee at capitalnumbers.com ====================================================== From arunava.banerjee at capitalnumbers.com Mon Jun 22 11:04:00 2020 From: arunava.banerjee at capitalnumbers.com (Arunava Banerjee) Date: Mon, 22 Jun 2020 13:34:00 +0530 Subject: [FFmpeg-user] To Speed Up thumbnail creation - picture & video In-Reply-To: References: <3C68A413-FC7E-4910-8090-09A9481D5A08@gmail.com> Message-ID: Hello, Could a link with more recent versions of FFMPEG be provided? We could find the version as described on the following link: https://tecadmin.net/install-ffmpeg-on-linux/ -- It is version 4.2.2. On Mon, Jun 22, 2020 at 1:12 PM Arunava Banerjee < arunava.banerjee at capitalnumbers.com> wrote: > > Hello, > > Thanks for the suggestions. > > Currently, for ubuntu 16.04, we are able to install only the FFMPEG 4 > version. > > Will test on that surely and revert. > > > Regards > > On Mon, Jun 22, 2020 at 12:41 PM Carl Eugen Hoyos > wrote: > >> >> >> > Am 22.06.2020 um 07:23 schrieb Arunava Banerjee via ffmpeg-user < >> ffmpeg-user at ffmpeg.org>: >> > >> > ffmpeg version 2.8.15 >> >> This will be five years old soon, please test current FFmpeg git head. >> >> Carl Eugen >> _______________________________________________ >> ffmpeg-user mailing list >> ffmpeg-user at ffmpeg.org >> https://ffmpeg.org/mailman/listinfo/ffmpeg-user >> >> To unsubscribe, visit link above, or email >> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". > > > > -- > ====================================================== > Best Regards, > > Arunava Banerjee > Sr. Web Developer, > Capital Numbers Infotech Pvt.Ltd. > Gmail: arunava.banerjee at capitalnumbers.com > ====================================================== > -- ====================================================== Best Regards, Arunava Banerjee Sr. Web Developer, Capital Numbers Infotech Pvt.Ltd. Gmail: arunava.banerjee at capitalnumbers.com ====================================================== From h.reindl at thelounge.net Mon Jun 22 11:10:01 2020 From: h.reindl at thelounge.net (Reindl Harald) Date: Mon, 22 Jun 2020 10:10:01 +0200 Subject: [FFmpeg-user] To Speed Up thumbnail creation - picture & video In-Reply-To: References: <3C68A413-FC7E-4910-8090-09A9481D5A08@gmail.com> Message-ID: Am 22.06.20 um 10:04 schrieb Arunava Banerjee via ffmpeg-user: > Could a link with more recent versions of FFMPEG be provided? https://ffmpeg.org/releases/ [builduser at buildserver:~]$ rpm -q ffmpeg-latest ffmpeg-latest-4.3.0-1.1.fc31.20200616.rh.x264.0.158.0000.native.x86_64 [builduser at buildserver:~]$ cat /rpmbuild/SPECS/ffmpeg-latest.spec ############################################################################################################################# # command 'rpmbuild -bb ffmpeg-latest.spec --with production' will tune for current hardware while default stays compatible # ############################################################################################################################# %global ffmpeg_snapshot 20200616 %global x264_snapshot 20200311 %global x264_version 0.158.0000 %global pgo_build 1 %if %{?_with_production:1}%{!?_with_production:0} %global rpmsuffix native %global build_native_release 1 %global optflags $(sed "s/sandybridge/native/g" <<< "%{optflags}") %else %global rpmsuffix %{mtune2} %global build_native_release 0 %global optflags $(sed "s/sandybridge/%{mtune2}/g" <<< "%{optflags}") %endif Summary: Hyper fast Audio and Video encoder (static build) Name: ffmpeg-latest Version: 4.3.0 Release: 1.%{build_native_release}%{?dist}.x264.%{x264_version}.%{rpmsuffix} License: GPLv3+ URL: http://ffmpeg.org/ Source0: ffmpeg-%{ffmpeg_snapshot}.tar.xz Source1: x264-%{x264_snapshot}.tar.xz Source2: ffmpeg-snapshot-latest.sh Source3: x264-snapshot-latest.sh Source4: 720x400.yuv BuildRequires: bzip2-devel BuildRequires: imlib2-devel BuildRequires: lame-devel BuildRequires: libtheora-devel BuildRequires: libvpx-devel BuildRequires: openssl-devel BuildRequires: x265-devel BuildRequires: nasm BuildRequires: yasm BuildRequires: zlib-devel Provides: ffmpeg %description A complete, cross-platform solution to record, convert and stream audio and video %package manpages Summary: Manpages for ffmpeg-latest BuildArch: noarch %description manpages %prep %setup -q -n ffmpeg-%{ffmpeg_snapshot} %build # build x264-static with profile-guided-optimization for current architecture tar xJf %{SOURCE1} pushd x264-%{x264_snapshot} ./configure \ --prefix=/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot} \ --exec-prefix=/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static \ --bindir=/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static \ --libdir=/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static \ --includedir=/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static \ --extra-cflags="%{optflags} %{O3_flags} -w" \ --extra-ldflags="-Wl,--as-needed -Wl,-z,now -Wl,-z,relro -Wl,-z,noexecstack %{optflags} %{O3_flags} -w" \ --enable-static \ --enable-pic \ --enable-strip \ --disable-avs \ --disable-cli \ --disable-ffms \ --disable-gpac \ --disable-lavf \ --disable-opencl \ --disable-swscale %if %pgo_build make fprofiled VIDS="%{SOURCE4}" %{?_smp_mflags} %else make %{?_smp_mflags} %endif make install strip --strip-unneeded --strip-debug /rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static/libx264.a popd # build ffmpeg-static and link with x264-static from previous build mkdir generic pushd generic ../configure \ --prefix=%{_prefix}/local \ --bindir=%{_prefix}/local/bin \ --mandir=%{_prefix}/local/man \ --extra-cflags="-I/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static %{optflags} %{O3_flags} -flto=%(nproc) -ffat-lto-objects -fwhole-program -w" \ --extra-ldflags="-I/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static -L/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static -ldl -Wl,--as-needed -Wl,-z,now -Wl,-z,relro %{optflags} %{O3_flags} -flto=%(nproc) -ffat-lto-objects -fwhole-program -pie -fPIE -w" \ --ar=gcc-ar \ --ranlib=true \ --enable-lto \ --enable-gpl \ --enable-libmp3lame \ --enable-libtheora \ --enable-libvpx \ --enable-libx264 \ --enable-libx265 \ --enable-nonfree \ --enable-openssl \ --enable-pic \ --enable-runtime-cpudetect \ --enable-static \ --enable-version3 \ --disable-amf \ --disable-appkit \ --disable-autodetect \ --disable-avdevice \ --disable-avfoundation \ --disable-coreimage \ --disable-debug \ --disable-devices \ --disable-ffplay \ --disable-ffprobe \ --disable-htmlpages \ --disable-hwaccels \ --disable-iconv \ --disable-libdc1394 \ --disable-libfreetype \ --disable-libgsm \ --disable-libopencore-amrnb \ --disable-libopencore-amrwb \ --disable-libopencv \ --disable-libopenjpeg \ --disable-libopus \ --disable-librtmp \ --disable-libspeex \ --disable-libvorbis \ --disable-libxcb \ --disable-libxcb-shape \ --disable-libxcb-shm \ --disable-libxcb-xfixes \ --disable-libxvid \ --disable-podpages \ --disable-postproc \ --disable-protocol=gopher \ --disable-shared \ --disable-txtpages \ --disable-xlib %{__make} %{?_smp_mflags} make documentation popd %install pushd generic make install DESTDIR=%{buildroot} popd mkdir %{buildroot}%{_bindir} ln -s %{_prefix}/local/bin/ffmpeg %{buildroot}%{_bindir}/ffmpeg rm -rf %{buildroot}%{_prefix}/local/include %{buildroot}%{_prefix}/local/lib %{buildroot}%{_prefix}/local/lib64 %{buildroot}%{_prefix}/local/share strip --strip-unneeded %{buildroot}%{_prefix}/local/bin/ffmpeg %files %{_prefix}/local/bin/ffmpeg %{_bindir}/ffmpeg %files manpages %{_prefix}/local/man/man1/* %{_prefix}/local/man/man3/* From dmngaie at gmail.com Mon Jun 22 11:09:37 2020 From: dmngaie at gmail.com (Dennis Mungai) Date: Mon, 22 Jun 2020 11:09:37 +0300 Subject: [FFmpeg-user] To Speed Up thumbnail creation - picture & video In-Reply-To: References: <3C68A413-FC7E-4910-8090-09A9481D5A08@gmail.com> Message-ID: On Mon, 22 Jun 2020, 11:04 Arunava Banerjee via ffmpeg-user, < ffmpeg-user at ffmpeg.org> wrote: > Hello, > > Could a link with more recent versions of FFMPEG be provided? > > We could find the version as described on the following link: > https://tecadmin.net/install-ffmpeg-on-linux/ -- It is version 4.2.2. > > > On Mon, Jun 22, 2020 at 1:12 PM Arunava Banerjee < > arunava.banerjee at capitalnumbers.com> wrote: > > > > > Hello, > > > > Thanks for the suggestions. > > > > Currently, for ubuntu 16.04, we are able to install only the FFMPEG 4 > > version. > > > > Will test on that surely and revert. > > > > > > Regards > > > > On Mon, Jun 22, 2020 at 12:41 PM Carl Eugen Hoyos > > wrote: > > > >> > >> > >> > Am 22.06.2020 um 07:23 schrieb Arunava Banerjee via ffmpeg-user < > >> ffmpeg-user at ffmpeg.org>: > >> > > >> > ffmpeg version 2.8.15 > >> > >> This will be five years old soon, please test current FFmpeg git head. > >> > >> Carl Eugen > >> _______________________________________________ > >> ffmpeg-user mailing list > >> ffmpeg-user at ffmpeg.org > >> https://ffmpeg.org/mailman/listinfo/ffmpeg-user > >> > >> To unsubscribe, visit link above, or email > >> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". > > > > > > > > -- > > ====================================================== > > Best Regards, > > > > Arunava Banerjee > > Sr. Web Developer, > > Capital Numbers Infotech Pvt.Ltd. > > Gmail: arunava.banerjee at capitalnumbers.com > > ====================================================== > > > > > -- > ====================================================== > Best Regards, > > Arunava Banerjee > Sr. Web Developer, > Capital Numbers Infotech Pvt.Ltd. > Gmail: arunava.banerjee at capitalnumbers.com > ====================================================== > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". Do you have access to an NVIDIA GPU accelerated workflow on AWS? You may be able to get far better results by combining the use of scale_cuda (or scale_npp) filter(s) paired with the thumbnail_cuda filter for GPU accelerated thumbnail generation. From h.reindl at thelounge.net Mon Jun 22 11:19:50 2020 From: h.reindl at thelounge.net (Reindl Harald) Date: Mon, 22 Jun 2020 10:19:50 +0200 Subject: [FFmpeg-user] To Speed Up thumbnail creation - picture & video In-Reply-To: References: <3C68A413-FC7E-4910-8090-09A9481D5A08@gmail.com> Message-ID: <2aa1d359-3f05-32c6-eda2-595351cfd816@thelounge.net> Am 22.06.20 um 10:09 schrieb Dennis Mungai: > Do you have access to an NVIDIA GPU accelerated workflow on AWS? > > You may be able to get far better results by combining the use of > scale_cuda (or scale_npp) filter(s) paired with the thumbnail_cuda filter > for GPU accelerated thumbnail generation may i suggest that you learn to perate your mail client and not quote tons of useless signatures so that one don't need to seek your answer like a needle? From gounthar at gmail.com Mon Jun 22 11:28:47 2020 From: gounthar at gmail.com (Verachten Bruno) Date: Mon, 22 Jun 2020 10:28:47 +0200 Subject: [FFmpeg-user] How to terminate cleanly a recording on Windows In-Reply-To: References: Message-ID: Thanks for trying Matteo, I'm using Cygwin on Windows 7. I will give a try at cmd.exe. On Sat, Jun 20, 2020 at 11:28 AM Matteo Contrini wrote: > On Fri, 19 Jun 2020, at 12:05 PM, Verachten Bruno wrote: > > I haven't tried this particular command under Linux, but usually hitting > > "q" ends the recording properly. > > On Windows, "q" seems to do nothing, and CTRL+C ends the process, but not > > at the right time. Most of the time, I miss the end of the recording. My > > recordings are just a few seconds long. > > I've just tried your command on Windows 10 version 2004 with Windows > Terminal 1.0.1401.0 and I have no problems. Pressing 'q' ends the recording > correctly. > > Which terminal/console are you using? > > -- > Matteo > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". -- Bruno Verachten From sebastien.lhuillier at gmail.com Mon Jun 22 11:35:18 2020 From: sebastien.lhuillier at gmail.com (=?UTF-8?Q?Lhuillier_S=C3=A9bastien?=) Date: Mon, 22 Jun 2020 10:35:18 +0200 Subject: [FFmpeg-user] Update ffmpeg Message-ID: Hi, I have a PC specifically dedicated to FFMPEG and video editing under debian 9.12. I would like to update FFMPEG (my version used is 3.2.14-1~deb9u1. The proposed packages do not have the new version 4 of ffmpeg. Do I have to reassemble my whole system? Thanks From h.reindl at thelounge.net Mon Jun 22 11:37:58 2020 From: h.reindl at thelounge.net (Reindl Harald) Date: Mon, 22 Jun 2020 10:37:58 +0200 Subject: [FFmpeg-user] Update ffmpeg In-Reply-To: References: Message-ID: Am 22.06.20 um 10:35 schrieb Lhuillier Sébastien: > I have a PC specifically dedicated to FFMPEG and video editing under debian > 9.12. > I would like to update FFMPEG (my version used is 3.2.14-1~deb9u1. > The proposed packages do not have the new version 4 of ffmpeg. Do I have to > reassemble my whole system? build ffmpeg from sources is no rocket science and i don't care what fedora / rpmfusion provide for 12 years now [builduser at buildserver:~]$ cat /rpmbuild/SPECS/ffmpeg-latest.spec ############################################################################################################################# # command 'rpmbuild -bb ffmpeg-latest.spec --with production' will tune for current hardware while default stays compatible # ############################################################################################################################# %global ffmpeg_snapshot 20200616 %global x264_snapshot 20200311 %global x264_version 0.158.0000 %global pgo_build 1 %if %{?_with_production:1}%{!?_with_production:0} %global rpmsuffix native %global build_native_release 1 %global optflags $(sed "s/sandybridge/native/g" <<< "%{optflags}") %else %global rpmsuffix %{mtune2} %global build_native_release 0 %global optflags $(sed "s/sandybridge/%{mtune2}/g" <<< "%{optflags}") %endif Summary: Hyper fast Audio and Video encoder (static build) Name: ffmpeg-latest Version: 4.3.0 Release: 1.%{build_native_release}%{?dist}.x264.%{x264_version}.%{rpmsuffix} License: GPLv3+ URL: http://ffmpeg.org/ Source0: ffmpeg-%{ffmpeg_snapshot}.tar.xz Source1: x264-%{x264_snapshot}.tar.xz Source2: ffmpeg-snapshot-latest.sh Source3: x264-snapshot-latest.sh Source4: 720x400.yuv BuildRequires: bzip2-devel BuildRequires: imlib2-devel BuildRequires: lame-devel BuildRequires: libtheora-devel BuildRequires: libvpx-devel BuildRequires: openssl-devel BuildRequires: x265-devel BuildRequires: nasm BuildRequires: yasm BuildRequires: zlib-devel Provides: ffmpeg %description A complete, cross-platform solution to record, convert and stream audio and video %package manpages Summary: Manpages for ffmpeg-latest BuildArch: noarch %description manpages %prep %setup -q -n ffmpeg-%{ffmpeg_snapshot} %build # build x264-static with profile-guided-optimization for current architecture tar xJf %{SOURCE1} pushd x264-%{x264_snapshot} ./configure \ --prefix=/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot} \ --exec-prefix=/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static \ --bindir=/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static \ --libdir=/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static \ --includedir=/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static \ --extra-cflags="%{optflags} %{O3_flags} -w" \ --extra-ldflags="-Wl,--as-needed -Wl,-z,now -Wl,-z,relro -Wl,-z,noexecstack %{optflags} %{O3_flags} -w" \ --enable-static \ --enable-pic \ --enable-strip \ --disable-avs \ --disable-cli \ --disable-ffms \ --disable-gpac \ --disable-lavf \ --disable-opencl \ --disable-swscale %if %pgo_build make fprofiled VIDS="%{SOURCE4}" %{?_smp_mflags} %else make %{?_smp_mflags} %endif make install strip --strip-unneeded --strip-debug /rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static/libx264.a popd # build ffmpeg-static and link with x264-static from previous build mkdir generic pushd generic ../configure \ --prefix=%{_prefix}/local \ --bindir=%{_prefix}/local/bin \ --mandir=%{_prefix}/local/man \ --extra-cflags="-I/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static %{optflags} %{O3_flags} -flto=%(nproc) -ffat-lto-objects -fwhole-program -w" \ --extra-ldflags="-I/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static -L/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static -ldl -Wl,--as-needed -Wl,-z,now -Wl,-z,relro %{optflags} %{O3_flags} -flto=%(nproc) -ffat-lto-objects -fwhole-program -pie -fPIE -w" \ --ar=gcc-ar \ --ranlib=true \ --enable-lto \ --enable-gpl \ --enable-libmp3lame \ --enable-libtheora \ --enable-libvpx \ --enable-libx264 \ --enable-libx265 \ --enable-nonfree \ --enable-openssl \ --enable-pic \ --enable-runtime-cpudetect \ --enable-static \ --enable-version3 \ --disable-amf \ --disable-appkit \ --disable-autodetect \ --disable-avdevice \ --disable-avfoundation \ --disable-coreimage \ --disable-debug \ --disable-devices \ --disable-ffplay \ --disable-ffprobe \ --disable-htmlpages \ --disable-hwaccels \ --disable-iconv \ --disable-libdc1394 \ --disable-libfreetype \ --disable-libgsm \ --disable-libopencore-amrnb \ --disable-libopencore-amrwb \ --disable-libopencv \ --disable-libopenjpeg \ --disable-libopus \ --disable-librtmp \ --disable-libspeex \ --disable-libvorbis \ --disable-libxcb \ --disable-libxcb-shape \ --disable-libxcb-shm \ --disable-libxcb-xfixes \ --disable-libxvid \ --disable-podpages \ --disable-postproc \ --disable-protocol=gopher \ --disable-shared \ --disable-txtpages \ --disable-xlib %{__make} %{?_smp_mflags} make documentation popd %install pushd generic make install DESTDIR=%{buildroot} popd mkdir %{buildroot}%{_bindir} ln -s %{_prefix}/local/bin/ffmpeg %{buildroot}%{_bindir}/ffmpeg rm -rf %{buildroot}%{_prefix}/local/include %{buildroot}%{_prefix}/local/lib %{buildroot}%{_prefix}/local/lib64 %{buildroot}%{_prefix}/local/share strip --strip-unneeded %{buildroot}%{_prefix}/local/bin/ffmpeg %files %{_prefix}/local/bin/ffmpeg %{_bindir}/ffmpeg %files manpages %{_prefix}/local/man/man1/* %{_prefix}/local/man/man3/* From sebastien.lhuillier at gmail.com Mon Jun 22 11:57:58 2020 From: sebastien.lhuillier at gmail.com (=?UTF-8?Q?Lhuillier_S=C3=A9bastien?=) Date: Mon, 22 Jun 2020 10:57:58 +0200 Subject: [FFmpeg-user] Update ffmpeg In-Reply-To: References: Message-ID: OK, I will try, I have never instal a software from sources Le lun. 22 juin 2020 à 10:38, Reindl Harald a écrit : > > > Am 22.06.20 um 10:35 schrieb Lhuillier Sébastien: > > I have a PC specifically dedicated to FFMPEG and video editing under > debian > > 9.12. > > I would like to update FFMPEG (my version used is 3.2.14-1~deb9u1. > > The proposed packages do not have the new version 4 of ffmpeg. Do I have > to > > reassemble my whole system? > > build ffmpeg from sources is no rocket science and i don't care what > fedora / rpmfusion provide for 12 years now > > [builduser at buildserver:~]$ cat /rpmbuild/SPECS/ffmpeg-latest.spec > > ############################################################################################################################# > # command 'rpmbuild -bb ffmpeg-latest.spec --with production' will tune > for current hardware while default stays compatible # > > ############################################################################################################################# > > %global ffmpeg_snapshot 20200616 > %global x264_snapshot 20200311 > %global x264_version 0.158.0000 > %global pgo_build 1 > > %if %{?_with_production:1}%{!?_with_production:0} > %global rpmsuffix native > %global build_native_release 1 > %global optflags $(sed "s/sandybridge/native/g" <<< "%{optflags}") > %else > %global rpmsuffix %{mtune2} > %global build_native_release 0 > %global optflags $(sed "s/sandybridge/%{mtune2}/g" <<< "%{optflags}") > %endif > > Summary: Hyper fast Audio and Video encoder (static build) > Name: ffmpeg-latest > Version: 4.3.0 > Release: > 1.%{build_native_release}%{?dist}.x264.%{x264_version}.%{rpmsuffix} > License: GPLv3+ > URL: http://ffmpeg.org/ > Source0: ffmpeg-%{ffmpeg_snapshot}.tar.xz > Source1: x264-%{x264_snapshot}.tar.xz > Source2: ffmpeg-snapshot-latest.sh > Source3: x264-snapshot-latest.sh > Source4: 720x400.yuv > BuildRequires: bzip2-devel > BuildRequires: imlib2-devel > BuildRequires: lame-devel > BuildRequires: libtheora-devel > BuildRequires: libvpx-devel > BuildRequires: openssl-devel > BuildRequires: x265-devel > BuildRequires: nasm > BuildRequires: yasm > BuildRequires: zlib-devel > Provides: ffmpeg > > %description > A complete, cross-platform solution to record, convert and stream audio > and video > > %package manpages > Summary: Manpages for ffmpeg-latest > BuildArch: noarch > %description manpages > > %prep > %setup -q -n ffmpeg-%{ffmpeg_snapshot} > > %build > # build x264-static with profile-guided-optimization for current > architecture > tar xJf %{SOURCE1} > pushd x264-%{x264_snapshot} > ./configure \ > --prefix=/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot} \ > --exec-prefix=/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static \ > --bindir=/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static \ > --libdir=/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static \ > --includedir=/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static \ > --extra-cflags="%{optflags} %{O3_flags} -w" \ > --extra-ldflags="-Wl,--as-needed -Wl,-z,now -Wl,-z,relro > -Wl,-z,noexecstack %{optflags} %{O3_flags} -w" \ > --enable-static \ > --enable-pic \ > --enable-strip \ > --disable-avs \ > --disable-cli \ > --disable-ffms \ > --disable-gpac \ > --disable-lavf \ > --disable-opencl \ > --disable-swscale > %if %pgo_build > make fprofiled VIDS="%{SOURCE4}" %{?_smp_mflags} > %else > make %{?_smp_mflags} > %endif > make install > strip --strip-unneeded --strip-debug > /rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static/libx264.a > popd > # build ffmpeg-static and link with x264-static from previous build > mkdir generic > pushd generic > ../configure \ > --prefix=%{_prefix}/local \ > --bindir=%{_prefix}/local/bin \ > --mandir=%{_prefix}/local/man \ > --extra-cflags="-I/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static > %{optflags} %{O3_flags} -flto=%(nproc) -ffat-lto-objects -fwhole-program > -w" \ > --extra-ldflags="-I/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static > -L/rpmbuild/BUILD/ffmpeg-%{ffmpeg_snapshot}/x264-static -ldl > -Wl,--as-needed -Wl,-z,now -Wl,-z,relro %{optflags} %{O3_flags} > -flto=%(nproc) -ffat-lto-objects -fwhole-program -pie -fPIE -w" \ > --ar=gcc-ar \ > --ranlib=true \ > --enable-lto \ > --enable-gpl \ > --enable-libmp3lame \ > --enable-libtheora \ > --enable-libvpx \ > --enable-libx264 \ > --enable-libx265 \ > --enable-nonfree \ > --enable-openssl \ > --enable-pic \ > --enable-runtime-cpudetect \ > --enable-static \ > --enable-version3 \ > --disable-amf \ > --disable-appkit \ > --disable-autodetect \ > --disable-avdevice \ > --disable-avfoundation \ > --disable-coreimage \ > --disable-debug \ > --disable-devices \ > --disable-ffplay \ > --disable-ffprobe \ > --disable-htmlpages \ > --disable-hwaccels \ > --disable-iconv \ > --disable-libdc1394 \ > --disable-libfreetype \ > --disable-libgsm \ > --disable-libopencore-amrnb \ > --disable-libopencore-amrwb \ > --disable-libopencv \ > --disable-libopenjpeg \ > --disable-libopus \ > --disable-librtmp \ > --disable-libspeex \ > --disable-libvorbis \ > --disable-libxcb \ > --disable-libxcb-shape \ > --disable-libxcb-shm \ > --disable-libxcb-xfixes \ > --disable-libxvid \ > --disable-podpages \ > --disable-postproc \ > --disable-protocol=gopher \ > --disable-shared \ > --disable-txtpages \ > --disable-xlib > %{__make} %{?_smp_mflags} > make documentation > popd > > %install > pushd generic > make install DESTDIR=%{buildroot} > popd > mkdir %{buildroot}%{_bindir} > ln -s %{_prefix}/local/bin/ffmpeg %{buildroot}%{_bindir}/ffmpeg > rm -rf %{buildroot}%{_prefix}/local/include > %{buildroot}%{_prefix}/local/lib %{buildroot}%{_prefix}/local/lib64 > %{buildroot}%{_prefix}/local/share > strip --strip-unneeded %{buildroot}%{_prefix}/local/bin/ffmpeg > > %files > %{_prefix}/local/bin/ffmpeg > %{_bindir}/ffmpeg > > %files manpages > %{_prefix}/local/man/man1/* > %{_prefix}/local/man/man3/* > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". -- Sébastien LHUILLIER 14 rue du 8e Régiment d'artillerie 54500 VANDOEUVRE LES NANCY port : 06 51 83 72 23 fixe : 09 52 69 27 86 MSN/skype : slhuilli at hotmail.com http://www.sebastien-lhuillier.com From gounthar at gmail.com Mon Jun 22 12:10:24 2020 From: gounthar at gmail.com (Verachten Bruno) Date: Mon, 22 Jun 2020 11:10:24 +0200 Subject: [FFmpeg-user] How to terminate cleanly a recording on Windows In-Reply-To: References: Message-ID: The audio device does not have the same name under cmd.exe, but the "q" key worked. C:\Utilisateurs\fr20445>ffmpeg.exe -f dshow -i audio="Réseau de microphones (Rea ltek " -acodec pcm_s16le -ac 1 -ar 16000 1.wav ffmpeg version N-50911-g9efcfbe Copyright (c) 2000-2013 the FFmpeg developers built on Mar 13 2013 21:26:48 with gcc 4.7.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab le-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libg sm --enable-libilbc --enable-libmp3lame --enable-libopencore-amrnb --enable-libo pencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-li bschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-lib twolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enabl e-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib libavutil 52. 19.100 / 52. 19.100 libavcodec 55. 0.100 / 55. 0.100 libavformat 55. 0.100 / 55. 0.100 libavdevice 54. 4.100 / 54. 4.100 libavfilter 3. 45.103 / 3. 45.103 libswscale 2. 2.100 / 2. 2.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 2.100 / 52. 2.100 [dshow @ 020bab80] Estimating duration from bitrate, this may be inaccurate Guessed Channel Layout for Input Stream #0.0 : stereo Input #0, dshow, from 'audio=R├®seau de microphones (Realtek ': Duration: N/A, start: 53125.388000, bitrate: 1411 kb/s Stream #0:0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s Output #0, wav, to '1.wav': Metadata: ISFT : Lavf55.0.100 Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 16000 Hz, mono, s16, 256 kb/s Stream mapping: Stream #0:0 -> #0:0 (pcm_s16le -> pcm_s16le) Press [q] to stop, [?] for help size= 234kB time=00:00:07.51 bitrate= 255.6kbits/s video:0kB audio:234kB subtitle:0 global headers:0kB muxing overhead 0.033338% Thanks a bunch. Bruno On Mon, Jun 22, 2020 at 10:28 AM Verachten Bruno wrote: > Thanks for trying Matteo, > > I'm using Cygwin on Windows 7. > I will give a try at cmd.exe. > > On Sat, Jun 20, 2020 at 11:28 AM Matteo Contrini > wrote: > >> On Fri, 19 Jun 2020, at 12:05 PM, Verachten Bruno wrote: >> > I haven't tried this particular command under Linux, but usually hitting >> > "q" ends the recording properly. >> > On Windows, "q" seems to do nothing, and CTRL+C ends the process, but >> not >> > at the right time. Most of the time, I miss the end of the recording. My >> > recordings are just a few seconds long. >> >> I've just tried your command on Windows 10 version 2004 with Windows >> Terminal 1.0.1401.0 and I have no problems. Pressing 'q' ends the recording >> correctly. >> >> Which terminal/console are you using? >> >> -- >> Matteo >> _______________________________________________ >> ffmpeg-user mailing list >> ffmpeg-user at ffmpeg.org >> https://ffmpeg.org/mailman/listinfo/ffmpeg-user >> >> To unsubscribe, visit link above, or email >> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". > > > > -- > Bruno Verachten > -- Bruno Verachten From barsnick at gmx.net Mon Jun 22 14:27:13 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Mon, 22 Jun 2020 13:27:13 +0200 Subject: [FFmpeg-user] Update ffmpeg In-Reply-To: References: Message-ID: <20200622112713.GE21633@sunshine.barsnick.net> On Mon, Jun 22, 2020 at 10:35:18 +0200, Lhuillier Sébastien wrote: > I have a PC specifically dedicated to FFMPEG and video editing under debian > 9.12. > I would like to update FFMPEG (my version used is 3.2.14-1~deb9u1. > The proposed packages do not have the new version 4 of ffmpeg. Do I have to > reassemble my whole system? There are several options, like outlined here: https://superuser.com/a/865744 (Note that debian-multimedia doesn't provide anything new for Debian 9 / stretch). Like Harald pointed out, building your own isn't that difficult, considering there exist a lot of guides. For Debian, check the link above, or this guide from the ffmpeg wiki: https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu Moritz From whkxa_618_ybz at 163.com Mon Jun 22 15:40:36 2020 From: whkxa_618_ybz at 163.com (=?GBK?B?wfqz0Mb0?=) Date: Mon, 22 Jun 2020 20:40:36 +0800 (CST) Subject: [FFmpeg-user] fatal error: libavcodec/avcodec.h: No such file or directory Message-ID: <774064c8.da22.172dc0b7055.Coremail.whkxa_618_ybz@163.com> Hello! I have installed ffmpeg according to https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu And it is ok when running ffmpeg -version But when I use #include in visual studio code, it is shown that "can not open source file libavcodec/avcodec.h " And when run "gcc decoder1.cpp -lavcodec -lavformat -lavutil -lswscale -o decoder1", "fatal error: libavcodec/avcodec.h: No such file or directory" appers. What should I do? thanks! From sebastien.lhuillier at gmail.com Mon Jun 22 15:48:43 2020 From: sebastien.lhuillier at gmail.com (=?UTF-8?Q?Lhuillier_S=C3=A9bastien?=) Date: Mon, 22 Jun 2020 14:48:43 +0200 Subject: [FFmpeg-user] Update ffmpeg In-Reply-To: <20200622112713.GE21633@sunshine.barsnick.net> References: <20200622112713.GE21633@sunshine.barsnick.net> Message-ID: Thanks a lot. Since my last post, I have totally broken my distro. I have just finished th reinstall.... Thanks to all Le lun. 22 juin 2020 à 13:27, Moritz Barsnick a écrit : > On Mon, Jun 22, 2020 at 10:35:18 +0200, Lhuillier Sébastien wrote: > > I have a PC specifically dedicated to FFMPEG and video editing under > debian > > 9.12. > > I would like to update FFMPEG (my version used is 3.2.14-1~deb9u1. > > The proposed packages do not have the new version 4 of ffmpeg. Do I have > to > > reassemble my whole system? > > There are several options, like outlined here: > https://superuser.com/a/865744 > > (Note that debian-multimedia doesn't provide anything new for Debian 9 > / stretch). > > Like Harald pointed out, building your own isn't that difficult, > considering there exist a lot of guides. For Debian, check the link > above, or this guide from the ffmpeg wiki: > https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu > > Moritz > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". -- Sébastien LHUILLIER 14 rue du 8e Régiment d'artillerie 54500 VANDOEUVRE LES NANCY port : 06 51 83 72 23 fixe : 09 52 69 27 86 MSN/skype : slhuilli at hotmail.com http://www.sebastien-lhuillier.com From h.reindl at thelounge.net Mon Jun 22 16:26:24 2020 From: h.reindl at thelounge.net (Reindl Harald) Date: Mon, 22 Jun 2020 15:26:24 +0200 Subject: [FFmpeg-user] fatal error: libavcodec/avcodec.h: No such file or directory In-Reply-To: <774064c8.da22.172dc0b7055.Coremail.whkxa_618_ybz@163.com> References: <774064c8.da22.172dc0b7055.Coremail.whkxa_618_ybz@163.com> Message-ID: <2f427032-17a4-09a4-d7aa-63200676fbf9@thelounge.net> Am 22.06.20 um 14:40 schrieb 龙承启: > Hello! > I have installed ffmpeg according to https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu > And it is ok when running ffmpeg -version > But when I use #include in visual studio code, it is shown that "can not open source file libavcodec/avcodec.h " > And when run "gcc decoder1.cpp -lavcodec -lavformat -lavutil -lswscale -o decoder1", "fatal error: libavcodec/avcodec.h: No such file or directory" appers. > What should I do? it can't smell the location --prefix="$HOME/ffmpeg_build" i guess From whkxa_618_ybz at 163.com Mon Jun 22 16:29:17 2020 From: whkxa_618_ybz at 163.com (=?utf-8?B?6b6Z5om/5ZCv?=) Date: Mon, 22 Jun 2020 21:29:17 +0800 (GMT+08:00) Subject: [FFmpeg-user] =?utf-8?b?5Zue5aSN77yaIGZhdGFsIGVycm9yOiBsaWJhdmNv?= =?utf-8?q?dec/avcodec=2Eh=3A_No_such_file_or_directory?= In-Reply-To: <2f427032-17a4-09a4-d7aa-63200676fbf9@thelounge.net> References: <774064c8.da22.172dc0b7055.Coremail.whkxa_618_ybz@163.com> <2f427032-17a4-09a4-d7aa-63200676fbf9@thelounge.net> Message-ID: <5f4da4d5.2d60.172dc38033f.Coremail.whkxa_618_ybz@163.com> thank you very much! but what I do to deal with this problem? | | 龙承启 邮箱:whkxa_618_ybz at 163.com | 签名由 网易邮箱大师 定制 在2020年06月22日 21:26,Reindl Harald 写道: Am 22.06.20 um 14:40 schrieb 龙承启: > Hello! > I have installed ffmpeg according to https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu > And it is ok when running ffmpeg -version > But when I use #include in visual studio code, it is shown that "can not open source file libavcodec/avcodec.h " > And when run "gcc decoder1.cpp -lavcodec -lavformat -lavutil -lswscale -o decoder1", "fatal error: libavcodec/avcodec.h: No such file or directory" appers. > What should I do? it can't smell the location --prefix="$HOME/ffmpeg_build" i guess _______________________________________________ ffmpeg-user mailing list ffmpeg-user at ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From h.reindl at thelounge.net Mon Jun 22 16:38:38 2020 From: h.reindl at thelounge.net (Reindl Harald) Date: Mon, 22 Jun 2020 15:38:38 +0200 Subject: [FFmpeg-user] =?utf-8?b?5Zue5aSN77yaIGZhdGFsIGVycm9yOiBsaWJhdmNv?= =?utf-8?q?dec/avcodec=2Eh=3A_No_such_file_or_directory?= In-Reply-To: <5f4da4d5.2d60.172dc38033f.Coremail.whkxa_618_ybz@163.com> References: <774064c8.da22.172dc0b7055.Coremail.whkxa_618_ybz@163.com> <2f427032-17a4-09a4-d7aa-63200676fbf9@thelounge.net> <5f4da4d5.2d60.172dc38033f.Coremail.whkxa_618_ybz@163.com> Message-ID: Am 22.06.20 um 15:29 schrieb 龙承启: > thank you very much! > but what I do to deal with this problem? wrong mailing list besides that i could puke when one replies with a off-list copy, using top posting and converts a message to html for no reason > 龙承启 > 邮箱:whkxa_618_ybz at 163.com > > > > > 签名由 网易邮箱大师 定制 > > 在2020年06月22日 21:26,Reindl Harald > 写道: > > > Am 22.06.20 um 14:40 schrieb 龙承启: > > Hello! > >       I have installed ffmpeg according to > https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu > >       And it is ok when running ffmpeg -version > >       But when I use #include in visual > studio code, it is shown that "can not open source file > libavcodec/avcodec.h " > >       And when run "gcc decoder1.cpp -lavcodec -lavformat >  -lavutil -lswscale  -o decoder1",   "fatal error: > libavcodec/avcodec.h: No such file or directory"  appers. > >       What should I do? > > it can't smell the location --prefix="$HOME/ffmpeg_build" i guess From matthew.reus01 at gmail.com Mon Jun 22 17:22:33 2020 From: matthew.reus01 at gmail.com (Matthew Reus) Date: Mon, 22 Jun 2020 20:07:33 +0545 Subject: [FFmpeg-user] FFmpeg Taking Huge RAM memory Message-ID: Hello , I m running Ubuntu 18.04 server with nvidia compiled with ffmpeg *ffmpeg version N-96891-g60b1f85 Copyright (c) 2000-2020 the FFmpeg developers* * built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1)* *configuration: --prefix=/root/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags=-L/root/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/root/bin --enable-cuda --enable-cuvid --enable-libnpp --extra-cflags=-I../nv_sdk --extra-ldflags=-L../nv_sdk --enable-cuda-nvcc --extra-cflags=-I/usr/local/cuda/include/ --extra-ldflags=-L/usr/local/cuda/lib64/ --enable-gpl --enable-libaom --enable-libass --enable-libfdk-aac --enable-vaapi --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree* libavutil 56. 42.100 / 56. 42.100 libavcodec 58. 73.102 / 58. 73.102 libavformat 58. 39.101 / 58. 39.101 libavdevice 58. 9.103 / 58. 9.103 libavfilter 7. 77.100 / 7. 77.100 libswscale 5. 6.100 / 5. 6.100 libswresample 3. 6.100 / 3. 6.100 libpostproc 55. 6.100 / 55. 6.100 Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... I m running 29 ffmpeg process where i have two Quadro P5000 gpus are running . I have 64 gb of ram memory . on transcoding i have fully dedicated on gpu acceleration .But the ffmpeg process is taking huge ram memory . Here i have listed my scipt and logs . COuld you help me to solve these issue . *ffmpeg -hwaccel_device 0 -hwaccel nvdec -hwaccel_output_format cuda -i 'udp://@172.16.16.25:9802?overrun_nonfatal=1&fifo_size=1000000\&overrun_nonfatal ' -vf "format=yuv420p|cuda,yadif_cuda=0:-1:0,scale_npp=1280:720" -b:v 2.5M -bf 1 -aspect 16:9 -profile:v main -preset:v medium -c:v h264_nvenc -c:a aac -b:a 128k -ar 48000 -strict -2 -f flv 'rtmp://admin:admin at 172.16.16.206/livetv/AnjanTv.stream ' -vf "format=yuv420p|cuda,yadif_cuda=0:-1:0,scale_npp=-720:576" -b:v 600k -bf 1 -aspect 16:9 -profile:v main -preset:v medium -c:v h264_nvenc -c:a aac -b:a 128k -ar 48000 -strict -2 -f flv 'rtmp://admin:admin at 172.16.16.206/ott/ottAnjanTv.stream '* ffmpeg version N-96891-g60b1f85 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 7 (Ubuntu 7.4.0-1ubuntu1~18.04.1) configuration: --prefix=/root/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags=-L/root/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/root/bin --enable-cuda --enable-cuvid --enable-libnpp --extra-cflags=-I../nv_sdk --extra-ldflags=-L../nv_sdk --enable-cuda-nvcc --extra-cflags=-I/usr/local/cuda/include/ --extra-ldflags=-L/usr/local/cuda/lib64/ --enable-gpl --enable-libaom --enable-libass --enable-libfdk-aac --enable-vaapi --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree libavutil 56. 42.100 / 56. 42.100 libavcodec 58. 73.102 / 58. 73.102 libavformat 58. 39.101 / 58. 39.101 libavdevice 58. 9.103 / 58. 9.103 libavfilter 7. 77.100 / 7. 77.100 libswscale 5. 6.100 / 5. 6.100 libswresample 3. 6.100 / 3. 6.100 libpostproc 55. 6.100 / 55. 6.100 [h264 @ 0x5604c32c0740] SPS unavailable in decode_picture_timing [h264 @ 0x5604c32c0740] non-existing PPS 0 referenced [h264 @ 0x5604c32c0740] SPS unavailable in decode_picture_timing [h264 @ 0x5604c32c0740] non-existing PPS 0 referenced [h264 @ 0x5604c32c0740] decode_slice_header error [h264 @ 0x5604c32c0740] no frame! [h264 @ 0x5604c32c0740] mmco: unref short failure [h264 @ 0x5604c32c0740] number of reference frames (0+4) exceeds max (3; probably corrupt input), discarding one [mpegts @ 0x5604c3299f00] Packet corrupt (stream = 0, dts = 2202070640). [mpegts @ 0x5604c3299f00] PES packet size mismatch [mpegts @ 0x5604c3299f00] Packet corrupt (stream = 1, dts = 2202020583). [mpegts @ 0x5604c3299f00] PES packet size mismatch [mpegts @ 0x5604c3299f00] Packet corrupt (stream = 3, dts = 2202132903). [mpegts @ 0x5604c3299f00] Packet corrupt (stream = 0, dts = 2202200240). Input #0, mpegts, from 'udp://@ 172.16.16.25:9802?overrun_nonfatal=1&fifo_size=1000000\&overrun_nonfatal': Duration: N/A, start: 24465.599367, bitrate: N/A Program 13 Stream #0:0[0x515]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, bt470bg, top first), 720x576 [SAR 12:11 DAR 15:11], 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1[0x516](eng): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 128 kb/s Stream #0:2[0x517](eng): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 64 kb/s Stream #0:3[0x518](eng): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 64 kb/s [rtmp @ 0x5604c32c0000] Ignoring unsupported var reason [rtmp @ 0x5604c366d8c0] Ignoring unsupported var reason Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_nvenc)) Stream #0:1 -> #0:1 (mp2 (native) -> aac (native)) Stream #0:0 -> #1:0 (h264 (native) -> h264 (h264_nvenc)) Stream #0:1 -> #1:1 (mp2 (native) -> aac (native)) Press [q] to stop, [?] for help [h264 @ 0x5604c3ac3740] co located POCs unavailable [h264 @ 0x5604c3b1bcc0] mmco: unref short failure [h264 @ 0x5604c3b1bcc0] number of reference frames (0+4) exceeds max (3; probably corrupt input), discarding one Output #0, flv, to 'rtmp://admin:admin at 172.16.16.206/livetv/AnjanTv.stream': Metadata: encoder : Lavf58.39.101 Stream #0:0: Video: h264 (h264_nvenc) (Main) ([7][0][0][0] / 0x0007), cuda, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 2500 kb/s, 25 fps, 1k tbn, 25 tbc Metadata: encoder : Lavc58.73.102 h264_nvenc Side data: cpb: bitrate max/min/avg: 0/0/2500000 buffer size: 5000000 vbv_delay: N/A Stream #0:1(eng): Audio: aac (LC) ([10][0][0][0] / 0x000A), 48000 Hz, stereo, fltp, 128 kb/s Metadata: encoder : Lavc58.73.102 aac Output #1, flv, to 'rtmp://admin:admin at 172.16.16.206/ott/ottAnjanTv.stream': Metadata: encoder : Lavf58.39.101 Stream #1:0: Video: h264 (h264_nvenc) (Main) ([7][0][0][0] / 0x0007), cuda, 720x576 [SAR 64:45 DAR 16:9], q=-1--1, 600 kb/s, 25 fps, 1k tbn, 25 tbc Metadata: encoder : Lavc58.73.102 h264_nvenc Side data: cpb: bitrate max/min/avg: 0/0/600000 buffer size: 1200000 vbv_delay: N/A Stream #1:1(eng): Audio: aac (LC) ([10][0][0][0] / 0x000A), 48000 Hz, stereo, fltp, 128 kb/s Metadata: encoder : Lavc58.73.102 aac [mp2 @ 0x56122619da80] Header missing Error while decoding stream #0:1: Invalid data found when processing input [mp2 @ 0x56122619da80] Header missing Error while decoding stream #0:1: Invalid data found when processing input [mpegts @ 0x561226170f00] Packet corrupt (stream = 0, dts = 2213288240).te=2290.5kbits/s speed=2.44x [mpegts @ 0x561226170f00] PES packet size mismatch [mpegts @ 0x561226170f00] Packet corrupt (stream = 1, dts = 2213230983). [mp2 @ 0x56122619da80] Header missing Error while decoding stream #0:1: Invalid data found when processing input [mpegts @ 0x561226170f00] Packet corrupt (stream = 0, dts = 2213932640).te=2596.1kbits/s speed=1.48x [h264 @ 0x5612269ed4c0] mmco: unref short failure time=00:00:16.80 bitrate=2599.0kbits/s speed=1.46x [h264 @ 0x5612269ed4c0] number of reference frames (0+4) exceeds max (3; probably corrupt input), discarding one [mpegts @ 0x561226170f00] Packet corrupt (stream = 0, dts = 2214166640).te=2654.0kbits/s speed=1.39x [mpegts @ 0x561226170f00] PES packet size mismatch [mpegts @ 0x561226170f00] Packet corrupt (stream = 1, dts = 2214099303). [mp2 @ 0x56122619da80] Header missing Error while decoding stream #0:1: Invalid data found when processing input [mpegts @ 0x561226170f00] Packet corrupt (stream = 0, dts = 2214199040). [flv @ 0x5612261c6280] Failed to update header with correct duration.trate=2625.2kbits/s speed=1.29x [flv @ 0x5612261c6280] Failed to update header with correct filesize. [flv @ 0x561226191480] Failed to update header with correct duration. [flv @ 0x561226191480] Failed to update header with correct filesize. frame= 553 fps= 30 q=25.0 Lq=31.0 size= 7661kB time=00:00:23.80 bitrate=2636.7kbits/s speed=1.29x From ffmpeg at roberthallam.com Mon Jun 22 17:39:48 2020 From: ffmpeg at roberthallam.com (Rob Hallam) Date: Mon, 22 Jun 2020 15:39:48 +0100 Subject: [FFmpeg-user] Update ffmpeg In-Reply-To: References: <20200622112713.GE21633@sunshine.barsnick.net> Message-ID: On Mon, 22 Jun 2020 at 13:49, Lhuillier Sébastien < sebastien.lhuillier at gmail.com> wrote: > Since my last post, I have totally broken my distro If you'll permit a friendly tip outside the scope of this ML... As you have reinstalled anyway, now is a great time to consider i) backups and ii) containers such as Docker or LXD/LXC. The former everyone should have. The latter would let use applications in a way that is isolated freom your main OS. Good luck! Cheers, Rob From lsbplsb at yahoo.com Mon Jun 22 20:34:50 2020 From: lsbplsb at yahoo.com (Leonardo) Date: Mon, 22 Jun 2020 17:34:50 +0000 (UTC) Subject: [FFmpeg-user] Last frame with wrong duration - video from images References: <1122111497.1936818.1592847290342.ref@mail.yahoo.com> Message-ID: <1122111497.1936818.1592847290342@mail.yahoo.com> Hello, I have two images named figur001.png and figur002.png that I want to make a video of 10 seconds, each figure being displayed for 5 seconds. After command ffmpeg -framerate 1/5 -i figur%03d.png -c:v libx264 -pix_fmt yuv420p -r 30 -vf scale=1920:1080 video.mp4 It seems that the full duration is 10 seconds because ffmpeg displays this: Duration: 00:00:10.00, start: 0.000000, bitrate: N/A However, using mplayer or vlc to play the video, the first image is showed during 5 seconds (as it should be) but the second image no. The second image is displayed by less than a second (0.1s maybe) Any ideas on how to solve this? Kind regards, Leonardo From ceffmpeg at gmail.com Mon Jun 22 20:54:59 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Mon, 22 Jun 2020 19:54:59 +0200 Subject: [FFmpeg-user] Last frame with wrong duration - video from images In-Reply-To: <1122111497.1936818.1592847290342@mail.yahoo.com> References: <1122111497.1936818.1592847290342.ref@mail.yahoo.com> <1122111497.1936818.1592847290342@mail.yahoo.com> Message-ID: Am Mo., 22. Juni 2020 um 19:45 Uhr schrieb Leonardo via ffmpeg-user : > I have two images named figur001.png and figur002.png that I want to make a video of 10 seconds, each figure being displayed for 5 seconds. > > After command > > ffmpeg -framerate 1/5 -i figur%03d.png -c:v libx264 -pix_fmt yuv420p -r 30 -vf scale=1920:1080 video.mp4 Complete, uncut console output missing. Carl Eugen From lsbplsb at yahoo.com Mon Jun 22 21:33:38 2020 From: lsbplsb at yahoo.com (Leonardo) Date: Mon, 22 Jun 2020 18:33:38 +0000 (UTC) Subject: [FFmpeg-user] Last frame with wrong duration - video from images In-Reply-To: References: <1122111497.1936818.1592847290342.ref@mail.yahoo.com> <1122111497.1936818.1592847290342@mail.yahoo.com> Message-ID: <1630716718.1972312.1592850818063@mail.yahoo.com> Here is the full output $ ffmpeg -framerate 1/5 -i figura%03d.png -c:v libx264 -pix_fmt yuv420p -r 30 -vf scale=1920:1080 video.mp4 ffmpeg version 4.1.4-1~deb10u1 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 8 (Debian 8.3.0-6) configuration: --prefix=/usr --extra-version='1~deb10u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared libavutil 56. 22.100 / 56. 22.100 libavcodec 58. 35.100 / 58. 35.100 libavformat 58. 20.100 / 58. 20.100 libavdevice 58. 5.100 / 58. 5.100 libavfilter 7. 40.101 / 7. 40.101 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 3.100 / 5. 3.100 libswresample 3. 3.100 / 3. 3.100 libpostproc 55. 3.100 / 55. 3.100 Input #0, image2, from 'figura%03d.png': Duration: 00:00:10.00, start: 0.000000, bitrate: N/A Stream #0:0: Video: png, rgb24(pc), 1920x1080, 0.20 tbr, 0.20 tbn, 0.20 tbc Stream mapping: Stream #0:0 -> #0:0 (png (native) -> h264 (libx264)) Press [q] to stop, [?] for help [libx264 @ 0x56107b539380] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX [libx264 @ 0x56107b539380] profile High, level 4.0 [libx264 @ 0x56107b539380] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to 'video.mp4': Metadata: encoder : Lavf58.20.100 Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1920x1080, q=-1--1, 30 fps, 15360 tbn, 30 tbc Metadata: encoder : Lavc58.35.100 libx264 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1 frame= 151 fps= 66 q=29.0 size= 0kB time=00:00:03.26 bitrate= 0.1kbits/frame= 151 fps= 54 q=-1.0 Lsize= 39kB time=00:00:04.93 bitrate= 65.0kbits/s dup=149 drop=0 speed=1.77x video:37kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 7.077967% [libx264 @ 0x56107b539380] frame I:1 Avg QP:19.00 size: 20449 [libx264 @ 0x56107b539380] frame P:38 Avg QP:11.10 size: 158 [libx264 @ 0x56107b539380] frame B:112 Avg QP:13.68 size: 92 [libx264 @ 0x56107b539380] consecutive B-frames: 0.7% 1.3% 0.0% 98.0% [libx264 @ 0x56107b539380] mb I I16..4: 21.4% 74.5% 4.1% [libx264 @ 0x56107b539380] mb P I16..4: 0.0% 0.0% 0.0% P16..4: 0.1% 0.0% 0.0% 0.0% 0.0% skip:99.8% [libx264 @ 0x56107b539380] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.3% 0.0% 0.0% direct: 0.0% skip:99.7% L0:62.0% L1:38.0% BI: 0.0% [libx264 @ 0x56107b539380] 8x8 transform intra:74.0% inter:9.7% [libx264 @ 0x56107b539380] coded y,uvDC,uvAC intra: 2.3% 1.2% 1.2% inter: 0.0% 0.0% 0.0% [libx264 @ 0x56107b539380] i16 v,h,dc,p: 91% 2% 7% 0% [libx264 @ 0x56107b539380] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 44% 1% 55% 0% 0% 0% 0% 0% 0% [libx264 @ 0x56107b539380] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 47% 18% 14% 3% 4% 3% 5% 4% 2% [libx264 @ 0x56107b539380] i8c dc,h,v,p: 99% 1% 1% 0% [libx264 @ 0x56107b539380] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 0x56107b539380] ref P L0: 78.2% 2.6% 19.0% 0.1% [libx264 @ 0x56107b539380] ref B L0: 43.5% 56.5% On Monday, June 22, 2020, 03:27:27 PM GMT-3, Carl Eugen Hoyos wrote: Am Mo., 22. Juni 2020 um 19:45 Uhr schrieb Leonardo via ffmpeg-user : > I have two images named figur001.png and figur002.png that I want to make a video of 10 seconds, each figure being displayed for 5 seconds. > > After command > > ffmpeg -framerate 1/5 -i figur%03d.png -c:v libx264 -pix_fmt yuv420p -r 30 -vf scale=1920:1080 video.mp4 Complete, uncut console output missing. Carl Eugen _______________________________________________ ffmpeg-user mailing list ffmpeg-user at ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From noeck.marburg at gmx.de Mon Jun 22 21:39:50 2020 From: noeck.marburg at gmx.de (Noeck) Date: Mon, 22 Jun 2020 20:39:50 +0200 Subject: [FFmpeg-user] AAC wiki out of date? In-Reply-To: References: Message-ID: 17.06.20 15:12 Kieran O Leary: > I was looking to find out some info about AAC encoding in FFmpeg and I went > to the wiki https://trac.ffmpeg.org/wiki/Encode/AAC > Would I be correct in saying that it's out of date, as the native encoder > is now the best quality since 3.0? There's an emphasis on the Fraunhofer > encoder in the wiki and how it is the highest quality. Does anyone know an answer to this? Is the trac wiki actively maintained or is it superseeded other documentation? Is the Fraunhofer encoder still the best AAC encoder? Cheers, Daniel From astroelectronic at t-online.de Mon Jun 22 21:59:56 2020 From: astroelectronic at t-online.de (Michael Koch) Date: Mon, 22 Jun 2020 20:59:56 +0200 Subject: [FFmpeg-user] Last frame with wrong duration - video from images In-Reply-To: <1630716718.1972312.1592850818063@mail.yahoo.com> References: <1122111497.1936818.1592847290342.ref@mail.yahoo.com> <1122111497.1936818.1592847290342@mail.yahoo.com> <1630716718.1972312.1592850818063@mail.yahoo.com> Message-ID: <01786ed5-09b0-a751-6eda-1e9478ee0ecd@t-online.de> Am 22.06.2020 um 20:33 schrieb Leonardo via ffmpeg-user: > Here is the full output > > $ ffmpeg -framerate 1/5 -i figura%03d.png -c:v libx264 -pix_fmt yuv420p -r 30 -vf scale=1920:1080 video.mp4 It works when you remove the scale filter, but don't ask me why. Michael From eclipse7 at gmx.net Mon Jun 22 22:17:58 2020 From: eclipse7 at gmx.net (Alexander Strasser) Date: Mon, 22 Jun 2020 21:17:58 +0200 Subject: [FFmpeg-user] Last frame with wrong duration - video from images In-Reply-To: <1122111497.1936818.1592847290342@mail.yahoo.com> References: <1122111497.1936818.1592847290342.ref@mail.yahoo.com> <1122111497.1936818.1592847290342@mail.yahoo.com> Message-ID: <20200622191758.GA161@xklotz.local> Hi! On 2020-06-22 17:34 +0000, Leonardo via ffmpeg-user wrote: > I have two images named figur001.png and figur002.png that I want to make a video of 10 seconds, each figure being displayed for 5 seconds. > > After command > > ffmpeg -framerate 1/5 -i figur%03d.png -c:v libx264 -pix_fmt yuv420p -r 30 -vf scale=1920:1080 video.mp4 > > It seems that the full duration is 10 seconds because ffmpeg displays this: > > Duration: 00:00:10.00, start: 0.000000, bitrate: N/A > However, using mplayer or vlc to play the video, the first image is showed during 5 seconds (as it should be) but the second image no. > The second image is displayed by less than a second (0.1s maybe) If you test with MPlayer, please make sure you have a recent build. I believe the duration of the last frame wasn't respected in old versions of MPlayer. Sorry, I can't remember the date when it was added on top of my head. If you post the version output of mplayer, I will look it up. [...] Alexander From lsbplsb at yahoo.com Mon Jun 22 22:22:20 2020 From: lsbplsb at yahoo.com (Leonardo) Date: Mon, 22 Jun 2020 19:22:20 +0000 (UTC) Subject: [FFmpeg-user] Last frame with wrong duration - video from images In-Reply-To: <20200622191758.GA161@xklotz.local> References: <1122111497.1936818.1592847290342.ref@mail.yahoo.com> <1122111497.1936818.1592847290342@mail.yahoo.com> <20200622191758.GA161@xklotz.local> Message-ID: <228570801.1987474.1592853740804@mail.yahoo.com> Hi, $ mplayer MPlayer 1.3.0 (Debian), built with gcc-8 (C) 2000-2016 MPlayer Team and $ vlc --version VLC media player 3.0.11 Vetinari (revision 3.0.11-0-gdc0c5ced72) I'm running debian 10 On Monday, June 22, 2020, 4:18:12 PM GMT-3, Alexander Strasser wrote: Hi! On 2020-06-22 17:34 +0000, Leonardo via ffmpeg-user wrote: > I have two images named figur001.png and figur002.png that I want to make a video of 10 seconds, each figure being displayed for 5 seconds. > > After command > > ffmpeg -framerate 1/5 -i figur%03d.png -c:v libx264 -pix_fmt yuv420p -r 30 -vf scale=1920:1080 video.mp4 > > It seems that the full duration is 10 seconds because ffmpeg displays this: > > Duration: 00:00:10.00, start: 0.000000, bitrate: N/A > However, using mplayer or vlc to play the video, the first image is showed during 5 seconds (as it should be) but the second image no. > The second image is displayed by less than a second (0.1s maybe) If you test with MPlayer, please make sure you have a recent build. I believe the duration of the last frame wasn't respected in old versions of MPlayer. Sorry, I can't remember the date when it was added on top of my head. If you post the version output of mplayer, I will look it up. [...]   Alexander _______________________________________________ From lsbplsb at yahoo.com Mon Jun 22 22:14:16 2020 From: lsbplsb at yahoo.com (Leonardo) Date: Mon, 22 Jun 2020 19:14:16 +0000 (UTC) Subject: [FFmpeg-user] Last frame with wrong duration - video from images In-Reply-To: <01786ed5-09b0-a751-6eda-1e9478ee0ecd@t-online.de> References: <1122111497.1936818.1592847290342.ref@mail.yahoo.com> <1122111497.1936818.1592847290342@mail.yahoo.com> <1630716718.1972312.1592850818063@mail.yahoo.com> <01786ed5-09b0-a751-6eda-1e9478ee0ecd@t-online.de> Message-ID: <510850917.1992325.1592853256849@mail.yahoo.com> > > > On Monday, June 22, 2020, 4:10:16 PM GMT-3, Michael Koch wrote: > > > Am 22.06.2020 um 20:33 schrieb Leonardo via ffmpeg-user:> >  Here is the full output> >> > $ ffmpeg -framerate 1/5 -i figura%03d.png -c:v libx264 -pix_fmt yuv420p -r 30 -vf scale=1920:1080 video.mp4> > It works when you remove the scale filter, but don't ask me why.> > Michael> Indeed, it worked. Thanks. From astroelectronic at t-online.de Mon Jun 22 22:34:39 2020 From: astroelectronic at t-online.de (Michael Koch) Date: Mon, 22 Jun 2020 21:34:39 +0200 Subject: [FFmpeg-user] Last frame with wrong duration - video from images In-Reply-To: <01786ed5-09b0-a751-6eda-1e9478ee0ecd@t-online.de> References: <1122111497.1936818.1592847290342.ref@mail.yahoo.com> <1122111497.1936818.1592847290342@mail.yahoo.com> <1630716718.1972312.1592850818063@mail.yahoo.com> <01786ed5-09b0-a751-6eda-1e9478ee0ecd@t-online.de> Message-ID: <19e7e91e-abab-dd6c-791a-41d98a415964@t-online.de> Am 22.06.2020 um 20:59 schrieb Michael Koch: > Am 22.06.2020 um 20:33 schrieb Leonardo via ffmpeg-user: >>   Here is the full output >> >> $ ffmpeg -framerate 1/5 -i figura%03d.png -c:v libx264 -pix_fmt >> yuv420p -r 30 -vf scale=1920:1080 video.mp4 > > It works when you remove the scale filter, but don't ask me why. It also works when you replace -vf scale=1920:1080 by -s 1920x1080 Looks like a bug. Michael From lsbplsb at yahoo.com Mon Jun 22 22:40:26 2020 From: lsbplsb at yahoo.com (Leonardo) Date: Mon, 22 Jun 2020 19:40:26 +0000 (UTC) Subject: [FFmpeg-user] Last frame with wrong duration - video from images In-Reply-To: <19e7e91e-abab-dd6c-791a-41d98a415964@t-online.de> References: <1122111497.1936818.1592847290342.ref@mail.yahoo.com> <1122111497.1936818.1592847290342@mail.yahoo.com> <1630716718.1972312.1592850818063@mail.yahoo.com> <01786ed5-09b0-a751-6eda-1e9478ee0ecd@t-online.de> <19e7e91e-abab-dd6c-791a-41d98a415964@t-online.de> Message-ID: <1186167044.2009981.1592854826897@mail.yahoo.com> Hi, indeed, removing the filter scale OR replacing -vf scale=1920:1080 by -s 1920x1080, do the job. I really appreciate all tips. Thanks,Leonardo On Monday, June 22, 2020, 4:35:03 PM GMT-3, Michael Koch wrote: Am 22.06.2020 um 20:59 schrieb Michael Koch: > Am 22.06.2020 um 20:33 schrieb Leonardo via ffmpeg-user: >>   Here is the full output >> >> $ ffmpeg -framerate 1/5 -i figura%03d.png -c:v libx264 -pix_fmt >> yuv420p -r 30 -vf scale=1920:1080 video.mp4 > > It works when you remove the scale filter, but don't ask me why. It also works when you replace -vf scale=1920:1080 by -s 1920x1080 Looks like a bug. Michael _______________________________________________ ffmpeg-user mailing list ffmpeg-user at ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From eclipse7 at gmx.net Mon Jun 22 22:48:56 2020 From: eclipse7 at gmx.net (Alexander Strasser) Date: Mon, 22 Jun 2020 21:48:56 +0200 Subject: [FFmpeg-user] Last frame with wrong duration - video from images In-Reply-To: <228570801.1987474.1592853740804@mail.yahoo.com> References: <1122111497.1936818.1592847290342.ref@mail.yahoo.com> <1122111497.1936818.1592847290342@mail.yahoo.com> <20200622191758.GA161@xklotz.local> <228570801.1987474.1592853740804@mail.yahoo.com> Message-ID: <20200622194856.GB161@xklotz.local> On 2020-06-22 19:22 +0000, Leonardo via ffmpeg-user wrote: > $ mplayer > MPlayer 1.3.0 (Debian), built with gcc-8 (C) 2000-2016 MPlayer Team That is too old unfortunately :( The timing fix was implemented in SVN revision 37936 and first released in version 1.4.0 . I'd advise to build current development (SVN) version of MPlayer. If you get into trouble building MPlayer, that would be off-topic for this list. But regarding that you can post on the mplayer-users mailing list to get help. Or ask on #mplayer on freenode IRC. Please don't top-post here. If you don't know what it is, look it up please. Best regards, Alexander > and > $ vlc --version > VLC media player 3.0.11 Vetinari (revision 3.0.11-0-gdc0c5ced72) > > I'm running debian 10 > > > On Monday, June 22, 2020, 4:18:12 PM GMT-3, Alexander Strasser wrote: > > Hi! > > On 2020-06-22 17:34 +0000, Leonardo via ffmpeg-user wrote: > > I have two images named figur001.png and figur002.png that I want to make a video of 10 seconds, each figure being displayed for 5 seconds. > > > > After command > > > > ffmpeg -framerate 1/5 -i figur%03d.png -c:v libx264 -pix_fmt yuv420p -r 30 -vf scale=1920:1080 video.mp4 > > > > It seems that the full duration is 10 seconds because ffmpeg displays this: > > > > Duration: 00:00:10.00, start: 0.000000, bitrate: N/A > > > > However, using mplayer or vlc to play the video, the first image is showed during 5 seconds (as it should be) but the second image no. > > The second image is displayed by less than a second (0.1s maybe) > > If you test with MPlayer, please make sure you have a recent build. > > I believe the duration of the last frame wasn't respected in old > versions of MPlayer. Sorry, I can't remember the date when it was > added on top of my head. If you post the version output of mplayer, > I will look it up. > > > [...] > >   Alexander From ceffmpeg at gmail.com Tue Jun 23 00:42:12 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Mon, 22 Jun 2020 23:42:12 +0200 Subject: [FFmpeg-user] AAC wiki out of date? In-Reply-To: References: Message-ID: Am Mi., 17. Juni 2020 um 15:13 Uhr schrieb Kieran O Leary : > > I was looking to find out some info about AAC encoding in FFmpeg and I went > to the wiki https://trac.ffmpeg.org/wiki/Encode/AAC (Since this seems not obvious to many people:) The FFmpeg wiki is a wiki, nothing more, it is not "actively maintained" afaik (but seems correct in this specific case). > Would I be correct in saying that it's out of date, > as the native encoder is now the best quality since 3.0? Over the years, I realized that I am unable to judge an audio encoder's quality but I am sure that this is not true. > There's an emphasis on the Fraunhofer > encoder in the wiki and how it is the highest quality. Yes. Carl Eugen From ceffmpeg at gmail.com Tue Jun 23 00:43:30 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Mon, 22 Jun 2020 23:43:30 +0200 Subject: [FFmpeg-user] Update ffmpeg In-Reply-To: References: Message-ID: Am Mo., 22. Juni 2020 um 10:36 Uhr schrieb Lhuillier Sébastien : > > Hi, > > I have a PC specifically dedicated to FFMPEG and video editing under debian > 9.12. > I would like to update FFMPEG (my version used is 3.2.14-1~deb9u1. > The proposed packages do not have the new version 4 of ffmpeg. Do I have to > reassemble my whole system? If you are unable to compile a static FFmpeg binary yourself (that does not interfere with anything else on your system), there are people who offer such binaries, see links on our download page. Carl Eugen From ceffmpeg at gmail.com Tue Jun 23 00:46:49 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Mon, 22 Jun 2020 23:46:49 +0200 Subject: [FFmpeg-user] FFmpeg Taking Huge RAM memory In-Reply-To: References: Message-ID: Am Mo., 22. Juni 2020 um 16:23 Uhr schrieb Matthew Reus : > *ffmpeg -hwaccel_device 0 -hwaccel nvdec -hwaccel_output_format cuda -i > 'udp://@172.16.16.25:9802?overrun_nonfatal=1&fifo_size=1000000\&overrun_nonfatal > ' > -vf "format=yuv420p|cuda,yadif_cuda=0:-1:0,scale_npp=1280:720" -b:v 2.5M > -bf 1 -aspect 16:9 -profile:v main -preset:v medium -c:v h264_nvenc -c:a > aac -b:a 128k -ar 48000 -strict -2 -f flv > 'rtmp://admin:admin at 172.16.16.206/livetv/AnjanTv.stream > ' -vf > "format=yuv420p|cuda,yadif_cuda=0:-1:0,scale_npp=-720:576" -b:v 600k -bf 1 > -aspect 16:9 -profile:v main -preset:v medium -c:v h264_nvenc -c:a aac -b:a > 128k -ar 48000 -strict -2 -f flv > 'rtmp://admin:admin at 172.16.16.206/ott/ottAnjanTv.stream > '* I try to avoid network issues (I realized at some point that they are *always* unreproducible and impossible to debug) but aren't you explicitly asking FFmpeg to allocate huge amounts of memory? Or to ask differently: Is the issue reproducible with software decoding? Is the issue reproducible with software encoding? Is the issue reproducible with file output? Is the issue reproducible with file input? If this does not help, there is a tool called massif which tells you where exactly memory allocations happen. Carl Eugen From ceffmpeg at gmail.com Tue Jun 23 00:50:49 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Mon, 22 Jun 2020 23:50:49 +0200 Subject: [FFmpeg-user] Last frame with wrong duration - video from images In-Reply-To: <19e7e91e-abab-dd6c-791a-41d98a415964@t-online.de> References: <1122111497.1936818.1592847290342.ref@mail.yahoo.com> <1122111497.1936818.1592847290342@mail.yahoo.com> <1630716718.1972312.1592850818063@mail.yahoo.com> <01786ed5-09b0-a751-6eda-1e9478ee0ecd@t-online.de> <19e7e91e-abab-dd6c-791a-41d98a415964@t-online.de> Message-ID: Am Mo., 22. Juni 2020 um 21:35 Uhr schrieb Michael Koch : > > Am 22.06.2020 um 20:59 schrieb Michael Koch: > > Am 22.06.2020 um 20:33 schrieb Leonardo via ffmpeg-user: > >> Here is the full output > >> > >> $ ffmpeg -framerate 1/5 -i figura%03d.png -c:v libx264 -pix_fmt > >> yuv420p -r 30 -vf scale=1920:1080 video.mp4 > > > > It works when you remove the scale filter, but don't ask me why. > > It also works when you replace > -vf scale=1920:1080 > by > -s 1920x1080 > > Looks like a bug. It is hard for the filter-chain to know when a stream ends but I believe other work-arounds exist. Carl Eugen From ceffmpeg at gmail.com Tue Jun 23 00:51:53 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Mon, 22 Jun 2020 23:51:53 +0200 Subject: [FFmpeg-user] To Speed Up thumbnail creation - picture & video In-Reply-To: References: <3C68A413-FC7E-4910-8090-09A9481D5A08@gmail.com> Message-ID: Am Mo., 22. Juni 2020 um 10:04 Uhr schrieb Arunava Banerjee via ffmpeg-user : > Could a link with more recent versions of FFMPEG be provided? Sure: https://ffmpeg.org/releases/ffmpeg-snapshot-git.tar.bz2 Carl Eugen From lsbplsb at yahoo.com Tue Jun 23 00:55:02 2020 From: lsbplsb at yahoo.com (Leonardo) Date: Mon, 22 Jun 2020 21:55:02 +0000 (UTC) Subject: [FFmpeg-user] Last frame with wrong duration - video from images In-Reply-To: <20200622194856.GB161@xklotz.local> References: <1122111497.1936818.1592847290342.ref@mail.yahoo.com> <1122111497.1936818.1592847290342@mail.yahoo.com> <20200622191758.GA161@xklotz.local> <228570801.1987474.1592853740804@mail.yahoo.com> <20200622194856.GB161@xklotz.local> Message-ID: <221015691.2088895.1592862902283@mail.yahoo.com> Hi >> $ mplayer >> MPlayer 1.3.0 (Debian), built with gcc-8 (C) 2000-2016 MPlayer Team>>That is too old unfortunately :(>>The timing fix was implemented in SVN revision 37936 and first>released in version 1.4.0 .>> I'd advise to build current development (SVN) version of MPlayer. I did it. But still didn't help $ mplayer MPlayer SVN-r38192-8 (C) 2000-2020 MPlayer Team I opened the file video.mp4 in OpenShot, and the video has only 5 seconds (maybe 5.1s because of second image being show very quickly). So, I thouth it could be a problem with ffmpeg (too old perhaps). I tryed to update ffmpeg $ ffmpeg -version ffmpeg version 4.2.3 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 8 (Debian 8.3.0-6) Same result. :( Anyway, those previous tips (removing scale or using -s instead) did the job :) >Please don't top-post here. If you don't know what it is, look>it up please. sorry for this. Will try to avoid Best regards, Leonardo From louis.geuten at freecaster.com Tue Jun 23 13:03:55 2020 From: louis.geuten at freecaster.com (Louis Geuten) Date: Tue, 23 Jun 2020 12:03:55 +0200 Subject: [FFmpeg-user] Fwd: Fifo muxer with ISMV output results in corrupted video In-Reply-To: References: Message-ID: Hello, I'm using ffmpeg to transcode vod or live content using h264 through the ISMV protocol. I have had a few issues with networking recently, and decided to try to use the fifo muxer to decouple the output I/O from the encoding. However it seems that the video packets produced by the muxer are not valid. The audio seems fine. Saving the file on disk allow me to probe it, and it fails with the following error: [extract_extradata @ 0x48c9900] No start code is found. bonjour/Stream(v-0-1280): Invalid data found when processing input I have attached the output logs for both commands. The *fifo* command, which produces corrupt video files *(Job-7-Run-36.err)* /usr/local/bin/ffmpeg -nostdin -loglevel trace -probesize 20M -analyzeduration 10M -y -re -stream_loop -1 -i kuro_demo.mp4 -map 0:0 -vf "scale=1280:720" -pix_fmt yuv420p -preset veryfast -tune zerolatency -x264opts no-sliced-threads:nal-hrd=cbr:scenecut=0:qpmax=45:keyint=25 -minrate 2600K -maxrate 2600K -bufsize 5200K -b:v:0 2600K -flags +cgop -g 25 -keyint_min 25 -r 25.000000 -c:v:0 libx264 -an -bsf:v dump_extra -f fifo -fifo_format ismv -queue_size 200 -drop_pkts_on_overflow 1 -attempt_recovery 1 -recovery_wait_time 1 -restart_with_keyframe 1 -format_opts frag_duration=1920000:movflags=isml+frag_keyframe:write_prft=wallclock:fflags=+genpts bonjour/Stream(v-0-1280) -map 0:1 -c:a:0 aac -b:a:0 96K -ac 2 -metadata:s:a:0 language=und -bsf:v dump_extra -f fifo -fifo_format ismv -queue_size 200 -drop_pkts_on_overflow 1 -attempt_recovery 1 -recovery_wait_time 1 -restart_with_keyframe 1 -format_opts fflags=+genpts:frag_duration=1920000:movflags=isml+frag_keyframe:write_prft=wallclock bonjour/Stream(a-0-und) The same command without using the fifo muxer: (*Job-7-Run-37.err*) /usr/local/bin/ffmpeg -nostdin -loglevel trace -probesize 20M -analyzeduration 10M -y -re -stream_loop -1 -i kuro_demo.mp4 -map 0:0 -vf "scale=1280:720" -pix_fmt yuv420p -preset veryfast -tune zerolatency -x264opts no-sliced-threads:nal-hrd=cbr:scenecut=0:qpmax=45:keyint=25 -minrate 2600K -maxrate 2600K -bufsize 5200K -b:v:0 2600K -flags +cgop -g 25 -keyint_min 25 -r 25.000000 -c:v:0 libx264 -an -f ismv -movflags isml+frag_keyframe -write_prft wallclock -fflags +genpts -frag_duration 1920000 bonjour/Stream(v-0-1280) -map 0:1 -c:a:0 aac -b:a:0 96K -ac 2 -metadata:s:a:0 language=und -f ismv -fflags +genpts -frag_duration 1920000 -movflags isml+frag_keyframe -write_prft wallclock bonjour/Stream(a-0-und) I am using the latest git HEAD commit (44ce333f03e5daf7883147938f74018cec287aec) built from source. Is there some option I am missing to make the output ISMV file correct ? Or is this a bug in the fifo muxer ? Thanks for the help. -------------- next part -------------- A non-text attachment was scrubbed... Name: Job-7-Run-37-0.err Type: application/octet-stream Size: 116563 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Job-7-Run-36-0.err Type: application/octet-stream Size: 296971 bytes Desc: not available URL: From astroelectronic at t-online.de Tue Jun 23 13:17:30 2020 From: astroelectronic at t-online.de (Michael Koch) Date: Tue, 23 Jun 2020 12:17:30 +0200 Subject: [FFmpeg-user] Last frame with wrong duration - video from images In-Reply-To: References: <1122111497.1936818.1592847290342.ref@mail.yahoo.com> <1122111497.1936818.1592847290342@mail.yahoo.com> <1630716718.1972312.1592850818063@mail.yahoo.com> <01786ed5-09b0-a751-6eda-1e9478ee0ecd@t-online.de> <19e7e91e-abab-dd6c-791a-41d98a415964@t-online.de> Message-ID: <28734923-b209-b066-b28c-f038f159075a@t-online.de> Am 22.06.2020 um 23:50 schrieb Carl Eugen Hoyos: > Am Mo., 22. Juni 2020 um 21:35 Uhr schrieb Michael Koch > : >> Am 22.06.2020 um 20:59 schrieb Michael Koch: >>> Am 22.06.2020 um 20:33 schrieb Leonardo via ffmpeg-user: >>>> Here is the full output >>>> >>>> $ ffmpeg -framerate 1/5 -i figura%03d.png -c:v libx264 -pix_fmt >>>> yuv420p -r 30 -vf scale=1920:1080 video.mp4 >>> It works when you remove the scale filter, but don't ask me why. >> It also works when you replace >> -vf scale=1920:1080 >> by >> -s 1920x1080 >> >> Looks like a bug. > It is hard for the filter-chain to know when a stream ends but I > believe other work-arounds exist. One more possible workaround is to omit "-r 30" and add it to the filter chain: ffmpeg -framerate 1/5 -i figura%03d.png -c:v libx264 -pix_fmt yuv420p -vf scale=1920:1080,fps=30 video.mp4 Michael From yuta.y.fujii at pwc.com Tue Jun 23 15:56:38 2020 From: yuta.y.fujii at pwc.com (Yuta Fujii (JP)) Date: Tue, 23 Jun 2020 21:56:38 +0900 Subject: [FFmpeg-user] Question Regarding "Supported File Formats, Codecs or Features" Message-ID: Dear FFmpeg support team Hi, This is Yuta Fujii from PwC. I would like to ask you some questions regarding the following URL sites on the official website of FFmpeg, so I contact you. (URL:https://ffmpeg.org/general.html) Q1: What version of the codecs is currently reflected on the "Supported File Formats, Codecs or Features" page of the HP? [image: image.png] Q2: How often is "Supported File Formats, Codecs or Features" updated? Q3: Besides the major releases (eg: Ver4.2, 4.3) and point releases (eg: Ver4.2.1, 4.2.2), "Supported File Formats, Codecs or Features" are being updated. What standards are set for updating? Q4: Is there a time lag between updating the "Source Code" page and "Supported File Formats, Codecs or Features" page? If so, how long is it? For example, on July 21, 2019 (Ver4.2 release date described on the "Source Code" page of HP), was "Supported File Formats, Codecs or Features" updated to Ver4.2? (Source code page: https://ffmpeg.org/download.html#get-sources) [image: image.png] Q5: When the latest major release version is updated, will the point release of that latest version always be updated on the "Supported File Formats, Codecs or Features" page of the HP? (Is it correct to assume that the update on previous versions will not be reflected on "Supported File Formats, Codecs or Features"?) Thank you for your cooperation. Kind regards *Part of the PwC network* *藤井 雄太 Yuta Fujii* *アソシエイト Associate* *PwCコンサルティング合同会社 ストラテジーコンサルティング* *100-6921 東京都千代田区丸の内2-6-1 丸の内パークビルディング21階* *PwC Consulting LLC Strategy Consulting* *Marunouchi Park Building* *2-6-1 Marunouchi, Chiyoda-ku, Tokyo 100-6921, Japan* *直通: 080 (4299) 9980 Direct: +81 (80) 4299-9980* *Email: yuta.y.fujii at pwc.com * *www.strategyand.pwc.com * -- The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material.  Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer. Any views or opinions expressed in this email are solely those of the author and do not necessarily represent those of PwC. -------------- next part -------------- A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 111085 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 67041 bytes Desc: not available URL: From lsbplsb at yahoo.com Tue Jun 23 16:49:07 2020 From: lsbplsb at yahoo.com (Leonardo) Date: Tue, 23 Jun 2020 13:49:07 +0000 (UTC) Subject: [FFmpeg-user] Last frame with wrong duration - video from images In-Reply-To: <28734923-b209-b066-b28c-f038f159075a@t-online.de> References: <1122111497.1936818.1592847290342.ref@mail.yahoo.com> <1122111497.1936818.1592847290342@mail.yahoo.com> <1630716718.1972312.1592850818063@mail.yahoo.com> <01786ed5-09b0-a751-6eda-1e9478ee0ecd@t-online.de> <19e7e91e-abab-dd6c-791a-41d98a415964@t-online.de> <28734923-b209-b066-b28c-f038f159075a@t-online.de> Message-ID: <1661898109.2385472.1592920147444@mail.yahoo.com> Hi, all suggestions work as expected ffmpeg -framerate 1/5 -i figura%03d.png -c:v libx264 -pix_fmt yuv420p -r 30 video.mp4 ffmpeg -framerate 1/5 -i figura%03d.png -c:v libx264 -pix_fmt yuv420p -r 30 -s 1920x1080 video.mp4 ffmpeg -framerate 1/5 -i figura%03d.png -c:v libx264 -pix_fmt yuv420p -vf scale=1920:1080,fps=30 video.mp4 I really appreciate this. Thanks :) Even after reading the documentation, I could not understand the differences between "-r 30" and "fps=30". Could someone explain? Kind regards,Leonardo From eclipse7 at gmx.net Tue Jun 23 19:08:19 2020 From: eclipse7 at gmx.net (Alexander Strasser) Date: Tue, 23 Jun 2020 18:08:19 +0200 Subject: [FFmpeg-user] Last frame with wrong duration - video from images In-Reply-To: <221015691.2088895.1592862902283@mail.yahoo.com> References: <1122111497.1936818.1592847290342.ref@mail.yahoo.com> <1122111497.1936818.1592847290342@mail.yahoo.com> <20200622191758.GA161@xklotz.local> <228570801.1987474.1592853740804@mail.yahoo.com> <20200622194856.GB161@xklotz.local> <221015691.2088895.1592862902283@mail.yahoo.com> Message-ID: <20200623160819.GA975@xklotz.local> On 2020-06-22 21:55 +0000, Leonardo via ffmpeg-user wrote: > >> $ mplayer > >> MPlayer 1.3.0 (Debian), built with gcc-8 (C) 2000-2016 MPlayer Team>>That is too old unfortunately :(>>The timing fix was implemented in SVN revision 37936 and first>released in version 1.4.0 .>> I'd advise to build current development (SVN) version of MPlayer. > I did it. But still didn't help > $ mplayer > MPlayer SVN-r38192-8 (C) 2000-2020 MPlayer Team > I opened the file video.mp4 in OpenShot, and the video has only 5 seconds (maybe 5.1s because of second image being show very quickly). > So, I thouth it could be a problem with ffmpeg (too old perhaps). OK. This time there seems to be at least a problem with FFmpeg's filtering. It might be, that the specific mplayer fix I mentioned isn't needed here. To find out you would have to test a video generated with the mentioned workaround and test if it plays out correctly with both mplayer versions. Anyway, good you have at least way to create a correct video now. [...] Alexander From ceffmpeg at gmail.com Tue Jun 23 19:12:26 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Tue, 23 Jun 2020 18:12:26 +0200 Subject: [FFmpeg-user] Last frame with wrong duration - video from images In-Reply-To: <1661898109.2385472.1592920147444@mail.yahoo.com> References: <1122111497.1936818.1592847290342.ref@mail.yahoo.com> <1122111497.1936818.1592847290342@mail.yahoo.com> <1630716718.1972312.1592850818063@mail.yahoo.com> <01786ed5-09b0-a751-6eda-1e9478ee0ecd@t-online.de> <19e7e91e-abab-dd6c-791a-41d98a415964@t-online.de> <28734923-b209-b066-b28c-f038f159075a@t-online.de> <1661898109.2385472.1592920147444@mail.yahoo.com> Message-ID: Am Di., 23. Juni 2020 um 15:59 Uhr schrieb Leonardo via ffmpeg-user : > Even after reading the documentation, I could not understand the > differences between "-r 30" and "fps=30". Two different mechanisms in two very different parts of the code with different advantages and disadvantages. Carl Eugen From ceffmpeg at gmail.com Tue Jun 23 19:28:17 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Tue, 23 Jun 2020 18:28:17 +0200 Subject: [FFmpeg-user] Question Regarding "Supported File Formats, Codecs or Features" In-Reply-To: References: Message-ID: Am Di., 23. Juni 2020 um 14:57 Uhr schrieb Yuta Fujii (JP) via ffmpeg-user : > Q1: What version of the codecs is currently reflected on the "Supported > File Formats, Codecs or Features" page of the HP? Assuming your question is: What version of FFmpeg is currently reflected on mentioned page? Only current FFmpeg git head. > Q2: How often is "Supported File Formats, Codecs or Features" updated? Whenever a developer implements a new format or codec or protocol or device and does not forget to update the page. > Q3: Besides the major releases (eg: Ver4.2, 4.3) and point releases (eg: > Ver4.2.1, 4.2.2), "Supported File Formats, Codecs or Features" are being > updated. What standards are set for updating? The pages are completely independent, the question therefore makes little sense. (The release page should be updated on every release, the codecs page does not know about releases.) > Q4: Is there a time lag between updating the "Source Code" page and > "Supported File Formats, Codecs or Features" page? If so, how long is it? If there is a lag, it can be long because we are humans and may forget things. > For example, on July 21, 2019 (Ver4.2 release date described on the > "Source Code" page of HP), was "Supported File Formats, Codecs or > Features" updated to Ver4.2? As said above, the "general" page listing the supported codecs etc. has no connection with the download page that lists the releases. > Q5: When the latest major release version is updated, will the point > release of that latest version always be updated on the "Supported File > Formats, Codecs or Features" page of the HP? No, because general gets updated (long) before a release is made (unless a mistake happens). > (Is it correct to assume that the update on previous versions will > not be reflected on "Supported File Formats, Codecs or Features"?) We try never to change features in previous versions (we only add security fixes). As I tried to explain last year: There is no sales-driven development with sprints and release plans but (to a large degree) a loose group of individuals working on developments they are interested in. Independently of these developments, releases are made at random points only (!) because Linux distributions need them, they are not more tested than a daily snapshot and do not get any support on this mailing list (they do get some security updates, but only long after the daily snapshots get these security fixes). Please remove all confidentiality footers when posting on a public mailing list, they make your company look stupid. And please avoid posting screenshots except when completely unavoidable to understand an issue (but not to show us our own homepage). Carl Eugen From cpz at tuunq.com Tue Jun 23 21:11:07 2020 From: cpz at tuunq.com (Carl Zwanzig) Date: Tue, 23 Jun 2020 11:11:07 -0700 Subject: [FFmpeg-user] To Speed Up thumbnail creation - picture & video In-Reply-To: References: Message-ID: <740a4fc8-6222-32af-79c7-8ae89db2c8e8@tuunq.com> On 6/21/2020 10:23 PM, Arunava Banerjee via ffmpeg-user wrote: > ffmpeg version 2.8.15-0ubuntu0.16.04.1 Copyright (c) 2000-2018 That version is positively ancient in software terms. First thing is to get a current version (the -git head version is recommended, but at least a 4.2.3 build), start from https://ffmpeg.org/download.html. > The videos exists on AWS S3, and we are fetching them using S3 signature > url, generating the thumbs and uploading back. > > We have noticed that FFMPEG takes quite sometime to create the thumbnails, > which is creating a wait time on the part of the interface. How much of that time is moving the data around and how much in ffmpeg? It may be that your data pipe is slow or that it's being throttled somewhere. (How long does it take to generate thumbs/etc from/to local storage?) A second possibility is that your local system is underpowered for the task. Look to those before suspecting that ffmpeg is slow. Also, it might be cheaper, let alone faster, to use an amazon EC host to run ffmpeg and save on the bandwidth costs of down/up-loading the data. You'll have to run the numbers yourself to figure this out. Later, z! From simon at dancingcloudservices.com Wed Jun 24 06:31:25 2020 From: simon at dancingcloudservices.com (Simon Roberts) Date: Tue, 23 Jun 2020 21:31:25 -0600 Subject: [FFmpeg-user] Capture multiple streams into same container? Message-ID: Greetings all, I'm a pretty low-level ffmpeg user, just doing screen captures, compressions, and some simple format conversions. I have not made much progress understanding more advanced key concepts; I apologize if this is a basic question. I have a four-input video capture card, (Blackmagic DeckLink) and I successfully built ffmpeg with support for that. I can capture using the card, and I can run two captures concurrently as independent processes putting output into two different files. I haven't tried running all four at once (though that's my long-term goal, along with another four audio channels from a USB capture device). However, I would like to be able to put the multiple streams into a single file. There are a couple of reasons for this, and if my expectations are misplaced, now's a great time to tell me. One is that I'd like the timecodes to be synchronized, another is that I'd prefer a single command to start everything, and end everything, at the same instant. This, I hope will reduce the complexity of synchronizing the channels in later editing. But I have no clue how to start with this. I tried simply adding more input channels to my input specifications: ffmpeg -f decklink -i 'DeckLink Quad HDMI Recorder (1)' -f decklink -i 'DeckLink Quad HDMI Recorder (4)' -c:v copy -c:a copy -metadata title=DeckLinkCapture capture.mov But all I got was a ton of buffer overruns, and a file that ffprobe said only contained one video stream. I believe that .mov can hold multiple streams, but I have not particular reason for using that file format, other than I often use it when I go with a prores compression. (I'm hoping that later in this project I might get enough CPU power to go that route, and reduce bandwidth and storage requirements to less insane levels) Can someone point me at a template for a command line that might do what I need? If the explanation or resources might help me understand the concepts better, that would be a bonus (and might result in my becoming a little more self-sufficient!) Cheers, Simon -- Simon Roberts (303) 249 3613 From tomasparks.ts at gmail.com Wed Jun 24 12:41:58 2020 From: tomasparks.ts at gmail.com (Tom Sparks) Date: Wed, 24 Jun 2020 19:41:58 +1000 Subject: [FFmpeg-user] Capture multiple streams into same container? In-Reply-To: References: Message-ID: mkv is a better output format to use On 24/06/2020, Simon Roberts wrote: > Greetings all, I'm a pretty low-level ffmpeg user, just doing screen > captures, compressions, and some simple format conversions. I have not made > much progress understanding more advanced key concepts; I apologize if this > is a basic question. > > I have a four-input video capture card, (Blackmagic DeckLink) and I > successfully built ffmpeg with support for that. I can capture using the > card, and I can run two captures concurrently as independent processes > putting output into two different files. I haven't tried running all four > at once (though that's my long-term goal, along with another four audio > channels from a USB capture device). > > However, I would like to be able to put the multiple streams into a single > file. There are a couple of reasons for this, and if my expectations are > misplaced, now's a great time to tell me. One is that I'd like the > timecodes to be synchronized, another is that I'd prefer a single command > to start everything, and end everything, at the same instant. This, I hope > will reduce the complexity of synchronizing the channels in later editing. > > But I have no clue how to start with this. I tried simply adding more input > channels to my input specifications: > > ffmpeg -f decklink -i 'DeckLink Quad HDMI Recorder (1)' -f decklink -i > 'DeckLink Quad HDMI Recorder (4)' -c:v copy -c:a copy -metadata > title=DeckLinkCapture capture.mov > > But all I got was a ton of buffer overruns, and a file that ffprobe said > only contained one video stream. > > I believe that .mov can hold multiple streams, but I have not particular > reason for using that file format, other than I often use it when I go with > a prores compression. (I'm hoping that later in this project I might get > enough CPU power to go that route, and reduce bandwidth and storage > requirements to less insane levels) > > Can someone point me at a template for a command line that might do what I > need? If the explanation or resources might help me understand the concepts > better, that would be a bonus (and might result in my becoming a little > more self-sufficient!) > > Cheers, > Simon > > > -- > Simon Roberts > (303) 249 3613 > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From kieran.o.leary at gmail.com Wed Jun 24 13:11:34 2020 From: kieran.o.leary at gmail.com (Kieran O Leary) Date: Wed, 24 Jun 2020 11:11:34 +0100 Subject: [FFmpeg-user] Catching all error warnings via ffprobe Message-ID: Hi, I'm trying to catch all error warnings via JSON ffprobe output, but only some of the errors are making their way through. The errors about ac-tex damage and MVs not available end up in the JSON, but I also want to get what I assume is an mp2 header missing error that you can see further down - [mp2 @ 0000025cadd44fc0] Header missing . What can I add to my command to get these other errors? Here's a snippet of the JSON output showing the error: "logs": [ { "context": "mpeg2video", "level": 16, "category": 6, "message": "[mpeg2video @ 0000025cadd438c0] ac-tex damaged at 34 30" }, { "context": "mpeg2video", "level": 16, "category": 6, "message": "[mpeg2video @ 0000025cadd438c0] Warning MVs not available" ANd here's my command - normally I just use -show_frames but I also added format and streams just to see if the info might show up there. ffprobe -sexagesimal E:\DV_batches\IFI_Batch_10\MV8805\MV8805.m2t -show_log 16 -show_frames -show_format -show_streams -of json > outout.json ffprobe version N-96643-g2942b00285-g2383021a7a+1 Copyright (c) 2007-2020 the FFmpeg developers built with gcc 9.2.0 (Rev2, Built by MSYS2 project) configuration: --disable-autodetect --enable-amf --enable-bzlib --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-iconv --enable-lzma --enable-nvenc --enable-zlib --enable-sdl2 --enable-ffnvcodec --enable-nvdec --enable-cuda-llvm --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libx264 --enable-libdav1d --disable-debug --enable-fontconfig --enable-libass --enable-libbluray --enable-libfreetype --enable-libmfx --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libwavpack --enable-libwebp --enable-libxml2 --enable-libzimg --enable-libshine --enable-gpl --enable-avisynth --enable-libxvid --enable-libaom --enable-libopenmpt --enable-version3 --enable-openssl --extra-cflags=-DLIBTWOLAME_STATIC --extra-libs=-lstdc++ --extra-cflags=-DLIBXML_STATIC --extra-libs=-liconv --enable-nonfree libavutil 56. 39.100 / 56. 39.100 libavcodec 58. 67.101 / 58. 67.101 libavformat 58. 37.100 / 58. 37.100 libavdevice 58. 9.103 / 58. 9.103 libavfilter 7. 74.100 / 7. 74.100 libswscale 5. 6.100 / 5. 6.100 libswresample 3. 6.100 / 3. 6.100 libpostproc 55. 6.100 / 55. 6.100 [mpeg2video @ 0000025cadd14480] Invalid frame dimensions 0x0. Last message repeated 1 times [mpegts @ 0000025cadd13580] PES packet size mismatch [mpegts @ 0000025cadd13580] Packet corrupt (stream = 1, dts = 314015040). [mpegts @ 0000025cadd13580] Could not find codec parameters for stream 2 (Unknown: none ([160][0][0][0] / 0x00A0)): unknown codec Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 0000025cadd13580] Could not find codec parameters for stream 3 (Unknown: none ([161][0][0][0] / 0x00A1)): unknown codec Consider increasing the value for the 'analyzeduration' and 'probesize' options Input #0, mpegts, from 'E:\DV_batches\IFI_Batch_10\MV8805\MV8805.m2t': Duration: 00:58:08.00, start: 1.280000, bitrate: 26120 kb/s Program 100 Stream #0:0[0x810]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3 DAR 16:9], 25000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1[0x814]: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 384 kb/s Stream #0:2[0x815]: Unknown: none ([160][0][0][0] / 0x00A0) Stream #0:3[0x811]: Unknown: none ([161][0][0][0] / 0x00A1) Unsupported codec with id 0 for input stream 2 Unsupported codec with id 0 for input stream 3 [mpegts @ 0000025cadd13580] Packet corrupt (stream = 0, dts = 166788000). [mpeg2video @ 0000025cadd438c0] ac-tex damaged at 8 3 [mpeg2video @ 0000025cadd438c0] Warning MVs not available [mpeg2video @ 0000025cadd438c0] concealing 5850 DC, 5850 AC, 5850 MV errors in I frame [mpegts @ 0000025cadd13580] Packet corrupt (stream = 0, dts = 203216400). [mpeg2video @ 0000025cadd438c0] ac-tex damaged at 41 57 [mpeg2video @ 0000025cadd438c0] Warning MVs not available [mpeg2video @ 0000025cadd438c0] concealing 990 DC, 990 AC, 990 MV errors in P frame [mpegts @ 0000025cadd13580] PES packet size mismatch [mpegts @ 0000025cadd13580] Packet corrupt (stream = 1, dts = 203200560). [mp2 @ 0000025cadd44fc0] Header missing [mpeg2video @ 0000025cadd438c0] ac-tex damaged at 7 55 [mpeg2video @ 0000025cadd438c0] Warning MVs not available [mpeg2video @ 0000025cadd438c0] concealing 1170 DC, 1170 AC, 1170 MV errors in B frame [mpegts @ 0000025cadd13580] PES packet size mismatch [mpegts @ 0000025cadd13580] Packet corrupt (stream = 1, dts = 314015040). [mpeg2video @ 0000025cadd438c0] ac-tex damaged at 34 30 [mpeg2video @ 0000025cadd438c0] Warning MVs not available [mpeg2video @ 0000025cadd438c0] concealing 3420 DC, 3420 AC, 3420 MV errors in B frame From barsnick at gmx.net Wed Jun 24 14:43:37 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Wed, 24 Jun 2020 13:43:37 +0200 Subject: [FFmpeg-user] Capture multiple streams into same container? In-Reply-To: References: Message-ID: <20200624114337.GC13907@sunshine.barsnick.net> On Tue, Jun 23, 2020 at 21:31:25 -0600, Simon Roberts wrote: > But I have no clue how to start with this. I tried simply adding more input > channels to my input specifications: > > ffmpeg -f decklink -i 'DeckLink Quad HDMI Recorder (1)' -f decklink -i > 'DeckLink Quad HDMI Recorder (4)' -c:v copy -c:a copy -metadata > title=DeckLinkCapture capture.mov By default, ffmpeg only maps one of each stream type (video, audio, subs), as described here: https://ffmpeg.org/ffmpeg.html#Automatic-stream-selection In your case, you need to explicitly map multiple inputs: $ ffmpeg -f decklink -i 'DeckLink Quad HDMI Recorder (1)' -f decklink -i 'DeckLink Quad HDMI Recorder (4)' -map 0 -map 1 -c:v copy -c:a copy -metadata title=DeckLinkCapture capture.mov (Note the "-map 0 -map 1" addition.) Cheers, Moritz From simon at dancingcloudservices.com Wed Jun 24 16:23:14 2020 From: simon at dancingcloudservices.com (Simon Roberts) Date: Wed, 24 Jun 2020 07:23:14 -0600 Subject: [FFmpeg-user] Capture multiple streams into same container? In-Reply-To: <20200624114337.GC13907@sunshine.barsnick.net> References: <20200624114337.GC13907@sunshine.barsnick.net> Message-ID: On Wed, Jun 24, 2020 at 5:43 AM Moritz Barsnick wrote: > On Tue, Jun 23, 2020 at 21:31:25 -0600, Simon Roberts wrote: > > But I have no clue how to start with this. I tried simply adding more > input > > channels to my input specifications: > [... elided my incorrect command...] > > By default, ffmpeg only maps one of each stream type (video, audio, > subs), as described here: > https://ffmpeg.org/ffmpeg.html#Automatic-stream-selection > > In your case, you need to explicitly map multiple inputs: > > $ ffmpeg -f decklink -i 'DeckLink Quad HDMI Recorder (1)' -f decklink -i > 'DeckLink Quad HDMI Recorder (4)' -map 0 -map 1 -c:v copy -c:a copy > -metadata title=DeckLinkCapture capture.mov > > (Note the "-map 0 -map 1" addition.) > > Many thanks Moritz, I'll go tinker with this, and engage with that documentation you refer to too. The overall docs can be quite overwhelming when one doesn't have a clue where to start! Cheers, Simon From mohbeyinfo at gmail.com Wed Jun 24 16:57:02 2020 From: mohbeyinfo at gmail.com (Mohammed Bey Ahmed Khernache) Date: Wed, 24 Jun 2020 15:57:02 +0200 Subject: [FFmpeg-user] HEVC acceleration Message-ID: Hello, I am trying to decode HEVC-encoded content using ffmpeg. I am still unable to leverage the HEVC accelerator, which is hevc_v4l2m2m in the case of the platform I am using, RB3. Below are the command and the output. ----------------------------------------------------------------- root at linaro-developer:~# ffmpeg -c:v hevc_v4l2m2m -i blue_sky_fps_25.265 -f null /dev/null ffmpeg version 4.3 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 8 (Debian 8.3.0-6) configuration: --enable-gpl --enable-nonfree --enable-static --disable-shared --enable-pthreads --enable-neon --enable-thumb --enable-optimizations --enable-hwaccel=hevc_v4l2m2m libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 / 58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 / 3. 7.100 libpostproc 55. 7.100 / 55. 7.100 Input #0, hevc, from 'blue_sky_fps_25.265': Duration: N/A, bitrate: N/A Stream #0:0: Video: hevc (Main), yuv420p(tv), 1920x1080, 25 fps, 25 tbr, 1200k tbn, 25 tbc [hevc_v4l2m2m @ 0xaaaadc9c13b0] Using device /dev/video1 [hevc_v4l2m2m @ 0xaaaadc9c13b0] driver 'qcom-venus' on card 'Qualcomm Venus video decoder' in mplane mode [hevc_v4l2m2m @ 0xaaaadc9c13b0] requesting formats: output=HEVC capture=NV12 Stream mapping: Stream #0:0 -> #0:0 (hevc (hevc_v4l2m2m) -> wrapped_avframe (native)) Press [q] to stop, [?] for help [hevc_v4l2m2m @ 0xaaaadc9c13b0] VIDIOC_G_FMT ioctl free(): double free detected in tcache 2 Aborted ----------------------------------------------------------------- Any help is welcome. Thank you in advance. Best regards From davidbayles at gmail.com Wed Jun 24 17:59:51 2020 From: davidbayles at gmail.com (David Bayles) Date: Wed, 24 Jun 2020 10:59:51 -0400 Subject: [FFmpeg-user] Fwd: OBS and OBS Portable Recording Into Same File Simultaneously In-Reply-To: References: Message-ID: Corrupted video file, FFprobe output text file, and FFmpeg output text file are all available to download here: https://drive.google.com/drive/folders/1R0Y5plgkhTWWFNNKgSNJ5yitpKQbIKgg?usp=sharing I'm hoping there is a way to extract good video and audio from this video file, this was for a very important job that is impossible to do again. The video linked is a 1 minute recreation of the exact same problem... the actual video file is confidential (for a legal court case) and is much longer/larger. I used the exact same settings, the only difference was the window OBS was capturing (I used a YouTube video as opposed to the videoconference software window used for the deposition). Here's what happened: In OBS and OBS Portable, my video technician had the save location set to the same exact folder (this was not how I intended it to be, but he made a last minute change to accomadate what he suspected was a faulty hard drive). We also had a hotkey to start recording on both apps simultaneously. We left the auto naming scheme in place for both instances of OBS since they were supposed to be saving to two totally different external hard drives (we have since changed this). This perfect storm resulted in both recordings being written into a single file (see link above), instead of two files as intended. It is unplayabe in VLC. I ran an FFprobe (available via link above), and found that there are 8 streams in the file. Each file should have had 4 streams (1 video and 3 audio streams per my setup in OBS), so at first glance it looks like all the data is there in some form/arrangement. I tried to map the 0:0 stream to a new file and tried the same thing with the 0:4 stream (these are the video streams), but did not have any luck extracting good video. Here are the two things I ran (again see link above for text files with full FFmpeg ouput of each): ffmpeg -i C:\Users\David\Videos\2020-06-23_17-39-32_corrupted.mkv -map 0:0 -c copy C:\Users\David\Videos\2020-06-23_17-39-32_corrupted_map0-0.mkv ffmpeg -i C:\Users\David\Videos\2020-06-23_17-39-32_corrupted.mkv -map 0:4 -c copy C:\Users\David\Videos\2020-06-23_17-39-32_corrupted_map0-4.mkv It seems the audio is intact, as I was able to map one of the audio streams into a wav file... although there seemed to be extra/repeated audio tacked onto where the video/audio should have ended... It looks to me like both video streams got written into stream 0:0, while stream 0:4 looks empty (because this map results in a very small file). However the thing that's weird (and maybe promising) is that when I play the corrupted file in VLC, it mostly looks like smeared digital colors, but if I click around to different times in the video, it sometimes shows good video. My life would saved if there is a way to extract good video/audio from this corrupted file. Any help would be greatly appreciated, thanks in advance! From ceffmpeg at gmail.com Wed Jun 24 22:23:55 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Wed, 24 Jun 2020 21:23:55 +0200 Subject: [FFmpeg-user] HEVC acceleration In-Reply-To: References: Message-ID: Am Mi., 24. Juni 2020 um 16:28 Uhr schrieb Mohammed Bey Ahmed Khernache : > > Hello, > I am trying to decode HEVC-encoded content using ffmpeg. I am still unable > to leverage the HEVC accelerator, which is hevc_v4l2m2m in the case of the > platform I am using, RB3. > Below are the command and the output. > > ----------------------------------------------------------------- > root at linaro-developer:~# ffmpeg -c:v hevc_v4l2m2m -i blue_sky_fps_25.265 > -f null /dev/null > ffmpeg version 4.3 Copyright (c) 2000-2020 the FFmpeg developers You should probably also try with older FFmpeg versions... > built with gcc 8 (Debian 8.3.0-6) > configuration: --enable-gpl --enable-nonfree --enable-static > --disable-shared --enable-pthreads --enable-neon --enable-thumb > --enable-optimizations --enable-hwaccel=hevc_v4l2m2m > libavutil 56. 51.100 / 56. 51.100 > libavcodec 58. 91.100 / 58. 91.100 > libavformat 58. 45.100 / 58. 45.100 > libavdevice 58. 10.100 / 58. 10.100 > libavfilter 7. 85.100 / 7. 85.100 > libswscale 5. 7.100 / 5. 7.100 > libswresample 3. 7.100 / 3. 7.100 > libpostproc 55. 7.100 / 55. 7.100 > Input #0, hevc, from 'blue_sky_fps_25.265': > Duration: N/A, bitrate: N/A > Stream #0:0: Video: hevc (Main), yuv420p(tv), 1920x1080, 25 fps, 25 > tbr, 1200k tbn, 25 tbc > [hevc_v4l2m2m @ 0xaaaadc9c13b0] Using device /dev/video1 > [hevc_v4l2m2m @ 0xaaaadc9c13b0] driver 'qcom-venus' on card 'Qualcomm Venus > video decoder' in mplane mode > [hevc_v4l2m2m @ 0xaaaadc9c13b0] requesting formats: output=HEVC capture=NV12 > Stream mapping: > Stream #0:0 -> #0:0 (hevc (hevc_v4l2m2m) -> wrapped_avframe (native)) > Press [q] to stop, [?] for help > [hevc_v4l2m2m @ 0xaaaadc9c13b0] VIDIOC_G_FMT ioctl > free(): double free detected in tcache 2 > Aborted ... and older drivers, also use valgrind or gdb to find the source of the crash. Carl Eugen From simon at dancingcloudservices.com Wed Jun 24 23:15:20 2020 From: simon at dancingcloudservices.com (Simon Roberts) Date: Wed, 24 Jun 2020 14:15:20 -0600 Subject: [FFmpeg-user] Capture multiple streams into same container? In-Reply-To: References: Message-ID: On Wed, Jun 24, 2020 at 3:41 AM Tom Sparks wrote: > mkv is a better output format to use > Thanks for this Tom, can you expand on what the benefits are? I think I ended up with mov as it seemed to be the "natural" choice for apple prores content, but there was no thought went into it, just "what somebody said" :) > On 24/06/2020, Simon Roberts wrote: > > Greetings all, I'm a pretty low-level ffmpeg user, just doing screen > > captures, compressions, and some simple format conversions. I have not > made > > much progress understanding more advanced key concepts; I apologize if > this > > is a basic question. > > > > I have a four-input video capture card, (Blackmagic DeckLink) and I > > successfully built ffmpeg with support for that. I can capture using the > > card, and I can run two captures concurrently as independent processes > > putting output into two different files. I haven't tried running all four > > at once (though that's my long-term goal, along with another four audio > > channels from a USB capture device). > > > > However, I would like to be able to put the multiple streams into a > single > > file. There are a couple of reasons for this, and if my expectations are > > misplaced, now's a great time to tell me. One is that I'd like the > > timecodes to be synchronized, another is that I'd prefer a single command > > to start everything, and end everything, at the same instant. This, I > hope > > will reduce the complexity of synchronizing the channels in later > editing. > > > > But I have no clue how to start with this. I tried simply adding more > input > > channels to my input specifications: > > > > ffmpeg -f decklink -i 'DeckLink Quad HDMI Recorder (1)' -f decklink -i > > 'DeckLink Quad HDMI Recorder (4)' -c:v copy -c:a copy -metadata > > title=DeckLinkCapture capture.mov > > > > But all I got was a ton of buffer overruns, and a file that ffprobe said > > only contained one video stream. > > > > I believe that .mov can hold multiple streams, but I have not particular > > reason for using that file format, other than I often use it when I go > with > > a prores compression. (I'm hoping that later in this project I might get > > enough CPU power to go that route, and reduce bandwidth and storage > > requirements to less insane levels) > > > > Can someone point me at a template for a command line that might do what > I > > need? If the explanation or resources might help me understand the > concepts > > better, that would be a bonus (and might result in my becoming a little > > more self-sufficient!) > > > > Cheers, > > Simon > > > > > > -- > > Simon Roberts > > (303) 249 3613 > > _______________________________________________ > > ffmpeg-user mailing list > > ffmpeg-user at ffmpeg.org > > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > > > To unsubscribe, visit link above, or email > > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". -- Simon Roberts (303) 249 3613 From tomasparks.ts at gmail.com Thu Jun 25 01:26:03 2020 From: tomasparks.ts at gmail.com (Tom Sparks) Date: Thu, 25 Jun 2020 08:26:03 +1000 Subject: [FFmpeg-user] Capture multiple streams into same container? In-Reply-To: References: Message-ID: On 25/06/2020, Simon Roberts wrote: > On Wed, Jun 24, 2020 at 3:41 AM Tom Sparks wrote: > >> mkv is a better output format to use >> > > Thanks for this Tom, can you expand on what the benefits are? I think I > ended up with mov as it seemed to be the "natural" choice for apple prores > content, but there was no thought went into it, just "what somebody said" :) > mkv support every know format* the could be a case when you want to store the: * video in FFV1 (lossless) or AV1 (lossy) or Mjpeg (i-frame) * audio in opus (lossy) or flac (lossless) this link talk more about using proress with ffmpeg: https://trac.ffmpeg.org/wiki/Encode/VFX you can disregard everything else I said if you want to > * except really old formats like realaudio/video From ceffmpeg at gmail.com Thu Jun 25 01:54:55 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Thu, 25 Jun 2020 00:54:55 +0200 Subject: [FFmpeg-user] Capture multiple streams into same container? In-Reply-To: References: Message-ID: Am Mi., 24. Juni 2020 um 22:46 Uhr schrieb Simon Roberts : > > On Wed, Jun 24, 2020 at 3:41 AM Tom Sparks wrote: > > > mkv is a better output format to use > > > > Thanks for this Tom, can you expand on what the benefits are? > I think I ended up with mov as it seemed to be the "natural" > choice for apple prores content Which is correct. Note that above suggestion would not have helped you in any way with your original issue. Carl Eugen From simon at dancingcloudservices.com Thu Jun 25 02:05:27 2020 From: simon at dancingcloudservices.com (Simon Roberts) Date: Wed, 24 Jun 2020 17:05:27 -0600 Subject: [FFmpeg-user] Capture multiple streams into same container? In-Reply-To: References: Message-ID: On Wed, Jun 24, 2020 at 4:26 PM Tom Sparks wrote: > On 25/06/2020, Simon Roberts wrote: > > On Wed, Jun 24, 2020 at 3:41 AM Tom Sparks > wrote: > > > >> mkv is a better output format to use > >> > > > > Thanks for this Tom, can you expand on what the benefits are? I think I > > ended up with mov as it seemed to be the "natural" choice for apple > prores > > content, but there was no thought went into it, just "what somebody > said" :) > > > mkv support every know format* > Oh, that's good to know, thank you. [...] this link talk more about using proress with ffmpeg: > https://trac.ffmpeg.org/wiki/Encode/VFX This looks very interesting too; my project definitely involves balancing CPU usage in compression with resulting data size, with the absolute requirement that the compression be 100% guaranteed to be real time. With modest hardware and three full-HD channels plus a 720p channel, it's a fine line and no doubt a better understanding of the prores encoder and its options will be very valuable. > > you can disregard everything else I said if you want to > I think I would disregard educated comments at my peril! thanks again :) From andriy.gelman at gmail.com Thu Jun 25 02:25:09 2020 From: andriy.gelman at gmail.com (Andriy Gelman) Date: Wed, 24 Jun 2020 19:25:09 -0400 Subject: [FFmpeg-user] HEVC acceleration In-Reply-To: References: Message-ID: On Wed, 24 Jun 2020 at 10:28, Mohammed Bey Ahmed Khernache < mohbeyinfo at gmail.com> wrote: > Hello, > I am trying to decode HEVC-encoded content using ffmpeg. I am still unable > to leverage the HEVC accelerator, which is hevc_v4l2m2m in the case of the > platform I am using, RB3. > Below are the command and the output. > > ----------------------------------------------------------------- > root at linaro-developer:~# ffmpeg -c:v hevc_v4l2m2m -i blue_sky_fps_25.265 > -f null /dev/null > ffmpeg version 4.3 Copyright (c) 2000-2020 the FFmpeg developers > built with gcc 8 (Debian 8.3.0-6) > configuration: --enable-gpl --enable-nonfree --enable-static > --disable-shared --enable-pthreads --enable-neon --enable-thumb > --enable-optimizations --enable-hwaccel=hevc_v4l2m2m > libavutil 56. 51.100 / 56. 51.100 > libavcodec 58. 91.100 / 58. 91.100 > libavformat 58. 45.100 / 58. 45.100 > libavdevice 58. 10.100 / 58. 10.100 > libavfilter 7. 85.100 / 7. 85.100 > libswscale 5. 7.100 / 5. 7.100 > libswresample 3. 7.100 / 3. 7.100 > libpostproc 55. 7.100 / 55. 7.100 > Input #0, hevc, from 'blue_sky_fps_25.265': > Duration: N/A, bitrate: N/A > Stream #0:0: Video: hevc (Main), yuv420p(tv), 1920x1080, 25 fps, 25 > tbr, 1200k tbn, 25 tbc > [hevc_v4l2m2m @ 0xaaaadc9c13b0] Using device /dev/video1 > [hevc_v4l2m2m @ 0xaaaadc9c13b0] driver 'qcom-venus' on card 'Qualcomm Venus > video decoder' in mplane mode > [hevc_v4l2m2m @ 0xaaaadc9c13b0] requesting formats: output=HEVC > capture=NV12 > Stream mapping: > Stream #0:0 -> #0:0 (hevc (hevc_v4l2m2m) -> wrapped_avframe (native)) > Press [q] to stop, [?] for help > [hevc_v4l2m2m @ 0xaaaadc9c13b0] VIDIOC_G_FMT ioctl > free(): double free detected in tcache 2 > Aborted > ----------------------------------------------------------------- > Hi Mohammed, Could you check if this patch solves the double free? https://patchwork.ffmpeg.org/project/ffmpeg/patch/20200509173541.7667-1-andriy.gelman at gmail.com/ Thanks, Andriy From alex.molon at vision247.com Thu Jun 25 03:38:47 2020 From: alex.molon at vision247.com (Alessandro Molon) Date: Thu, 25 Jun 2020 00:38:47 +0000 Subject: [FFmpeg-user] FFMPEG endlessly increases memory usage over time with HLS packaging. Message-ID: <3DDD94B1-0AD3-44F5-A1BC-596E567DE7D1@vision247.com> Hi All, I would like to use ffmpeg as live HLS ABR packager and use /dev/shm to store playlist and chunks in RAMDISK. But unfortunately I’ve noticed that ffmpeg constantly increase the memory used until it saturates it. the script does basically this steps: mkdir -p /dev/shm/live/test cd /dev/shm/live/test /usr/bin/ffmpeg -i udp://239.239.239.109:4000?fifo_size=1000000 -i udp:// 239.239.239.109:3000?fifo_size=1000000 -i udp:// 239.239.239.109:2000?fifo_size=1000000 -i udp:// 239.239.239.109:5000?fifo_size=1000000 -i udp:// 239.239.239.109:6000?fifo_size=1000000 -c copy -b:v:0 1400k -b:v:1 700k -b:v:2 300k -b:a:0 128k -b:a:1 64k -b:a:2 64k -b:v:3 2500k -b:v:4 3200k -b:a:3 128k -b:a:4 128k -map 0:v -map 0:a -map 1:v -map 1:a -map 2:v -map 2:a -map 3:v -map 3:a -map 4:v -map 4:a -f hls -master_pl_name index.m3u8 -var_stream_map v:0,a:0,name:SD v:1,a:1,name:SDh v:2,a:2,name:SDq v:3,a:3,name:HD v:4,a:4,name:FHD -hls_time 10 -hls_list_size 6 -hls_flags delete_segments -hls_segment_filename test-%v/chunk-%08d.ts test-%v/playlist.m3u8 Then, this is the result of the free command as soon I launch the script: total used free shared buff/cache available Mem: 32924468 670052 29991268 3788 2263148 31781984 Swap: 8388604 0 8388604 This is the same result after 4 minutes: total used free shared buff/cache available Mem: 32924468 1089804 29504504 70348 2330160 31295808 Swap: 8388604 0 8388604 This is after 7 minutes: total used free shared buff/cache available Mem: 32924468 1224096 29360344 78540 2340028 31153156 Swap: 8388604 0 8388604 This is after 10 minutes: total used free shared buff/cache available Mem: 32924468 1338492 29258888 64832 2327088 31052356 Swap: 8388604 0 8388604 Here after 14: total used free shared buff/cache available Mem: 32924468 1389880 29211896 60160 2322692 31005696 Swap: 8388604 0 8388604 Here after 30: total used free shared buff/cache available Mem: 32924468 1516036 28879424 111332 2529008 30825508 Swap: 8388604 0 8388604 Please bear in mind that as a matter of test, I’ve also tried to store the files in a SSD but the outcome was basically the same. As you can see the memory usage constantly increases, and it ends up exhausting all the memory. The only way to release the memory in use is to kill the script and run it again. Any suggestion on how to limit the memory usage? For now I’m killing each ffmpeg process when it reaches a specific amount of memory used, but obviously this interrupts the stream. The executable is the one distributed with Ubuntu 20.04LTS, here its manifest: ffmpeg version 4.2.2-1ubuntu1 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 9 (Ubuntu 9.3.0-3ubuntu1) configuration: --prefix=/usr --extra-version=1ubuntu1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared And, finally, I’ve tried to run the same command line for 600 seconds with valgrind and it doesn’t seem to leak so much…. These are the results: valgrind --leak-check=yes /usr/bin/ffmpeg -v quiet -i udp://239.5.208.109:4000?fifo_size=1000000 -i udp://239.5.208.109:3000?fifo_size=1000000 -i udp://239.5.208.109:2000?fifo_size=1000000 -i udp://239.5.208.109:5000?fifo_size=1000000 -i udp://239.5.208.109:6000?fifo_size=1000000 -c copy -b:v:0 1400k -b:v:1 700k -b:v:2 300k -b:a:0 128k -b:a:1 64k -b:a:2 64k -b:v:3 2500k -b:v:4 3200k -b:a:3 128k -b:a:4 128k -map 0:v -map 0:a -map 1:v -map 1:a -map 2:v -map 2:a -map 3:v -map 3:a -map 4:v -map 4:a -t 600 -f hls -master_pl_name master.m3u8 -var_stream_map "v:0,a:0,name:SD v:1,a:1,name:SDh v:2,a:2,name:SDq v:3,a:3,name:HD v:4,a:4,name:FHD" -hls_time 10 -hls_list_size 4 -hls_flags delete_segments -hls_segment_filename test-%v/chunk-%08d.ts test-%v/playlist.m3u8 ==40833== Memcheck, a memory error detector ==40833== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==40833== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info ==40833== Command: /usr/bin/ffmpeg -v quiet -i udp://239.5.208.109:4000?fifo_size=1000000 -i udp://239.5.208.109:3000?fifo_size=1000000 -i udp://239.5.208.109:2000?fifo_size=1000000 -i udp://239.5.208.109:5000?fifo_size=1000000 -i udp://239.5.208.109:6000?fifo_size=1000000 -c copy -b:v:0 1400k -b:v:1 700k -b:v:2 300k -b:a:0 128k -b:a:1 64k -b:a:2 64k -b:v:3 2500k -b:v:4 3200k -b:a:3 128k -b:a:4 128k -map 0:v -map 0:a -map 1:v -map 1:a -map 2:v -map 2:a -map 3:v -map 3:a -map 4:v -map 4:a -t 600 -f hls -master_pl_name master.m3u8 -var_stream_map v:0,a:0,name:SD\ v:1,a:1,name:SDh\ v:2,a:2,name:SDq\ v:3,a:3,name:HD\ v:4,a:4,name:FHD -hls_time 10 -hls_list_size 4 -hls_flags delete_segments -hls_segment_filename test-%v/chunk-%08d.ts test-%v/playlist.m3u8 ==40833== ==40833== ==40833== HEAP SUMMARY: ==40833== in use at exit: 49,540 bytes in 253 blocks ==40833== total heap usage: 3,694,888 allocs, 3,694,635 frees, 21,189,061,586 bytes allocated ==40833== ==40833== 16 bytes in 1 blocks are possibly lost in loss record 90 of 243 ==40833== at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==40833== by 0xA4F2D30: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.2) ==40833== by 0xA46FDBE: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA473066: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA44EEDE: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA4480B7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0x4011B89: call_init.part.0 (dl-init.c:72) ==40833== by 0x4011C90: call_init (dl-init.c:30) ==40833== by 0x4011C90: _dl_init (dl-init.c:119) ==40833== by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so) ==40833== by 0x47: ??? ==40833== by 0x1FFF000472: ??? ==40833== by 0x1FFF000482: ??? ==40833== ==40833== 16 bytes in 1 blocks are possibly lost in loss record 91 of 243 ==40833== at 0x483B723: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==40833== by 0x483E017: realloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==40833== by 0xA4F2D7F: g_realloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.2) ==40833== by 0xA46FD37: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA473066: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA44EEDE: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA4480B7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0x4011B89: call_init.part.0 (dl-init.c:72) ==40833== by 0x4011C90: call_init (dl-init.c:30) ==40833== by 0x4011C90: _dl_init (dl-init.c:119) ==40833== by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so) ==40833== by 0x47: ??? ==40833== by 0x1FFF000472: ??? ==40833== ==40833== 16 bytes in 1 blocks are possibly lost in loss record 92 of 243 ==40833== at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==40833== by 0xA4F2D30: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.2) ==40833== by 0xA46FDBE: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA473066: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA44EF41: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA4480B7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0x4011B89: call_init.part.0 (dl-init.c:72) ==40833== by 0x4011C90: call_init (dl-init.c:30) ==40833== by 0x4011C90: _dl_init (dl-init.c:119) ==40833== by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so) ==40833== by 0x47: ??? ==40833== by 0x1FFF000472: ??? ==40833== by 0x1FFF000482: ??? ==40833== ==40833== 16 bytes in 1 blocks are possibly lost in loss record 93 of 243 ==40833== at 0x483B723: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==40833== by 0x483E017: realloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==40833== by 0xA4F2D7F: g_realloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.2) ==40833== by 0xA46FD37: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA473066: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA44EF41: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA4480B7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0x4011B89: call_init.part.0 (dl-init.c:72) ==40833== by 0x4011C90: call_init (dl-init.c:30) ==40833== by 0x4011C90: _dl_init (dl-init.c:119) ==40833== by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so) ==40833== by 0x47: ??? ==40833== by 0x1FFF000472: ??? ==40833== ==40833== 16 bytes in 1 blocks are possibly lost in loss record 94 of 243 ==40833== at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==40833== by 0xA4F2D30: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.2) ==40833== by 0xA46FDBE: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA473066: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA458FFF: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA4480C1: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0x4011B89: call_init.part.0 (dl-init.c:72) ==40833== by 0x4011C90: call_init (dl-init.c:30) ==40833== by 0x4011C90: _dl_init (dl-init.c:119) ==40833== by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so) ==40833== by 0x47: ??? ==40833== by 0x1FFF000472: ??? ==40833== by 0x1FFF000482: ??? ==40833== ==40833== 16 bytes in 1 blocks are possibly lost in loss record 95 of 243 ==40833== at 0x483B723: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==40833== by 0x483E017: realloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==40833== by 0xA4F2D7F: g_realloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.2) ==40833== by 0xA46FD37: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA473066: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA458FFF: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA4480C1: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0x4011B89: call_init.part.0 (dl-init.c:72) ==40833== by 0x4011C90: call_init (dl-init.c:30) ==40833== by 0x4011C90: _dl_init (dl-init.c:119) ==40833== by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so) ==40833== by 0x47: ??? ==40833== by 0x1FFF000472: ??? ==40833== ==40833== 16 bytes in 1 blocks are possibly lost in loss record 96 of 243 ==40833== at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==40833== by 0xA4F2D30: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.2) ==40833== by 0xA46FDBE: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA473066: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA453CC3: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA4480C6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0x4011B89: call_init.part.0 (dl-init.c:72) ==40833== by 0x4011C90: call_init (dl-init.c:30) ==40833== by 0x4011C90: _dl_init (dl-init.c:119) ==40833== by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so) ==40833== by 0x47: ??? ==40833== by 0x1FFF000472: ??? ==40833== by 0x1FFF000482: ??? ==40833== ==40833== 16 bytes in 1 blocks are possibly lost in loss record 97 of 243 ==40833== at 0x483B723: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==40833== by 0x483E017: realloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==40833== by 0xA4F2D7F: g_realloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.2) ==40833== by 0xA46FD37: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA473066: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA453CC3: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA4480C6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0x4011B89: call_init.part.0 (dl-init.c:72) ==40833== by 0x4011C90: call_init (dl-init.c:30) ==40833== by 0x4011C90: _dl_init (dl-init.c:119) ==40833== by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so) ==40833== by 0x47: ??? ==40833== by 0x1FFF000472: ??? ==40833== ==40833== 96 bytes in 1 blocks are possibly lost in loss record 216 of 243 ==40833== at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==40833== by 0xA4F2D30: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.2) ==40833== by 0xA46F0C7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA46F26A: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA447FDE: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0x4011B89: call_init.part.0 (dl-init.c:72) ==40833== by 0x4011C90: call_init (dl-init.c:30) ==40833== by 0x4011C90: _dl_init (dl-init.c:119) ==40833== by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so) ==40833== by 0x47: ??? ==40833== by 0x1FFF000472: ??? ==40833== by 0x1FFF000482: ??? ==40833== by 0x1FFF000485: ??? ==40833== ==40833== 96 bytes in 1 blocks are possibly lost in loss record 217 of 243 ==40833== at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==40833== by 0xA4F2D30: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.2) ==40833== by 0xA46F0C7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA46F26A: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA473058: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA44EEDE: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA4480B7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0x4011B89: call_init.part.0 (dl-init.c:72) ==40833== by 0x4011C90: call_init (dl-init.c:30) ==40833== by 0x4011C90: _dl_init (dl-init.c:119) ==40833== by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so) ==40833== by 0x47: ??? ==40833== by 0x1FFF000472: ??? ==40833== ==40833== 96 bytes in 1 blocks are possibly lost in loss record 218 of 243 ==40833== at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==40833== by 0xA4F2D30: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.2) ==40833== by 0xA46F0C7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA46F26A: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA473058: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA44EF41: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA4480B7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0x4011B89: call_init.part.0 (dl-init.c:72) ==40833== by 0x4011C90: call_init (dl-init.c:30) ==40833== by 0x4011C90: _dl_init (dl-init.c:119) ==40833== by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so) ==40833== by 0x47: ??? ==40833== by 0x1FFF000472: ??? ==40833== ==40833== 96 bytes in 1 blocks are possibly lost in loss record 219 of 243 ==40833== at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==40833== by 0xA4F2D30: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.2) ==40833== by 0xA46F0C7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA46F26A: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA473058: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA458FFF: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA4480C1: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0x4011B89: call_init.part.0 (dl-init.c:72) ==40833== by 0x4011C90: call_init (dl-init.c:30) ==40833== by 0x4011C90: _dl_init (dl-init.c:119) ==40833== by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so) ==40833== by 0x47: ??? ==40833== by 0x1FFF000472: ??? ==40833== ==40833== 96 bytes in 1 blocks are possibly lost in loss record 220 of 243 ==40833== at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==40833== by 0xA4F2D30: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.2) ==40833== by 0xA46F0C7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA46F26A: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA473058: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA453CC3: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA4480C6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0x4011B89: call_init.part.0 (dl-init.c:72) ==40833== by 0x4011C90: call_init (dl-init.c:30) ==40833== by 0x4011C90: _dl_init (dl-init.c:119) ==40833== by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so) ==40833== by 0x47: ??? ==40833== by 0x1FFF000472: ??? ==40833== ==40833== 132 bytes in 1 blocks are possibly lost in loss record 222 of 243 ==40833== at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==40833== by 0xA4F2D30: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.2) ==40833== by 0xA4700D4: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA4730E9: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA44EEDE: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA4480B7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0x4011B89: call_init.part.0 (dl-init.c:72) ==40833== by 0x4011C90: call_init (dl-init.c:30) ==40833== by 0x4011C90: _dl_init (dl-init.c:119) ==40833== by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so) ==40833== by 0x47: ??? ==40833== by 0x1FFF000472: ??? ==40833== by 0x1FFF000482: ??? ==40833== ==40833== 132 bytes in 1 blocks are possibly lost in loss record 223 of 243 ==40833== at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==40833== by 0xA4F2D30: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.2) ==40833== by 0xA4700D4: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA4730E9: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA44EF41: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA4480B7: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0x4011B89: call_init.part.0 (dl-init.c:72) ==40833== by 0x4011C90: call_init (dl-init.c:30) ==40833== by 0x4011C90: _dl_init (dl-init.c:119) ==40833== by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so) ==40833== by 0x47: ??? ==40833== by 0x1FFF000472: ??? ==40833== by 0x1FFF000482: ??? ==40833== ==40833== 148 bytes in 1 blocks are possibly lost in loss record 225 of 243 ==40833== at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==40833== by 0xA4F2D30: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.2) ==40833== by 0xA46FEE8: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA4730E9: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA458FFF: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA4480C1: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0x4011B89: call_init.part.0 (dl-init.c:72) ==40833== by 0x4011C90: call_init (dl-init.c:30) ==40833== by 0x4011C90: _dl_init (dl-init.c:119) ==40833== by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so) ==40833== by 0x47: ??? ==40833== by 0x1FFF000472: ??? ==40833== by 0x1FFF000482: ??? ==40833== ==40833== 148 bytes in 1 blocks are possibly lost in loss record 226 of 243 ==40833== at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==40833== by 0xA4F2D30: g_malloc0 (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.2) ==40833== by 0xA46FEE8: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA4730E9: g_type_register_fundamental (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA453CC3: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA4480C6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0x4011B89: call_init.part.0 (dl-init.c:72) ==40833== by 0x4011C90: call_init (dl-init.c:30) ==40833== by 0x4011C90: _dl_init (dl-init.c:119) ==40833== by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so) ==40833== by 0x47: ??? ==40833== by 0x1FFF000472: ??? ==40833== by 0x1FFF000482: ??? ==40833== ==40833== 184 bytes in 1 blocks are possibly lost in loss record 228 of 243 ==40833== at 0x483DFAF: realloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) ==40833== by 0xA4F2D7F: g_realloc (in /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.6400.2) ==40833== by 0xA46F043: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA4732B4: g_type_register_static (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA45AD12: g_param_type_register_static (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA45D7EA: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0xA4480CB: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.6400.2) ==40833== by 0x4011B89: call_init.part.0 (dl-init.c:72) ==40833== by 0x4011C90: call_init (dl-init.c:30) ==40833== by 0x4011C90: _dl_init (dl-init.c:119) ==40833== by 0x4001139: ??? (in /usr/lib/x86_64-linux-gnu/ld-2.31.so) ==40833== by 0x47: ??? ==40833== by 0x1FFF000472: ??? ==40833== ==40833== LEAK SUMMARY: ==40833== definitely lost: 0 bytes in 0 blocks ==40833== indirectly lost: 0 bytes in 0 blocks ==40833== possibly lost: 1,352 bytes in 18 blocks ==40833== still reachable: 48,188 bytes in 235 blocks ==40833== of which reachable via heuristic: ==40833== newarray : 1,536 bytes in 16 blocks ==40833== suppressed: 0 bytes in 0 blocks ==40833== Reachable blocks (those to which a pointer was found) are not shown. ==40833== To see them, rerun with: --leak-check=full --show-leak-kinds=all ==40833== ==40833== For lists of detected and suppressed errors, rerun with: -s ==40833== ERROR SUMMARY: 18 errors from 18 contexts (suppressed: 0 from 0) root at live-packager-pool01-main:/dev/shm/live/test# Any idea? Thanks in advance, Alex From ceffmpeg at gmail.com Thu Jun 25 09:28:09 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Thu, 25 Jun 2020 08:28:09 +0200 Subject: [FFmpeg-user] FFMPEG endlessly increases memory usage over time with HLS packaging. In-Reply-To: <3DDD94B1-0AD3-44F5-A1BC-596E567DE7D1@vision247.com> References: <3DDD94B1-0AD3-44F5-A1BC-596E567DE7D1@vision247.com> Message-ID: > Am 25.06.2020 um 02:38 schrieb Alessandro Molon : > > I would like to use ffmpeg as live HLS ABR packager and use /dev/shm to store playlist and chunks in RAMDISK. > But unfortunately I’ve noticed that ffmpeg constantly increase the memory used until it saturates it. No. At least both your „free“ and „valgrind“ output indicate the opposite (as does the word „saturate“ above). Please read up about the columns „free“, „used“ and „available“ of free console output. https://www.linuxatemyram.com/ Carl Eugen From louis.geuten at freecaster.com Thu Jun 25 14:47:06 2020 From: louis.geuten at freecaster.com (Louis Geuten) Date: Thu, 25 Jun 2020 13:47:06 +0200 Subject: [FFmpeg-user] Fifo muxer with ISMV output results in corrupted video In-Reply-To: References: Message-ID: Hello, It seems that using the argument "-flags +global_header" with the bitstream filter "dump_extra" fixes the issue. Why this isn't needed when directly muxing with ISMV instead of fifo is beyond me. On Tue, 23 Jun 2020 at 12:03, Louis Geuten wrote: > Hello, > > I'm using ffmpeg to transcode vod or live content using h264 through the > ISMV protocol. > I have had a few issues with networking recently, and decided to try to > use the fifo muxer to decouple the output I/O from the encoding. > > However it seems that the video packets produced by the muxer are not > valid. The audio seems fine. > Saving the file on disk allow me to probe it, and it fails with the > following error: > > [extract_extradata @ 0x48c9900] No start code is found. > bonjour/Stream(v-0-1280): Invalid data found when processing input > > I have attached the output logs for both commands. > > The *fifo* command, which produces corrupt video files > *(Job-7-Run-36.err)* > /usr/local/bin/ffmpeg -nostdin -loglevel trace -probesize 20M > -analyzeduration 10M -y -re -stream_loop -1 -i kuro_demo.mp4 -map 0:0 -vf > "scale=1280:720" -pix_fmt yuv420p -preset veryfast -tune zerolatency > -x264opts no-sliced-threads:nal-hrd=cbr:scenecut=0:qpmax=45:keyint=25 > -minrate 2600K -maxrate 2600K -bufsize 5200K -b:v:0 2600K -flags +cgop -g > 25 -keyint_min 25 -r 25.000000 -c:v:0 libx264 -an -bsf:v dump_extra -f fifo > -fifo_format ismv -queue_size 200 -drop_pkts_on_overflow 1 > -attempt_recovery 1 -recovery_wait_time 1 -restart_with_keyframe 1 > -format_opts > frag_duration=1920000:movflags=isml+frag_keyframe:write_prft=wallclock:fflags=+genpts > bonjour/Stream(v-0-1280) -map 0:1 -c:a:0 aac -b:a:0 96K -ac 2 > -metadata:s:a:0 language=und -bsf:v dump_extra -f fifo -fifo_format ismv > -queue_size 200 -drop_pkts_on_overflow 1 -attempt_recovery 1 > -recovery_wait_time 1 -restart_with_keyframe 1 -format_opts > fflags=+genpts:frag_duration=1920000:movflags=isml+frag_keyframe:write_prft=wallclock > bonjour/Stream(a-0-und) > > The same command without using the fifo muxer: (*Job-7-Run-37.err*) > /usr/local/bin/ffmpeg -nostdin -loglevel trace -probesize 20M > -analyzeduration 10M -y -re -stream_loop -1 -i kuro_demo.mp4 -map 0:0 -vf > "scale=1280:720" -pix_fmt yuv420p -preset veryfast -tune zerolatency > -x264opts no-sliced-threads:nal-hrd=cbr:scenecut=0:qpmax=45:keyint=25 > -minrate 2600K -maxrate 2600K -bufsize 5200K -b:v:0 2600K -flags +cgop -g > 25 -keyint_min 25 -r 25.000000 -c:v:0 libx264 -an -f ismv -movflags > isml+frag_keyframe -write_prft wallclock -fflags +genpts -frag_duration > 1920000 bonjour/Stream(v-0-1280) -map 0:1 -c:a:0 aac -b:a:0 96K -ac 2 > -metadata:s:a:0 language=und -f ismv -fflags +genpts -frag_duration 1920000 > -movflags isml+frag_keyframe -write_prft wallclock bonjour/Stream(a-0-und) > > I am using the latest git HEAD commit > (44ce333f03e5daf7883147938f74018cec287aec) built from source. > > Is there some option I am missing to make the output ISMV file correct ? > Or is this a bug in the fifo muxer ? > > Thanks for the help. > -- ___________________________________________________ Louis Geuten - Developper Skype: orygin9 *Freecaster - Belgium sprl* mobile: +32 494 08 82 80 15 rue des Phlox - 5100 Nannine - Namur, Belgium VAT: BE0467 231 677 *Freecaster - France sarl* 9 cité du Paradis 75010 Paris, France TVA: FR32 824 896 575 From ffmpeg at gyani.pro Thu Jun 25 15:35:22 2020 From: ffmpeg at gyani.pro (Gyan Doshi) Date: Thu, 25 Jun 2020 18:05:22 +0530 Subject: [FFmpeg-user] Fifo muxer with ISMV output results in corrupted video In-Reply-To: References: Message-ID: <3a0d839e-ce28-b0f3-cce8-0f73107e16f1@gyani.pro> On 25-06-2020 05:17 pm, Louis Geuten wrote: > Hello, > > It seems that using the argument "-flags +global_header" with the bitstream > filter "dump_extra" fixes the issue. > Why this isn't needed when directly muxing with ISMV instead of fifo is > beyond me. Each muxer has a list of flags; those relevant to encoders are conveyed by ffmpeg to that encoder. The fifo muxer isn't a muxer per-se but an intermediary layer dressed up as a muxer. It won't necessarily share the relevant flags with the child muxer, so they have to be manually set by the user. Gyan From mikelee164396 at 163.com Thu Jun 25 15:50:47 2020 From: mikelee164396 at 163.com (mikelee164396) Date: Thu, 25 Jun 2020 20:50:47 +0800 (GMT+08:00) Subject: [FFmpeg-user] How to merge several segments of a video to the original video? Message-ID: <96d2e54.121c.172eb87d546.Coremail.mikelee164396@163.com> A video was downloaded in an android app. It is found that the video is divided into several segments and a .M3u8 file. The list of all files is JPG file, as well as .M3u8 file, .Key file, and a .JSON file (I don't know what the file is for) see the attachment. How can I use ffmpeg to merge these clips into the original video file? When I tried to merge, there was an error. See the attachment error.txt for the error content and command line. | | mikelee164396 | | 邮箱:mikelee164396 at 163.com | 签名由 网易邮箱大师 定制 -------------- next part -------------- A non-text attachment was scrubbed... Name: gogoup.7z Type: application/x-7z-compressed Size: 558798 bytes Desc: not available URL: From andrei.k.gml at gmail.com Thu Jun 25 16:05:28 2020 From: andrei.k.gml at gmail.com (andrei ka) Date: Thu, 25 Jun 2020 15:05:28 +0200 Subject: [FFmpeg-user] Fifo muxer with ISMV output results in corrupted video In-Reply-To: <3a0d839e-ce28-b0f3-cce8-0f73107e16f1@gyani.pro> References: <3a0d839e-ce28-b0f3-cce8-0f73107e16f1@gyani.pro> Message-ID: pretty messy command with a few redundancies, but the funniest one -an and -c:a combo Le jeu. 25 juin 2020 à 14:35, Gyan Doshi a écrit : > > > On 25-06-2020 05:17 pm, Louis Geuten wrote: > > Hello, > > > > It seems that using the argument "-flags +global_header" with the > bitstream > > filter "dump_extra" fixes the issue. > > Why this isn't needed when directly muxing with ISMV instead of fifo is > > beyond me. > > Each muxer has a list of flags; those relevant to encoders are conveyed > by ffmpeg to that encoder. > > The fifo muxer isn't a muxer per-se but an intermediary layer dressed up > as a muxer. It won't necessarily share the relevant flags with the child > muxer, so they have to be manually set by the user. > > Gyan > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From louis.geuten at freecaster.com Thu Jun 25 16:22:48 2020 From: louis.geuten at freecaster.com (Louis Geuten) Date: Thu, 25 Jun 2020 15:22:48 +0200 Subject: [FFmpeg-user] Fifo muxer with ISMV output results in corrupted video In-Reply-To: References: <3a0d839e-ce28-b0f3-cce8-0f73107e16f1@gyani.pro> Message-ID: Hello andrei, I know the command is a bit messy, but this is not a contradiction. There are two separate outputs, one for video with the -an, and another with the audio mapping and an audio codec specified. AFAIK they are not used together. These commands are generated "on the fly" from my software, and they can be used quite a lot of use-cases. If you have any other useful critique of the command here, please go ahead and I'll improve it. Regards, Louis On Thu, 25 Jun 2020 at 15:05, andrei ka wrote: > pretty messy command with a few redundancies, but the funniest one -an and > -c:a combo > > Le jeu. 25 juin 2020 à 14:35, Gyan Doshi a écrit : > > > > > > > On 25-06-2020 05:17 pm, Louis Geuten wrote: > > > Hello, > > > > > > It seems that using the argument "-flags +global_header" with the > > bitstream > > > filter "dump_extra" fixes the issue. > > > Why this isn't needed when directly muxing with ISMV instead of fifo is > > > beyond me. > > > > Each muxer has a list of flags; those relevant to encoders are conveyed > > by ffmpeg to that encoder. > > > > The fifo muxer isn't a muxer per-se but an intermediary layer dressed up > > as a muxer. It won't necessarily share the relevant flags with the child > > muxer, so they have to be manually set by the user. > > > > Gyan > > _______________________________________________ > > ffmpeg-user mailing list > > ffmpeg-user at ffmpeg.org > > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > > > To unsubscribe, visit link above, or email > > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From louis.geuten at freecaster.com Thu Jun 25 16:19:33 2020 From: louis.geuten at freecaster.com (Louis Geuten) Date: Thu, 25 Jun 2020 15:19:33 +0200 Subject: [FFmpeg-user] Fifo muxer with ISMV output results in corrupted video In-Reply-To: <3a0d839e-ce28-b0f3-cce8-0f73107e16f1@gyani.pro> References: <3a0d839e-ce28-b0f3-cce8-0f73107e16f1@gyani.pro> Message-ID: Hello, Gyan, I understand the fifo pseudo-muxer doesn't forward everything to the muxer behind it, but shouldn't this flag be set too when not using fifo ? Or is it detected somewhere and added directly ? I had to dive into the source code to find why there wasn't any extradata populated that the muxer could use properly. Anyway thanks for your reply. Louis On Thu, 25 Jun 2020 at 14:35, Gyan Doshi wrote: > > > On 25-06-2020 05:17 pm, Louis Geuten wrote: > > Hello, > > > > It seems that using the argument "-flags +global_header" with the > bitstream > > filter "dump_extra" fixes the issue. > > Why this isn't needed when directly muxing with ISMV instead of fifo is > > beyond me. > > Each muxer has a list of flags; those relevant to encoders are conveyed > by ffmpeg to that encoder. > > The fifo muxer isn't a muxer per-se but an intermediary layer dressed up > as a muxer. It won't necessarily share the relevant flags with the child > muxer, so they have to be manually set by the user. > > Gyan > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From cpz at tuunq.com Thu Jun 25 18:50:29 2020 From: cpz at tuunq.com (Carl Zwanzig) Date: Thu, 25 Jun 2020 08:50:29 -0700 Subject: [FFmpeg-user] How to merge several segments of a video to the original video? In-Reply-To: <96d2e54.121c.172eb87d546.Coremail.mikelee164396@163.com> References: <96d2e54.121c.172eb87d546.Coremail.mikelee164396@163.com> Message-ID: <94376796-77e5-ca83-973d-4746c95f2b4a@tuunq.com> On 6/25/2020 5:50 AM, mikelee164396 wrote: > When I tried to merge, there was an error. See the attachment error.txt for the error content and command line. Please place those in the email body. Very few people will download and open the 7z file. Also, what do the .key and .m3u8 files look like? z! From gounthar at gmail.com Thu Jun 25 20:01:41 2020 From: gounthar at gmail.com (Verachten Bruno) Date: Thu, 25 Jun 2020 19:01:41 +0200 Subject: [FFmpeg-user] RTMP handshaking behind a proxy In-Reply-To: References: Message-ID: I have given this command another try on another machine today, and read a bit more about the handshaking process. It does not seem to open any other port, just exchanging specific packets on the 1935 port... So something is fishy on my redsocks configuration I suppose... Here is part of the strace command: socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC, IPPROTO_IP) = 5 connect(5, {sa_family=AF_INET, sin_port=htons(1935), sin_addr=inet_addr("52.223.195.194")}, 16) = 0 getsockname(5, {sa_family=AF_INET, sin_port=htons(51463), sin_addr=inet_addr("192.168.0.217")}, [28->16]) = 0 connect(5, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 connect(5, {sa_family=AF_INET, sin_port=htons(1935), sin_addr=inet_addr("52.223.195.146")}, 16) = 0 getsockname(5, {sa_family=AF_INET, sin_port=htons(45181), sin_addr=inet_addr("192.168.0.217")}, [28->16]) = 0 connect(5, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 connect(5, {sa_family=AF_INET, sin_port=htons(1935), sin_addr=inet_addr("52.223.195.205")}, 16) = 0 getsockname(5, {sa_family=AF_INET, sin_port=htons(49529), sin_addr=inet_addr("192.168.0.217")}, [28->16]) = 0 connect(5, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 connect(5, {sa_family=AF_INET, sin_port=htons(1935), sin_addr=inet_addr("52.223.195.119")}, 16) = 0 getsockname(5, {sa_family=AF_INET, sin_port=htons(33848), sin_addr=inet_addr("192.168.0.217")}, [28->16]) = 0 connect(5, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 connect(5, {sa_family=AF_INET, sin_port=htons(1935), sin_addr=inet_addr("52.223.195.25")}, 16) = 0 getsockname(5, {sa_family=AF_INET, sin_port=htons(59504), sin_addr=inet_addr("192.168.0.217")}, [28->16]) = 0 connect(5, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 connect(5, {sa_family=AF_INET, sin_port=htons(1935), sin_addr=inet_addr("52.223.195.28")}, 16) = 0 getsockname(5, {sa_family=AF_INET, sin_port=htons(45114), sin_addr=inet_addr("192.168.0.217")}, [28->16]) = 0 connect(5, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 connect(5, {sa_family=AF_INET, sin_port=htons(1935), sin_addr=inet_addr("52.223.195.211")}, 16) = 0 getsockname(5, {sa_family=AF_INET, sin_port=htons(42766), sin_addr=inet_addr("192.168.0.217")}, [28->16]) = 0 connect(5, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 connect(5, {sa_family=AF_INET, sin_port=htons(1935), sin_addr=inet_addr("52.223.195.169")}, 16) = 0 getsockname(5, {sa_family=AF_INET, sin_port=htons(43587), sin_addr=inet_addr("192.168.0.217")}, [28->16]) = 0 connect(5, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 connect(5, {sa_family=AF_INET, sin_port=htons(1935), sin_addr=inet_addr("52.223.195.236")}, 16) = 0 getsockname(5, {sa_family=AF_INET, sin_port=htons(33059), sin_addr=inet_addr("192.168.0.217")}, [28->16]) = 0 connect(5, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 connect(5, {sa_family=AF_INET, sin_port=htons(1935), sin_addr=inet_addr("52.223.195.9")}, 16) = 0 getsockname(5, {sa_family=AF_INET, sin_port=htons(40109), sin_addr=inet_addr("192.168.0.217")}, [28->16]) = 0 connect(5, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 connect(5, {sa_family=AF_INET, sin_port=htons(1935), sin_addr=inet_addr("52.223.195.95")}, 16) = 0 getsockname(5, {sa_family=AF_INET, sin_port=htons(46689), sin_addr=inet_addr("192.168.0.217")}, [28->16]) = 0 connect(5, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 connect(5, {sa_family=AF_INET, sin_port=htons(1935), sin_addr=inet_addr("52.223.195.16")}, 16) = 0 getsockname(5, {sa_family=AF_INET, sin_port=htons(42222), sin_addr=inet_addr("192.168.0.217")}, [28->16]) = 0 close(5) = 0 socket(AF_INET, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_TCP) = 5 fcntl(5, F_GETFL) = 0x2 (flags O_RDWR) fcntl(5, F_SETFL, O_RDWR|O_NONBLOCK) = 0 connect(5, {sa_family=AF_INET, sin_port=htons(1935), sin_addr=inet_addr("52.223.195.194")}, 16) = -1 EINPROGRESS (Operation now in progress) poll([{fd=5, events=POLLOUT}], 1, 100) = 1 ([{fd=5, revents=POLLOUT}]) getsockopt(5, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 write(2, "\33[0;39m[rtmp @ 0x1f512c0] \33[0m", 30[rtmp @ 0x1f512c0] ) = 30 write(2, "\33[0;32mHandshaking...\n\33[0m", 26Handshaking... ) = 26 poll([{fd=5, events=POLLOUT}], 1, 100) = 1 ([{fd=5, revents=POLLOUT}]) sendto(5, "\3\0\0\0\0\t\0|\2\367xU\36\316\253\216\0366/\7\305\206\212p\262f\324\2 \345\10a"..., 1537, MSG_NOSIGNAL, NULL, 0) = 1537 poll([{fd=5, events=POLLIN}], 1, 100) = 0 (Timeout) On Tue, Dec 10, 2019 at 6:47 PM Verachten Bruno wrote: > Hi there, > > I unfortunately have to stream from behind a proxy. It works on one of my > machines thanks to redsocks. The RTMP handshake goes well, and I can stream > to twitch or youtube. > On another machine, with the same redsocks configuration, the handshake > never finishes, be it with youtube or twitch. The ffmpeg command is just a > copy of an already h.264 encoded stream from rtmp to rtmp. > > My question is: is there a random port opened for the negotiation? Where > should I look for the blocking of the handshake? > > Here is the command I have and the output: > ffmpeg -i "$SOURCE" -c:v copy -c:a copy -f flv "$YOUTUBE_URL/$KEY" > -loglevel debug > [...] > Splitting the commandline. > Reading option '-i' ... matched as input url with argument 'rtmp:// > 192.168.1.217:1935/live/stream15'. > Reading option '-c:v' ... matched as option 'c' (codec name) with argument > 'copy'. > Reading option '-c:a' ... matched as option 'c' (codec name) with argument > 'copy'. > Reading option '-f' ... matched as option 'f' (force format) with argument > 'flv'. > Reading option 'rtmp://live-cdg.twitch.tv/app/live_of_myself' ... matched > as output url. > Reading option '-loglevel' ... matched as option 'loglevel' (set logging > level) with argument 'debug'. > Finished splitting the commandline. > Parsing a group of options: global . > Applying option loglevel (set logging level) with argument debug. > Successfully parsed a group of options. > Parsing a group of options: input url rtmp:// > 192.168.1.217:1935/live/stream15. > Successfully parsed a group of options. > Opening an input file: rtmp://192.168.1.217:1935/live/stream15. > [NULL @ 0xc401d0] Opening 'rtmp://192.168.1.217:1935/live/stream15' for > reading > [rtmp @ 0xc40990] No default whitelist set > [tcp @ 0xc41010] No default whitelist set > [tcp @ 0xc41010] Original list of addresses: > [tcp @ 0xc41010] Address 192.168.1.217 port 1935 > [tcp @ 0xc41010] Interleaved list of addresses: > [tcp @ 0xc41010] Address 192.168.1.217 port 1935 > [tcp @ 0xc41010] Starting connection attempt to 192.168.1.217 port 1935 > [tcp @ 0xc41010] Successfully connected to 192.168.1.217 port 1935 > [rtmp @ 0xc40990] Handshaking... > [rtmp @ 0xc40990] Type answer 3 > [rtmp @ 0xc40990] Server version 13.14.10.13 > [rtmp @ 0xc40990] Proto = rtmp, path = /live/stream15, app = live, fname = > stream15 > [rtmp @ 0xc40990] Window acknowledgement size = 5000000 > [rtmp @ 0xc40990] Max sent, unacked = 5000000 > [rtmp @ 0xc40990] New incoming chunk size = 20480 > [rtmp @ 0xc40990] Creating stream... > [rtmp @ 0xc40990] Sending play command for 'stream15' > [flv @ 0xc401d0] Format flv probed with size=2048 and score=100 > [flv @ 0xc401d0] Before avformat_find_stream_info() pos: 13 bytes > read:32868 seeks:0 nb_streams:0 > [flv @ 0xc401d0] Unknown type |RtmpSampleAccess > [NULL @ 0xc432a0] nal_unit_type: 7(SPS), nal_ref_idc: 3 > [NULL @ 0xc432a0] nal_unit_type: 8(PPS), nal_ref_idc: 3 > [NULL @ 0xc432a0] unknown SEI type 229 > [h264 @ 0xc432a0] nal_unit_type: 7(SPS), nal_ref_idc: 3 > [h264 @ 0xc432a0] nal_unit_type: 8(PPS), nal_ref_idc: 3 > [h264 @ 0xc432a0] nal_unit_type: 7(SPS), nal_ref_idc: 3 > [h264 @ 0xc432a0] nal_unit_type: 8(PPS), nal_ref_idc: 3 > [h264 @ 0xc432a0] nal_unit_type: 6(SEI), nal_ref_idc: 0 > [h264 @ 0xc432a0] nal_unit_type: 5(IDR), nal_ref_idc: 3 > [h264 @ 0xc432a0] unknown SEI type 229 > [h264 @ 0xc432a0] Format yuv420p chosen by get_format(). > [h264 @ 0xc432a0] Reinit context to 1920x1088, pix_fmt: yuv420p > [h264 @ 0xc432a0] nal_unit_type: 1(Coded slice of a non-IDR picture), > nal_ref_idc: 3 > Last message repeated 5 times > [flv @ 0xc401d0] All info found > [flv @ 0xc401d0] rfps: 29.750000 0.015408 > [flv @ 0xc401d0] rfps: 29.833333 0.010802 > [flv @ 0xc401d0] rfps: 29.916667 0.008256 > [flv @ 0xc401d0] rfps: 30.000000 0.007768 > Last message repeated 1 times > [flv @ 0xc401d0] rfps: 29.970030 0.007707 > Last message repeated 1 times > [flv @ 0xc401d0] Setting avg frame rate based on r frame rate > [flv @ 0xc401d0] After avformat_find_stream_info() pos: 66491 bytes > read:66491 seeks:0 frames:105 > Input #0, flv, from 'rtmp://192.168.1.217:1935/live/stream15': > Duration: N/A, start: 9159.905000, bitrate: N/A > Stream #0:0, 41, 1/1000: Video: h264 (High), 1 reference frame, > yuv420p(progressive, left), 1920x1080 (1920x1088), 0/1, 29.97 fps, 29.97 > tbr, 1k tbn > Stream #0:1, 64, 1/1000: Audio: aac (LC), 48000 Hz, stereo, fltp > Successfully opened the file. > Parsing a group of options: output url rtmp:// > live-cdg.twitch.tv/app/live_of_myself. > Applying option c:v (codec name) with argument copy. > Applying option c:a (codec name) with argument copy. > Applying option f (force format) with argument flv. > Successfully parsed a group of options. > Opening an output file: rtmp://live-cdg.twitch.tv/app/live_of_myself. > [rtmp @ 0xc528c0] No default whitelist set > [tcp @ 0xcacff0] No default whitelist set > [tcp @ 0xcacff0] Original list of addresses: > [tcp @ 0xcacff0] Address 52.223.195.16 port 1935 > [tcp @ 0xcacff0] Address 52.223.195.119 port 1935 > [tcp @ 0xcacff0] Address 52.223.195.169 port 1935 > [tcp @ 0xcacff0] Address 52.223.195.205 port 1935 > [tcp @ 0xcacff0] Address 52.223.195.9 port 1935 > [tcp @ 0xcacff0] Interleaved list of addresses: > [tcp @ 0xcacff0] Address 52.223.195.16 port 1935 > [tcp @ 0xcacff0] Address 52.223.195.119 port 1935 > [tcp @ 0xcacff0] Address 52.223.195.169 port 1935 > [tcp @ 0xcacff0] Address 52.223.195.205 port 1935 > [tcp @ 0xcacff0] Address 52.223.195.9 port 1935 > [tcp @ 0xcacff0] Starting connection attempt to 52.223.195.16 port 1935 > [tcp @ 0xcacff0] Successfully connected to 52.223.195.16 port 1935 > [rtmp @ 0xc528c0] Handshaking... > > and I never get any other information, until CTRL+C. > [rtmp @ 0xc528c0] Cannot read RTMP handshake response > rtmp://live-cdg.twitch.tv/app/live_of_myself: Immediate exit requested > [AVIOContext @ 0xc42a50] Statistics: 66491 bytes read, 0 seeks > [rtmp @ 0xc40990] Deleting stream... > Exiting normally, received signal 2. > > On the other machine, I go until the end of the handshaking: > Opening an output file: rtmp://live-cdg.twitch.tv/app/live_of_myself. > [rtmp @ 0x55a25d70e880] No default whitelist set > [tcp @ 0x55a25d5ce220] No default whitelist set > [rtmp @ 0x55a25d70e880] Handshaking... > [rtmp @ 0x55a25d70e880] Type answer 3 > [rtmp @ 0x55a25d70e880] Server version 1.2.3.4 > [rtmp @ 0x55a25d70e880] Proto = rtmp, path = /app/ live_of_myself , app = > app, fname = live_of_myself > [rtmp @ 0x55a25d70e880] Window acknowledgement size = 2500000 > [rtmp @ 0x55a25d70e880] Max sent, unacked = 2500000 > [rtmp @ 0x55a25d70e880] New incoming chunk size = 4096 > [rtmp @ 0x55a25d70e880] Releasing stream... > [rtmp @ 0x55a25d70e880] FCPublish stream... > [rtmp @ 0x55a25d70e880] Creating stream... > [rtmp @ 0x55a25d70e880] Sending publish command for ' live_of_myself ' > Successfully opened the file. > > Thanks. > -- > Bruno Verachten > -- Bruno Verachten From alex.molon at vision247.com Thu Jun 25 21:39:02 2020 From: alex.molon at vision247.com (Alessandro Molon) Date: Thu, 25 Jun 2020 18:39:02 +0000 Subject: [FFmpeg-user] FFMPEG endlessly increases memory usage over time with HLS packaging. In-Reply-To: References: <3DDD94B1-0AD3-44F5-A1BC-596E567DE7D1@vision247.com> Message-ID: Apparently you think that the constantly increasing amount of "Used" memory in my case falls in the case described as: Memory that is: used, but can be made available You’d call it: Free (or Available) Linux calls it: Used (and Available) Let's see what happens if I run 20 processes for few days... Cheers, Alex -----Original Message----- From: ffmpeg-user On Behalf Of Carl Eugen Hoyos Sent: 25 June 2020 07:28 To: FFmpeg user questions Subject: Re: [FFmpeg-user] FFMPEG endlessly increases memory usage over time with HLS packaging. > Am 25.06.2020 um 02:38 schrieb Alessandro Molon : > > I would like to use ffmpeg as live HLS ABR packager and use /dev/shm to store playlist and chunks in RAMDISK. > But unfortunately I’ve noticed that ffmpeg constantly increase the memory used until it saturates it. No. At least both your „free“ and „valgrind“ output indicate the opposite (as does the word „saturate“ above). Please read up about the columns „free“, „used“ and „available“ of free console output. https://www.linuxatemyram.com/ Carl Eugen _______________________________________________ ffmpeg-user mailing list ffmpeg-user at ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From markfilipak.windows+ffmpeg at gmail.com Thu Jun 25 22:15:00 2020 From: markfilipak.windows+ffmpeg at gmail.com (Mark Filipak) Date: Thu, 25 Jun 2020 15:15:00 -0400 Subject: [FFmpeg-user] difficulties with time stamps? Message-ID: For a soft telecined 30000/1001 FPS movie. ffprobe reports frames.frame.0.pkt_duration_time="0:00:00.033367" ...1.001/30 frames.frame.1.pkt_duration_time="0:00:00.050044" should be 0:00:00.050050 ...1.5*1.001/30 The duration of frame 1 is too short by 0.000006. Could this error (or errors like this) be the cause of some of the difficulties with time stamps? From mohbeyinfo at gmail.com Thu Jun 25 22:26:55 2020 From: mohbeyinfo at gmail.com (Mohammed Bey Ahmed Khernache) Date: Thu, 25 Jun 2020 21:26:55 +0200 Subject: [FFmpeg-user] HEVC acceleration In-Reply-To: References: Message-ID: > You should probably also try with older FFmpeg versions... I tried with an older version of ffmpeg (3.4.7), and it works. The issue is that I don't see any difference when using ffmpeg with and without the "-c:v hevc_v4l2m2m" option. This means that the HEVC accelerator is not enabled. Am I right? Am I missing something in the command line of ffmpeg? Mohammed > > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From ceffmpeg at gmail.com Fri Jun 26 00:15:44 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Thu, 25 Jun 2020 23:15:44 +0200 Subject: [FFmpeg-user] difficulties with time stamps? In-Reply-To: References: Message-ID: Am Do., 25. Juni 2020 um 21:15 Uhr schrieb Mark Filipak : > Could this error (or errors like this) be the cause of some of the > difficulties with time stamps? If you experience difficulties, be it with timestamps or otherwise, please provide the (ffmpeg) command line you tested together with the complete, uncut console output and an input sample file. Carl Eugen From ceffmpeg at gmail.com Fri Jun 26 00:20:58 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Thu, 25 Jun 2020 23:20:58 +0200 Subject: [FFmpeg-user] How to merge several segments of a video to the original video? In-Reply-To: <96d2e54.121c.172eb87d546.Coremail.mikelee164396@163.com> References: <96d2e54.121c.172eb87d546.Coremail.mikelee164396@163.com> Message-ID: Am Do., 25. Juni 2020 um 14:51 Uhr schrieb mikelee164396 : > A video was downloaded in an android app. It is > found that the video is divided into several > segments and a .M3u8 file. Apart from what was said: If the m3u8 segments are transport streams (as I expect), the right tool to "merge" them is cat (or copy /b on windows). Carl Eugen From ceffmpeg at gmail.com Fri Jun 26 00:18:44 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Thu, 25 Jun 2020 23:18:44 +0200 Subject: [FFmpeg-user] FFMPEG endlessly increases memory usage over time with HLS packaging. In-Reply-To: References: <3DDD94B1-0AD3-44F5-A1BC-596E567DE7D1@vision247.com> Message-ID: Am Do., 25. Juni 2020 um 20:39 Uhr schrieb Alessandro Molon : > Let's see what happens if I run 20 processes for few days... On most hardware, you cannot run 20 (real-life) FFmpeg processes for a few days but if there is constantly increasing memory footprint or a memory leak, one process should be sufficient to show it. Please find out what top-posting means and avoid it here, Carl Eugen From andriy.gelman at gmail.com Fri Jun 26 01:52:10 2020 From: andriy.gelman at gmail.com (Andriy Gelman) Date: Thu, 25 Jun 2020 18:52:10 -0400 Subject: [FFmpeg-user] HEVC acceleration In-Reply-To: References: Message-ID: On Thu, 25 Jun 2020 at 15:27, Mohammed Bey Ahmed Khernache < mohbeyinfo at gmail.com> wrote: > > You should probably also try with older FFmpeg versions... > I tried with an older version of ffmpeg (3.4.7), and it works. > The issue is that I don't see any difference when using ffmpeg with and > without the "-c:v hevc_v4l2m2m" option. > This means that the HEVC accelerator is not enabled. Am I right? > Am I missing something in the command line of ffmpeg? > > Mohammed > It's probably working :) Please create a ticket on trac.ffmpeg.org . Could you run git bisect to identify which commit caused the problem? Thanks, Andriy From lsbplsb at yahoo.com Fri Jun 26 02:10:47 2020 From: lsbplsb at yahoo.com (Leonardo) Date: Thu, 25 Jun 2020 23:10:47 +0000 (UTC) Subject: [FFmpeg-user] Producing smooth video from images References: <1564429073.3888906.1593126647084.ref@mail.yahoo.com> Message-ID: <1564429073.3888906.1593126647084@mail.yahoo.com> Hello, I have a sequence of images, image001.png to image945.png, and I am using this command to produce a video: ffmpeg -framerate 60 -i image%03d.png -c:v libx264 -pix_fmt yuv420p -vf scale=1920:1080,fps=60 -r 60 video.mp4 The video is fine but I would like to improve it. I was thinking in some kind of "motion blur" or a better sense of motion. The filters minterpolate and tblend seem to be what I am looking for, but I don't know how to use nor which is better. Any tips? Kind regards,Leonardo From ceffmpeg at gmail.com Fri Jun 26 02:32:01 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Fri, 26 Jun 2020 01:32:01 +0200 Subject: [FFmpeg-user] Producing smooth video from images In-Reply-To: <1564429073.3888906.1593126647084@mail.yahoo.com> References: <1564429073.3888906.1593126647084.ref@mail.yahoo.com> <1564429073.3888906.1593126647084@mail.yahoo.com> Message-ID: Am Fr., 26. Juni 2020 um 01:11 Uhr schrieb Leonardo via ffmpeg-user : > I have a sequence of images, image001.png to image945.png, > and I am using this command to produce a video: > ffmpeg -framerate 60 -i image%03d.png -c:v libx264 -pix_fmt yuv420p -vf scale=1920:1080,fps=60 -r 60 video.mp4 Remove "fps=60" and "-r 60", provide the complete, uncut console output and explain what you want to improve about the output file. (The minterpolate filter is powerful but you should first explain why you want to use it) Remember that "-pix_fmt yuv420p" which you probably need for your use-case heavily affects output quality which you cannot circumvent. Carl Eugen From leo.butler81 at googlemail.com Fri Jun 26 05:56:15 2020 From: leo.butler81 at googlemail.com (Leo Butler) Date: Thu, 25 Jun 2020 21:56:15 -0500 Subject: [FFmpeg-user] Fwd: OBS and OBS Portable Recording Into Same File Simultaneously In-Reply-To: (David Bayles's message of "Wed, 24 Jun 2020 10:59:51 -0400") References: Message-ID: <864kqy1qnk.fsf@x201.butler.org> David Bayles writes: > Corrupted video file, FFprobe output text file, and FFmpeg output text file > are all available to download here: > https://drive.google.com/drive/folders/1R0Y5plgkhTWWFNNKgSNJ5yitpKQbIKgg?usp=sharing > > I'm hoping there is a way to extract good video and audio from this video > file, this was for a very important job that is impossible to do again. The > video linked is a 1 minute recreation of the exact same problem... the > actual video file is confidential (for a legal court case) and is much > longer/larger. I used the exact same settings, the only difference was the > window OBS was capturing (I used a YouTube video as opposed to the > videoconference software window used for the deposition). I am no expert, but for the video, I would try using the select filter to capture the I-frames. https://ffmpeg.org/ffmpeg-all.html#toc-select_002c-aselect See the 4th example in the examples section. Leo From davidbayles at gmail.com Fri Jun 26 06:43:42 2020 From: davidbayles at gmail.com (David Bayles) Date: Thu, 25 Jun 2020 23:43:42 -0400 Subject: [FFmpeg-user] Fwd: OBS and OBS Portable Recording Into Same File Simultaneously In-Reply-To: <864kqy1qnk.fsf@x201.butler.org> References: <864kqy1qnk.fsf@x201.butler.org> Message-ID: Trying this now! Thanks! On Thu, Jun 25, 2020 at 11:03 PM Leo Butler via ffmpeg-user < ffmpeg-user at ffmpeg.org> wrote: > David Bayles writes: > > > Corrupted video file, FFprobe output text file, and FFmpeg output text > file > > are all available to download here: > > > https://drive.google.com/drive/folders/1R0Y5plgkhTWWFNNKgSNJ5yitpKQbIKgg?usp=sharing > > > > I'm hoping there is a way to extract good video and audio from this video > > file, this was for a very important job that is impossible to do again. > The > > video linked is a 1 minute recreation of the exact same problem... the > > actual video file is confidential (for a legal court case) and is much > > longer/larger. I used the exact same settings, the only difference was > the > > window OBS was capturing (I used a YouTube video as opposed to the > > videoconference software window used for the deposition). > > I am no expert, but for the video, I would try using the select filter > to capture the I-frames. > > https://ffmpeg.org/ffmpeg-all.html#toc-select_002c-aselect > > See the 4th example in the examples section. > > Leo > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From davidbayles at gmail.com Fri Jun 26 07:32:08 2020 From: davidbayles at gmail.com (David Bayles) Date: Fri, 26 Jun 2020 00:32:08 -0400 Subject: [FFmpeg-user] Fwd: OBS and OBS Portable Recording Into Same File Simultaneously In-Reply-To: References: <864kqy1qnk.fsf@x201.butler.org> Message-ID: I tried this: C:\Users\David>ffmpeg -i "C:\Users\David\Downloads\2020-06-23 09-02-44 corrupt.mkv" -vf select='eq(pict_type\,I)' "C:\Users\David\Downloads\2020-06-23 09-02-44 corrupt SELECT I-FRAMES.mkv" 2> "C:\Users\David\Downloads\2020-06-23 09-02-44 corrupt SELECT I-FRAMES.txt" And got this (video and log file): https://drive.google.com/drive/folders/1OMf6oeLIkYU1d05dPqO1tfOxI1_KnYGK?usp=sharing Is that what you meant to do? Any other ideas? Thanks! On Thu, Jun 25, 2020 at 11:43 PM David Bayles wrote: > Trying this now! Thanks! > > On Thu, Jun 25, 2020 at 11:03 PM Leo Butler via ffmpeg-user < > ffmpeg-user at ffmpeg.org> wrote: > >> David Bayles writes: >> >> > Corrupted video file, FFprobe output text file, and FFmpeg output text >> file >> > are all available to download here: >> > >> https://drive.google.com/drive/folders/1R0Y5plgkhTWWFNNKgSNJ5yitpKQbIKgg?usp=sharing >> > >> > I'm hoping there is a way to extract good video and audio from this >> video >> > file, this was for a very important job that is impossible to do again. >> The >> > video linked is a 1 minute recreation of the exact same problem... the >> > actual video file is confidential (for a legal court case) and is much >> > longer/larger. I used the exact same settings, the only difference was >> the >> > window OBS was capturing (I used a YouTube video as opposed to the >> > videoconference software window used for the deposition). >> >> I am no expert, but for the video, I would try using the select filter >> to capture the I-frames. >> >> https://ffmpeg.org/ffmpeg-all.html#toc-select_002c-aselect >> >> See the 4th example in the examples section. >> >> Leo >> _______________________________________________ >> ffmpeg-user mailing list >> ffmpeg-user at ffmpeg.org >> https://ffmpeg.org/mailman/listinfo/ffmpeg-user >> >> To unsubscribe, visit link above, or email >> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". > > From mrk.ramakrishna at gmail.com Fri Jun 26 07:51:25 2020 From: mrk.ramakrishna at gmail.com (Rama Krishna Thelagathoti) Date: Thu, 25 Jun 2020 23:51:25 -0500 Subject: [FFmpeg-user] 360 degree VR video streaming support in ffmpeg+HLS Message-ID: Hello ffmpeg team Does ffmpeg support 360 degree VR video streaming through HLS/DASH? I could see its being supported in libx264 under unofficial/experimental , but I do not see this support in HLS. when transcoding to HLS, looks like ffmpeg drops spatial metadata. please confirm. -- Best Regards *Rama krishna Thelagathoti* From davidbayles at gmail.com Fri Jun 26 08:14:43 2020 From: davidbayles at gmail.com (David Bayles) Date: Fri, 26 Jun 2020 01:14:43 -0400 Subject: [FFmpeg-user] Fwd: OBS and OBS Portable Recording Into Same File Simultaneously In-Reply-To: References: <864kqy1qnk.fsf@x201.butler.org> Message-ID: Perhaps another question: if I extract each and every frame as an image file, then go through one by one and there is no still image resembling what I filmed (i.e. every frame/picture is just solid green), does that mean that the video is definitely unrecoverable? Or might there be another way to recover the video? On Fri, Jun 26, 2020 at 12:32 AM David Bayles wrote: > I tried this: > C:\Users\David>ffmpeg -i "C:\Users\David\Downloads\2020-06-23 09-02-44 > corrupt.mkv" -vf select='eq(pict_type\,I)' > "C:\Users\David\Downloads\2020-06-23 09-02-44 corrupt SELECT I-FRAMES.mkv" > 2> "C:\Users\David\Downloads\2020-06-23 09-02-44 corrupt SELECT > I-FRAMES.txt" > > And got this (video and log file): > > https://drive.google.com/drive/folders/1OMf6oeLIkYU1d05dPqO1tfOxI1_KnYGK?usp=sharing > > Is that what you meant to do? Any other ideas? > > Thanks! > > On Thu, Jun 25, 2020 at 11:43 PM David Bayles > wrote: > >> Trying this now! Thanks! >> >> On Thu, Jun 25, 2020 at 11:03 PM Leo Butler via ffmpeg-user < >> ffmpeg-user at ffmpeg.org> wrote: >> >>> David Bayles writes: >>> >>> > Corrupted video file, FFprobe output text file, and FFmpeg output text >>> file >>> > are all available to download here: >>> > >>> https://drive.google.com/drive/folders/1R0Y5plgkhTWWFNNKgSNJ5yitpKQbIKgg?usp=sharing >>> > >>> > I'm hoping there is a way to extract good video and audio from this >>> video >>> > file, this was for a very important job that is impossible to do >>> again. The >>> > video linked is a 1 minute recreation of the exact same problem... the >>> > actual video file is confidential (for a legal court case) and is much >>> > longer/larger. I used the exact same settings, the only difference was >>> the >>> > window OBS was capturing (I used a YouTube video as opposed to the >>> > videoconference software window used for the deposition). >>> >>> I am no expert, but for the video, I would try using the select filter >>> to capture the I-frames. >>> >>> https://ffmpeg.org/ffmpeg-all.html#toc-select_002c-aselect >>> >>> See the 4th example in the examples section. >>> >>> Leo >>> _______________________________________________ >>> ffmpeg-user mailing list >>> ffmpeg-user at ffmpeg.org >>> https://ffmpeg.org/mailman/listinfo/ffmpeg-user >>> >>> To unsubscribe, visit link above, or email >>> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". >> >> From barsnick at gmx.net Fri Jun 26 11:38:38 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Fri, 26 Jun 2020 10:38:38 +0200 Subject: [FFmpeg-user] Fwd: OBS and OBS Portable Recording Into Same File Simultaneously In-Reply-To: References: Message-ID: <20200626083838.GB18782@sunshine.barsnick.net> On Wed, Jun 24, 2020 at 10:59:51 -0400, David Bayles wrote: > In OBS and OBS Portable, my video technician had the save location set to > the same exact folder (this was not how I intended it to be, but he made a > last minute change to accomadate what he suspected was a faulty hard > drive). We also had a hotkey to start recording on both apps > simultaneously. We left the auto naming scheme in place for both instances > of OBS since they were supposed to be saving to two totally different > external hard drives (we have since changed this). This perfect storm > resulted in both recordings being written into a single file (see link > above), instead of two files as intended. It is unplayabe in VLC. Assuming that both programs appended to the file (and didn't overwrite each other at the same file position), you would have double the data, interleaved on operating system / file system level. To properly disassemble at least one of the two halves, you would probably need to operate of block level, understanding how large the blocks were, and trying to fiddle out the ones from the one program and the ones from the other, while making sense to a decoder. I consider that ffmpeg gives you some results at all a coincidence - it could just as well we confused at the first inconsistency. (I assume Matroska allows for some of this recovery. I do understand that you would like to use ffmpeg to re-assemble the original video, especially as extracting audio looks somehwat promising. Yet the video's block sizes will not correspond to the file system's block sizes, and ffmpeg will keep encountering inconcistencies to the point of giving up, unless you take away the conflicting segments. > My life would saved if there is a way to extract good video/audio from this > corrupted file. Any help would be greatly appreciated, thanks in advance! You could try to observe at which point ffmpeg detects the first errors (the showinfo filter will indicate the byte position ffmpeg is operating on), and from there remove blocks of 512, 1024, 2048 bytes, hoping that after removal of some of them, you hit a proper block again, and ffmpeg will no longer "lose sync" at that point, until again a later point in the file. Just a wild suggestion. Oh, and if the two OBS overwrote each other's data, I'm pretty sure you're lost. Cheers, Moritz From ffmpeg at gyani.pro Fri Jun 26 12:22:36 2020 From: ffmpeg at gyani.pro (Gyan Doshi) Date: Fri, 26 Jun 2020 14:52:36 +0530 Subject: [FFmpeg-user] Fwd: OBS and OBS Portable Recording Into Same File Simultaneously In-Reply-To: <20200626083838.GB18782@sunshine.barsnick.net> References: <20200626083838.GB18782@sunshine.barsnick.net> Message-ID: On 26-06-2020 02:08 pm, Moritz Barsnick wrote: > You could try to observe at which point ffmpeg detects the first errors > (the showinfo filter will indicate the byte position ffmpeg is > operating on), and from there remove blocks of 512, 1024, 2048 bytes, > hoping that after removal of some of them, you hit a proper block > again, and ffmpeg will no longer "lose sync" at that point, until again > a later point in the file. showinfo operates upon decoded frames. This inspection will have to be done at the container level using a forensic tool which can identify start and end of block structures in Matroska. This assumes that the two write operations didn't write on top of each other. One saving grace could be that OBS, like ffmpeg, flushes data to files in blocks of 256 kB, although I don't know if this is the case. Gyan From alex.molon at vision247.com Fri Jun 26 15:10:57 2020 From: alex.molon at vision247.com (Alessandro Molon) Date: Fri, 26 Jun 2020 12:10:57 +0000 Subject: [FFmpeg-user] FFMPEG endlessly increases memory usage over time with HLS packaging. In-Reply-To: References: <3DDD94B1-0AD3-44F5-A1BC-596E567DE7D1@vision247.com> Message-ID: Actually I have several machines in production (dual Xeon 5620 - 32GB - Nvidia P2000) that are running 14 ffmpeg process each, all decoding Full HD mpegts and transcoding them in 4 different profiles each (HD/SD/SDh/SDq) and to be honest they work like a sharm and are also very stable. Based on this experience I actually expected, just to repacketize pre-encoded content in HLS, to run at least 40/45 (even more) process per machine.... Let me go ahead with my experiments, I'll be more than happy to produce the results. Alex -----Original Message----- From: ffmpeg-user On Behalf Of Carl Eugen Hoyos Sent: 25 June 2020 22:19 To: FFmpeg user questions Subject: Re: [FFmpeg-user] FFMPEG endlessly increases memory usage over time with HLS packaging. Am Do., 25. Juni 2020 um 20:39 Uhr schrieb Alessandro Molon : > Let's see what happens if I run 20 processes for few days... On most hardware, you cannot run 20 (real-life) FFmpeg processes for a few days but if there is constantly increasing memory footprint or a memory leak, one process should be sufficient to show it. Please find out what top-posting means and avoid it here, Carl Eugen _______________________________________________ ffmpeg-user mailing list ffmpeg-user at ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From davidbayles at gmail.com Fri Jun 26 15:16:00 2020 From: davidbayles at gmail.com (David Bayles) Date: Fri, 26 Jun 2020 08:16:00 -0400 Subject: [FFmpeg-user] Fwd: OBS and OBS Portable Recording Into Same File Simultaneously In-Reply-To: References: <20200626083838.GB18782@sunshine.barsnick.net> Message-ID: <755a35f5-1b4d-41dc-a3ba-931fd6a2272a@Spark> > showinfo operates upon decoded frames. This inspection will have to be > done at the container level using a forensic tool which can identify > start and end of block structures in Matroska. Can you suggest a forensic tool or even a company/person that could help me recover this? I’d be willing to pay for this service/tool. On Fri, Jun 26, 2020 at 5:23 AM Gyan Doshi wrote: > > > On 26-06-2020 02:08 pm, Moritz Barsnick wrote: > > You could try to observe at which point ffmpeg detects the first errors > > (the showinfo filter will indicate the byte position ffmpeg is > > operating on), and from there remove blocks of 512, 1024, 2048 bytes, > > hoping that after removal of some of them, you hit a proper block > > again, and ffmpeg will no longer "lose sync" at that point, until again > > a later point in the file. > > showinfo operates upon decoded frames. This inspection will have to be > done at the container level using a forensic tool which can identify > start and end of block structures in Matroska. This assumes that the two > write operations didn't write on top of each other. One saving grace > could be that OBS, like ffmpeg, flushes data to files in blocks of 256 > kB, although I don't know if this is the case. > > Gyan > > > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From nicolas2020 at nv76.info Fri Jun 26 16:17:08 2020 From: nicolas2020 at nv76.info (Nicolas VAMBAIRGUE) Date: Fri, 26 Jun 2020 15:17:08 +0200 Subject: [FFmpeg-user] Frequency response of an ffmpeg equalizer filter Message-ID: <6342e4c5-4078-41fc-6bba-6ac920c1c84a@nv76.info> Hello, I'm starting to use the ffmpeg filters, using the documentation. It seems working but, I don't find the way to get the frequency response of a filter. For example, let's say I'm applying this filter : equalizer=f=7000:t=q:w=2:g=2,equalizer=f=1000:t=q:w=1:g=3,equalizer=f=80:t=q:w=2:g=-30 in the following command : ffmpeg -re -i /home/dr_click/live.wav -acodec pcm_s16be -ar 44100 -ac 2 -f rtp -af "equalizer=f=7000:t=q:w=2:g=2,equalizer=f=1000:t=q:w=1:g=3,equalizer=f=80:t=q:w=2:g=-30" rtp://127.0.0.1:1234 It works, I'm hearing a distorted sound. And what I'd like to know, with such a filter, is the db gain for the 2000 Hz signal or for the 150Hz signal or any other frequency with a query like : give me your frequency and I'll tell you which gain is applied at this frequency with the defined filter. Thank you for your help, Nicolas From onemda at gmail.com Fri Jun 26 19:15:04 2020 From: onemda at gmail.com (Paul B Mahol) Date: Fri, 26 Jun 2020 18:15:04 +0200 Subject: [FFmpeg-user] Frequency response of an ffmpeg equalizer filter In-Reply-To: <6342e4c5-4078-41fc-6bba-6ac920c1c84a@nv76.info> References: <6342e4c5-4078-41fc-6bba-6ac920c1c84a@nv76.info> Message-ID: On 6/26/20, Nicolas VAMBAIRGUE wrote: > Hello, > > > I'm starting to use the ffmpeg filters, using the documentation. It > seems working but, I don't find the way to get the frequency response of > a filter. For example, let's say I'm applying this filter : > > equalizer=f=7000:t=q:w=2:g=2,equalizer=f=1000:t=q:w=1:g=3,equalizer=f=80:t=q:w=2:g=-30 > > in the following command : > > ffmpeg -re -i /home/dr_click/live.wav -acodec pcm_s16be -ar 44100 -ac 2 > -f rtp -af > "equalizer=f=7000:t=q:w=2:g=2,equalizer=f=1000:t=q:w=1:g=3,equalizer=f=80:t=q:w=2:g=-30" > rtp://127.0.0.1:1234 > > It works, I'm hearing a distorted sound. And what I'd like to know, with > such a filter, is the db gain for the 2000 Hz signal or for the 150Hz > signal or any other frequency with a query like : give me your frequency > and I'll tell you which gain is applied at this frequency with the > defined filter. Yes, with anequalizer filter. > > > Thank you for your help, > > > Nicolas > > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From nicolas2020 at nv76.info Fri Jun 26 20:00:26 2020 From: nicolas2020 at nv76.info (Nicolas VAMBAIRGUE) Date: Fri, 26 Jun 2020 19:00:26 +0200 Subject: [FFmpeg-user] Frequency response of an ffmpeg equalizer filter In-Reply-To: References: <6342e4c5-4078-41fc-6bba-6ac920c1c84a@nv76.info> Message-ID: <1985c676-73f0-882c-b46b-e11c06dd5c66@nv76.info> Le 26/06/2020 à 18:15, Paul B Mahol a écrit : > On 6/26/20, Nicolas VAMBAIRGUE wrote: >> Hello, >> >> >> I'm starting to use the ffmpeg filters, using the documentation. It >> seems working but, I don't find the way to get the frequency response of >> a filter. For example, let's say I'm applying this filter : >> >> equalizer=f=7000:t=q:w=2:g=2,equalizer=f=1000:t=q:w=1:g=3,equalizer=f=80:t=q:w=2:g=-30 >> >> in the following command : >> >> ffmpeg -re -i /home/dr_click/live.wav -acodec pcm_s16be -ar 44100 -ac 2 >> -f rtp -af >> "equalizer=f=7000:t=q:w=2:g=2,equalizer=f=1000:t=q:w=1:g=3,equalizer=f=80:t=q:w=2:g=-30" >> rtp://127.0.0.1:1234 >> >> It works, I'm hearing a distorted sound. And what I'd like to know, with >> such a filter, is the db gain for the 2000 Hz signal or for the 150Hz >> signal or any other frequency with a query like : give me your frequency >> and I'll tell you which gain is applied at this frequency with the >> defined filter. > Yes, with anequalizer filter.         => Ok, so let's say I'm using this command with an anequaliwer         =>_ffmpeg -re -i /home/dr_click/live.wav -af "anequalizer=c0 f=200 w=100 g=-10 t=0|c1 f=200 w=100 g=-10 t=0 curves=true" -acodec pcm_s16be -ar 44100 -ac 2 -f rtp rtp://127.0.0.1:1234         => How do I get the frequency graph of such a filter ? Is it mandatory to get a video stream (and how to get / display it) ? Can't I get command with the frequency as input and the gain as output ? Of course, such a command would means I need to query the db output for each interesting frequency. > >> >> Thank you for your help, >> >> >> Nicolas >> >> _______________________________________________ >> ffmpeg-user mailing list >> ffmpeg-user at ffmpeg.org >> https://ffmpeg.org/mailman/listinfo/ffmpeg-user >> >> To unsubscribe, visit link above, or email >> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From astroelectronic at t-online.de Fri Jun 26 20:11:32 2020 From: astroelectronic at t-online.de (Michael Koch) Date: Fri, 26 Jun 2020 19:11:32 +0200 Subject: [FFmpeg-user] Frequency response of an ffmpeg equalizer filter In-Reply-To: <1985c676-73f0-882c-b46b-e11c06dd5c66@nv76.info> References: <6342e4c5-4078-41fc-6bba-6ac920c1c84a@nv76.info> <1985c676-73f0-882c-b46b-e11c06dd5c66@nv76.info> Message-ID: <9df3fb86-8e7b-6ad1-5930-a3083614e7a1@t-online.de> Am 26.06.2020 um 19:00 schrieb Nicolas VAMBAIRGUE: > > Le 26/06/2020 à 18:15, Paul B Mahol a écrit : >> On 6/26/20, Nicolas VAMBAIRGUE wrote: >>> Hello, >>> >>> >>> I'm starting to use the ffmpeg filters, using the documentation. It >>> seems working but, I don't find the way to get the frequency >>> response of >>> a filter. For example, let's say I'm applying this filter : >>> >>> equalizer=f=7000:t=q:w=2:g=2,equalizer=f=1000:t=q:w=1:g=3,equalizer=f=80:t=q:w=2:g=-30 >>> >>> >>> in the following command : >>> >>> ffmpeg -re -i /home/dr_click/live.wav -acodec pcm_s16be -ar 44100 -ac 2 >>> -f rtp -af >>> "equalizer=f=7000:t=q:w=2:g=2,equalizer=f=1000:t=q:w=1:g=3,equalizer=f=80:t=q:w=2:g=-30" >>> >>> rtp://127.0.0.1:1234 >>> >>> It works, I'm hearing a distorted sound. And what I'd like to know, >>> with >>> such a filter, is the db gain for the 2000 Hz signal or for the 150Hz >>> signal or any other frequency with a query like : give me your >>> frequency >>> and I'll tell you which gain is applied at this frequency with the >>> defined filter. >> Yes, with anequalizer filter. > >         => Ok, so let's say I'm using this command with an anequaliwer > >         =>_ffmpeg -re -i /home/dr_click/live.wav -af "anequalizer=c0 > f=200 w=100 g=-10 t=0|c1 f=200 w=100 g=-10 t=0 curves=true" -acodec > pcm_s16be -ar 44100 -ac 2 -f rtp rtp://127.0.0.1:1234 > >         => How do I get the frequency graph of such a filter ? Is it > mandatory to get a video stream (and how to get / display it) ? Can't > I get command with the frequency as input and the gain as output ? Of > course, such a command would means I need to query the db output for > each interesting frequency. Make a test file with 2kHz sine: ffmpeg -f lavfi -i sine=2000 -t 5 -y test.wav Analyze the volume of this file: ffmpeg -i test.wav -af volumedetect -y out1.wav The volume is written to the log file. Then apply your filter and analyze the output again. Michael From nicolas2020 at nv76.info Fri Jun 26 21:31:16 2020 From: nicolas2020 at nv76.info (Nicolas VAMBAIRGUE) Date: Fri, 26 Jun 2020 20:31:16 +0200 Subject: [FFmpeg-user] Frequency response of an ffmpeg equalizer filter In-Reply-To: <9df3fb86-8e7b-6ad1-5930-a3083614e7a1@t-online.de> References: <6342e4c5-4078-41fc-6bba-6ac920c1c84a@nv76.info> <1985c676-73f0-882c-b46b-e11c06dd5c66@nv76.info> <9df3fb86-8e7b-6ad1-5930-a3083614e7a1@t-online.de> Message-ID: Le 26/06/2020 à 19:11, Michael Koch a écrit : > Am 26.06.2020 um 19:00 schrieb Nicolas VAMBAIRGUE: >> >> Le 26/06/2020 à 18:15, Paul B Mahol a écrit : >>> On 6/26/20, Nicolas VAMBAIRGUE wrote: >>>> Hello, >>>> >>>> >>>> I'm starting to use the ffmpeg filters, using the documentation. It >>>> seems working but, I don't find the way to get the frequency >>>> response of >>>> a filter. For example, let's say I'm applying this filter : >>>> >>>> equalizer=f=7000:t=q:w=2:g=2,equalizer=f=1000:t=q:w=1:g=3,equalizer=f=80:t=q:w=2:g=-30 >>>> >>>> >>>> in the following command : >>>> >>>> ffmpeg -re -i /home/dr_click/live.wav -acodec pcm_s16be -ar 44100 >>>> -ac 2 >>>> -f rtp -af >>>> "equalizer=f=7000:t=q:w=2:g=2,equalizer=f=1000:t=q:w=1:g=3,equalizer=f=80:t=q:w=2:g=-30" >>>> >>>> rtp://127.0.0.1:1234 >>>> >>>> It works, I'm hearing a distorted sound. And what I'd like to know, >>>> with >>>> such a filter, is the db gain for the 2000 Hz signal or for the 150Hz >>>> signal or any other frequency with a query like : give me your >>>> frequency >>>> and I'll tell you which gain is applied at this frequency with the >>>> defined filter. >>> Yes, with anequalizer filter. >> >>         => Ok, so let's say I'm using this command with an anequaliwer >> >>         =>_ffmpeg -re -i /home/dr_click/live.wav -af "anequalizer=c0 >> f=200 w=100 g=-10 t=0|c1 f=200 w=100 g=-10 t=0 curves=true" -acodec >> pcm_s16be -ar 44100 -ac 2 -f rtp rtp://127.0.0.1:1234 >> >>         => How do I get the frequency graph of such a filter ? Is it >> mandatory to get a video stream (and how to get / display it) ? Can't >> I get command with the frequency as input and the gain as output ? Of >> course, such a command would means I need to query the db output for >> each interesting frequency. > > Make a test file with 2kHz sine: > ffmpeg -f lavfi -i sine=2000 -t 5 -y test.wav > > Analyze the volume of this file: > ffmpeg -i test.wav -af volumedetect -y out1.wav > The volume is written to the log file. > > Then apply your filter and analyze the output again. > > Michael         => Thank you again for your answer Michael but, I think I probably didn't expressed my question with the right words. Let's forget the file in and the file out to focus only on the filter : "anequalizer=c0 f=200 w=100 g=-10 t=0|c1 f=200 w=100 g=-10 t=0"         => What I want to know, before applying any input signal is the result of this mathematical function : f(frequency) = gain. For example, this filter is centered on 200 Hz with a bandwith of 100Hz and a gain of -10 db. So, all the 200Hz frequencies will be attenuated by -10 db. But what for the 250Hz frequencies in the signal ? Still -10 db ? Or -9 ? Or -7.5 ? Same question for the 350 Hz frequencies in the signal.         => The result given like a mathematical function, a cloud of dots, an image or anything else that could help me to draw such a graph : https://s1.qwant.com/thumbr/0x380/0/5/cfb0ceac6e3b4fdd73923eaaf68e76c58991b4de8ac088f4dfad665d5b8c34/parametric.png?u=https%3A%2F%2Fcdn.tutsplus.com%2Faudio%2Fuploads%2Flegacy%2Fqt_040_eq%2Fparametric.png&q=0&b=1&p=0&a=1         => I wish my question is more clear now.         => And thank you again for your answers and your help :-) > > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From michael at winkstreaming.com Fri Jun 26 21:43:06 2020 From: michael at winkstreaming.com (Michael McConnell) Date: Fri, 26 Jun 2020 12:43:06 -0600 Subject: [FFmpeg-user] Decode H264 RTP/UDP without SDP? Guessing at sprop-parameter-sets? Message-ID: Hello all, Does anyone know of a way to decode H264 streaming over RTP/UDP without an SDP file? I realize the answer is basically no. My question is more, is there a way to intelligently guess or get clues from the RTP / H264 itself to generate a SDP (sprop-parameter-sets) file? That being said, is there a database of SDP files or an SDP generator or anything of the sort that someone might be aware of? Looking at various cameras and h264 sources, there appears to be a wide variety of options; however, when you decode sprop-parameter-sets from base64 it seems most of these parameters are unset in everyday use cases. Perhaps my real question is, using a dummy SDP file, is there a way to generator a sprop-parameter-sets and cycle through? Would mode 96 work as a generic? Thanks, Mike From astroelectronic at t-online.de Fri Jun 26 21:58:19 2020 From: astroelectronic at t-online.de (Michael Koch) Date: Fri, 26 Jun 2020 20:58:19 +0200 Subject: [FFmpeg-user] Frequency response of an ffmpeg equalizer filter In-Reply-To: References: <6342e4c5-4078-41fc-6bba-6ac920c1c84a@nv76.info> <1985c676-73f0-882c-b46b-e11c06dd5c66@nv76.info> <9df3fb86-8e7b-6ad1-5930-a3083614e7a1@t-online.de> Message-ID: <61f44d1f-7297-dcec-1c30-033690fae86d@t-online.de> >>> >>>         => How do I get the frequency graph of such a filter ? Is it >>> mandatory to get a video stream (and how to get / display it) ? >>> Can't I get command with the frequency as input and the gain as >>> output ? Of course, such a command would means I need to query the >>> db output for each interesting frequency. >> >> Make a test file with 2kHz sine: >> ffmpeg -f lavfi -i sine=2000 -t 5 -y test.wav >> >> Analyze the volume of this file: >> ffmpeg -i test.wav -af volumedetect -y out1.wav >> The volume is written to the log file. >> >> Then apply your filter and analyze the output again. >> >> Michael > > >         => Thank you again for your answer Michael but, I think I > probably didn't expressed my question with the right words. Let's > forget the file in and the file out to focus only on the filter : > "anequalizer=c0 f=200 w=100 g=-10 t=0|c1 f=200 w=100 g=-10 t=0" > >         => What I want to know, before applying any input signal is > the result of this mathematical function : f(frequency) = gain. For > example, this filter is centered on 200 Hz with a bandwith of 100Hz > and a gain of -10 db. So, all the 200Hz frequencies will be attenuated > by -10 db. But what for the 250Hz frequencies in the signal ? Still > -10 db ? Or -9 ? Or -7.5 ? Same question for the 350 Hz frequencies in > the signal. > Unfortunately the filter steepness is undocumented. I don't know if ffmpeg can analyze the filter curve for all frequencies at the same time. I have no other idea than analyzing one frequency after the other. Michael > => The result given like a mathematical function, a cloud of dots, an > image or anything else that could help me to draw such a graph : > https://s1.qwant.com/thumbr/0x380/0/5/cfb0ceac6e3b4fdd73923eaaf68e76c58991b4de8ac088f4dfad665d5b8c34/parametric.png?u=https%3A%2F%2Fcdn.tutsplus.com%2Faudio%2Fuploads%2Flegacy%2Fqt_040_eq%2Fparametric.png&q=0&b=1&p=0&a=1 > >         => I wish my question is more clear now. > >         => And thank you again for your answers and your help :-) > >> >> _______________________________________________ >> ffmpeg-user mailing list >> ffmpeg-user at ffmpeg.org >> https://ffmpeg.org/mailman/listinfo/ffmpeg-user >> >> To unsubscribe, visit link above, or email >> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". -- ********************************************** ASTRO ELECTRONIC Dipl.-Ing. Michael Koch Raabestr. 43 37412 Herzberg www.astro-electronic.de Tel. +49 5521 854265 Fax +49 5521 854266 ********************************************** From Ruler2112 at charter.net Fri Jun 26 22:56:08 2020 From: Ruler2112 at charter.net (Ruler2112) Date: Fri, 26 Jun 2020 14:56:08 -0500 (CDT) Subject: [FFmpeg-user] Encoding Warnings Message-ID: <1593201368667-0.post@n4.nabble.com> Hello everybody. Even though I've used ffmpeg for over 20 years, this will be my first post to the mailing list. I get videos from a variety of sources - youtube, vimeo, DVR, DVDs I've purchased, etc. They're in a wide variety of different formats, many of which my TVs/DVRs over the years have refused to play. The volume also varies wildly between sources - DVR is fine, but anything from outside can either be so quiet I have to crank the volume up to max to have any chance at hearing it or be blasted out of the room if I don't have it set on minimum. Because of this, I wrote a batch file to process each video. I simply drop the raw files in a todo folder, run the batch file, and it would do everything from there. The resolution/frame rate is read with MediaInfo, calculations done internally, then video is reprocessed with ffmpeg, the audio is dumped to a wave with ffmpeg and then had processing done on it to standardize the volume, and the two resulting files were then remuxed with VirtualDub. (I know ffmpeg should have been able to do it and frankly do not remember why I made it like this - it was 15 years ago when I wrote it after all.) The output has XVID video with CBR MP3 audio with large resolutions scaled down to a maximum I specified which has played perfectly on everything I've thrown them at. The script has worked awesome for years. The problem now is that the windows machine I've been running it on has died of a faulty motherboard. Frankly, I moved on from windows many years ago and that one XP box was kept solely for running this program. I'd rather not replace it with another windows machine if I can help it, so have been working to re-write the batch files as a perl script and utilizing ffmpeg exclusively to do the heavy lifting. This has gone extremely well and everything seems to be working fine with a couple exceptions. First, the volume standardization program was also windows only. I contacted the author and got the source code. Even though I hadn't touched C since college, adapting it to work on Linux wasn't too bad and it's now functional. :) Second are the ffmpeg warnings/errors. I've spent over two days looking for solutions to the various problems and have solved everything except a couple. I do not know if they're related to the version of ffmpeg being so much newer than the one that was running on the XP machine or what, but I don't know what else to try. I'm hoping someone can help me iron them out. The version of ffmpeg on the XP box (according to the output when running it through WINE) is: ffmpeg version N-78758-g5156578 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 5.3.0 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib libavutil 55. 19.100 / 55. 19.100 libavcodec 57. 27.100 / 57. 27.100 libavformat 57. 26.100 / 57. 26.100 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 37.100 / 6. 37.100 libswscale 4. 0.100 / 4. 0.100 libswresample 2. 0.101 / 2. 0.101 libpostproc 54. 0.100 / 54. 0.100 The version on the Linux machine is: ffmpeg version 4.3-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2020 the FFmpeg developers built with gcc 8 (Debian 8.3.0-6) configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 / 58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 / 3. 7.100 libpostproc 55. 7.100 / 55. 7.100 The commands the script runs are: Step 1: Reprocess Video, 2 Pass Encoding /usr/local/bin/ffmpeg -threads 8 -dn -i "/home/me/media/proc/input.mp4" -dn -pass 1 -passlogfile "/home/me/media/proc/input.log" -f avi -vcodec mpeg4 -vtag XVID -maxrate 2000k -b:v 1500k -mbd 2 -bf 2 -flags -aic -cmp 2 -subcmp 2 -g 300 -an -s 720:400 -aspect 1.7777 -vf "setdar=1.7777" -metadata ISFT="Rulers Scripts" "/home/me/media/proc/pass1.avi" Output: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/me/media/proc/input.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf56.25.101 Duration: 00:47:53.92, start: 0.000000, bitrate: 1037 kb/s Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 720x400 [SAR 80:81 DAR 16:9], 905 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default) Metadata: handler_name : VideoHandler Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default) Metadata: handler_name : SoundHandler Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> mpeg4 (native)) Press [q] to stop, [?] for help [mpeg4 @ 0x7357d40] Automatically choosing VBV buffer size of 160 kbyte Output #0, avi, to '/home/me/media/proc/pass1.avi': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 ISFT : Lavf58.45.100 Stream #0:0(eng): Video: mpeg4 (XVID / 0x44495658), yuv420p, 720x400 [SAR 80:81 DAR 16:9], q=2-31, 1500 kb/s, 25 fps, 25 tbn, 25 tbc (default) Metadata: handler_name : VideoHandler encoder : Lavc58.91.100 mpeg4 Side data: cpb: bitrate max/min/avg: 2000000/0/1500000 buffer size: 1310720 vbv_delay: N/A frame=71847 fps=220 q=2.5 Lsize= 527334kB time=00:47:53.84 bitrate=1503.2kbits/s speed=8.79x video:525609kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.328167% Step 1b: Second Pass /usr/local/bin/ffmpeg -threads 8 -dn -i "/home/me/media/proc/input.mp4" -dn -pass 2 -passlogfile "/home/me/media/proc/input.log" -f avi -vcodec mpeg4 -vtag XVID -maxrate 2000k -b:v 1500k -mbd 2 -bf 2 -flags -aic -cmp 2 -subcmp 2 -g 300 -an -s 720:400 -aspect 1.7777 -vf "setdar=1.7777" -metadata ISFT="Rulers Scripts" "/home/me/media/proc/pass2.avi" Output: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/me/media/proc/input.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf56.25.101 Duration: 00:47:53.92, start: 0.000000, bitrate: 1037 kb/s Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 720x400 [SAR 80:81 DAR 16:9], 905 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default) Metadata: handler_name : VideoHandler Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default) Metadata: handler_name : SoundHandler Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> mpeg4 (native)) Press [q] to stop, [?] for help [mpeg4 @ 0x6784c00] Automatically choosing VBV buffer size of 160 kbyte Output #0, avi, to '/home/me/media/proc/pass2.avi': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 ISFT : Rulers Scripts Stream #0:0(eng): Video: mpeg4 (XVID / 0x44495658), yuv420p, 720x400 [SAR 80:81 DAR 16:9], q=2-31, 1500 kb/s, 25 fps, 25 tbn, 25 tbc (default) Metadata: handler_name : VideoHandler encoder : Lavc mpeg4 Side data: cpb: bitrate max/min/avg: 2000000/0/1500000 buffer size: 1310720 vbv_delay: N/A frame=71847 fps=219 q=2.7 Lsize= 527998kB time=00:47:53.84 bitrate=1505.1kbits/s speed=8.77x video:526274kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.327711% Step 2: Dump Wave file /usr/local/bin/ffmpeg -threads 8 -i "/home/me/media/proc/input.mp4" -dn -vn -ar 44100 -ac 2 "/home/me/media/proc/sound.avi" Output: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/me/media/proc/input.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf56.25.101 Duration: 00:47:53.92, start: 0.000000, bitrate: 1037 kb/s Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 720x400 [SAR 80:81 DAR 16:9], 905 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default) Metadata: handler_name : VideoHandler Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default) Metadata: handler_name : SoundHandler Stream mapping: Stream #0:1 -> #0:0 (aac (native) -> pcm_s16le (native)) Press [q] to stop, [?] for help Output #0, wav, to '/home/me/media/proc/sound.wav': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 ISFT : Lavf58.45.100 Stream #0:0(eng): Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s (default) Metadata: handler_name : SoundHandler encoder : Lavc58.91.100 pcm_s16le size= 495072kB time=00:47:53.88 bitrate=1411.2kbits/s speed= 474x video:0kB audio:495072kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000015% Step 3: Standardize Volume Not performed by ffmpeg, but confirmed to work and modify the amplitude of the wave file while keeping the same format. Step 4: Remux Video & Audio /usr/local/bin/ffmpeg -threads 8 -re -i "/home/me/media/proc/pass2.avi" -re -i "/home/me/media/proc/sound.wav" -vcodec copy -acodec mp3 -b:a 128k -ar 44100 -ac 2 -use_wallclock_as_timestamps 1 -bitexact -metadata ISFT="Rulers Scripts" "/home/me/media/proc/output.avi" Output: Input #0, avi, from '/home/me/media/proc/pass2.avi': Metadata: encoder : Rulers Scripts Duration: 00:47:53.88, start: 0.000000, bitrate: 1505 kb/s Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 720x400 [SAR 80:81 DAR 16:9], 1500 kb/s, 25 fps, 25 tbr, 25 tbn, 25 tbc Guessed Channel Layout for Input Stream #1.0 : stereo Input #1, wav, from '/home/me/media/proc/sound.wav': Metadata: encoder : Lavf58.45.100 Duration: 00:47:53.89, bitrate: 1411 kb/s Stream #1:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #1:0 -> #0:1 (pcm_s16le (native) -> mp3 (libmp3lame)) Press [q] to stop, [?] for help Output #0, avi, to '/home/me/media/proc/output.avi': Metadata: ISFT : Rulers Scripts Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 720x400 [SAR 80:81 DAR 16:9], q=2-31, 1500 kb/s, 25 fps, 25 tbr, 25 tbn, 25 tbc Stream #0:1: Audio: mp3 (libmp3lame) (U[0][0][0] / 0x0055), 44100 Hz, stereo, s16p, 128 kb/s Metadata: encoder : Lavc libmp3lame [avi @ 0x6611d80] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly frame= 2196 fps=1368 q=-1.0 Lsize= 17854kB time=00:01:27.95 bitrate=1662.9kbits/s speed=54.8x video:16338kB audio:1375kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.798442% The two lines that are concerning to me are: 'Guessed Channel Layout for Input Stream #1.0 : stereo' Of course it's stereo - I jump dumped it to a 2-channel wave in the step 2! :) I'm guessing that I can safely ignore this one, but am not certain. It is being produced by the audio stream as if I encode directly to an MP3 with no video, it says the same thing, even if I specify -ac 2 before the -i for the wave file. Is ignoring it being OK without causing trouble a correct assumption? If so, is there a way to silence the warning or should I just live with it? If not, could somebody point me in the right direction on how to fix it? 'Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly' This one on the other hand, I am concerned about. I've searched online and have repeated the entire process with the following options: '-use_wallclock_as_timestamps 1' '-fflags +genpts' I used the first option without '-re' before the input specifications and later with them. (And boy, does -re ever slow down processing!) I tried the second on it's own, then in conjunction with the first, first without -re & then with it. Everything I do results in the same warning, even though ffmpeg is what produced the AVI being used as the video source in the muxing process. >From the sound of it, there's something wrong that should be fixed, but I cannot seem to figure out what it is or how to fix it. Like I said, ffmpeg produced the AVI file it's now complaining about & these are the same commands that worked fine in the older version of ffmpeg that the XP box was running. If I mux the two files together with VirtualDub on my windows machine at work, there are no warnings like this. I've scoured the internet & mailing lists and have found many people running into the same type of warning messages, but little help other than to add one or the other of the above options to fix it. (Which of course does not work for me.) Please help - these are the last issues (that I know of) which stand in the way of getting this processing script working 100% on Linux. -- Sent from: http://www.ffmpeg-archive.org/ From mfoley at novatec-inc.com Sat Jun 27 01:14:16 2020 From: mfoley at novatec-inc.com (Mark Foley) Date: Fri, 26 Jun 2020 18:14:16 -0400 Subject: [FFmpeg-user] newbie help - framerate Message-ID: <202006262214.05QMEGRA015759@server.novatec-inc.com> I am trying for the first time to use ffmpeg. I have a collection of .jpg files starting at 000.jpg, numbered sequentially. On Windows 10 I've tried: ffmpeg.exe -start_number 000 -i %03d.jpg -r 1/6 mom.mp4 This works (images displayed for 10 seconds), but only shows 3 of the 300+ images. If I leave off the -r option it builds the .mp4 with all images, but they flash by as fast as possible. How do I get all images to show for 10 seconds? Problem #2. The source .jpg images all vary in HxW size. How do I get them all to display with the same height regardless of width? Thanks (I need this for a presentation on Monday - gulp!) --Mark From ceffmpeg at gmail.com Sat Jun 27 02:48:53 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Sat, 27 Jun 2020 01:48:53 +0200 Subject: [FFmpeg-user] newbie help - framerate In-Reply-To: <202006262214.05QMEGRA015759@server.novatec-inc.com> References: <202006262214.05QMEGRA015759@server.novatec-inc.com> Message-ID: > Am 27.06.2020 um 00:14 schrieb Mark Foley : > > I am trying for the first time to use ffmpeg. I have a collection of .jpg files > starting at 000.jpg, numbered sequentially. > > On Windows 10 I've tried: > > ffmpeg.exe -start_number 000 -i %03d.jpg -r 1/6 mom.mp4 > > This works (images displayed for 10 seconds), but only shows 3 of the 300+ > images. If I leave off the -r option it builds the .mp4 with all images, but > they flash by as fast as possible. > > How do I get all images to show for 10 seconds? Funny that the option name “-framerate” is part of your subject. > > Problem #2. > > The source .jpg images all vary in HxW size. How do I get them all to display > with the same height regardless of width? I believe you can only output one resolution but a shell script will help. Carl Eugen From mfoley at novatec-inc.com Sat Jun 27 04:58:39 2020 From: mfoley at novatec-inc.com (Mark Foley) Date: Fri, 26 Jun 2020 21:58:39 -0400 Subject: [FFmpeg-user] newbie help - framerate In-Reply-To: References: <202006262214.05QMEGRA015759@server.novatec-inc.com> Message-ID: <202006270158.05R1wdBU007948@server.novatec-inc.com> On Sat, 27 Jun 2020 01:48:53 +0200 Carl Eugen Hoyos wrote: > > > Am 27.06.2020 um 00:14 schrieb Mark Foley : > > > > I am trying for the first time to use ffmpeg. I have a collection of .jpg files > > starting at 000.jpg, numbered sequentially. > > > > On Windows 10 I've tried: > > > > ffmpeg.exe -start_number 000 -i %03d.jpg -r 1/6 mom.mp4 > > > > This works (images displayed for 10 seconds), but only shows 3 of the 300+ > > images. If I leave off the -r option it builds the .mp4 with all images, but > > they flash by as fast as possible. > > > > How do I get all images to show for 10 seconds? > > Funny that the option name “-framerate” is part of your subject. Like I said, "newbie". I tried -framerate, but nothing happened. Then I tried -r. Do you have suggestions on how to get all of the images processed to the output and not just the first 3? > > > > Problem #2. > > > > The source .jpg images all vary in HxW size. How do I get them all to display > > with the same height regardless of width? > > I believe you can only output one resolution but a shell script will help. > > Carl Eugen How would a shell script help? --Mark From mrk.ramakrishna at gmail.com Sat Jun 27 06:14:05 2020 From: mrk.ramakrishna at gmail.com (Rama Krishna Thelagathoti) Date: Fri, 26 Jun 2020 22:14:05 -0500 Subject: [FFmpeg-user] 360 degree VR video streaming support in ffmpeg+HLS In-Reply-To: References: Message-ID: could someone help me with this? On Thu, Jun 25, 2020 at 11:51 PM Rama Krishna Thelagathoti < mrk.ramakrishna at gmail.com> wrote: > Hello ffmpeg team > Does ffmpeg support 360 degree VR video streaming through HLS/DASH? > I could see its being supported in libx264 under unofficial/experimental , > but I do not see this support in HLS. > > when transcoding to HLS, looks like ffmpeg drops spatial metadata. please > confirm. > > -- > Best Regards > *Rama krishna Thelagathoti* > -- Best Regards *Rama krishna Thelagathoti* From simon at dancingcloudservices.com Sat Jun 27 06:26:23 2020 From: simon at dancingcloudservices.com (Simon Roberts) Date: Fri, 26 Jun 2020 21:26:23 -0600 Subject: [FFmpeg-user] Streaming quality Message-ID: Greetings all, I'm making my first experiments with streaming. Currently I do a live capture of a screen region compress in real time and save the file. What I want to do is to take that capture and send it to another machine for storage where it will be embedded in a multi-stream container with other sources. So far in my experiments, I have a file I captured earlier and I'm streaming that over to the remote system and using ffplay to view it, rather than store it. What I find is that the quality is trashed in the transmission, and I don't know where to start looking for why. The original file is 720p screen capture, and it's crisp and sharp. At the receiver, it shows what I might describe as heavy "jpeg artifacts", that is, fuzzyness and penumbra around all the edges of things like windows and text. The commands I'm using are: Receiver: ffplay -i tcp://192.168.1.109:2000?listen Transmitter: ffmpeg -i -f mpegts tcp://192.168.1.109:2000 Since no codecs are mentioned, I rather assumed that the file would be streamed "as is", but that's clearly not the case. Can anyone point me at what I need to know to make the transmission process not alter the quality of the image? Many thanks, Simon -- Simon Roberts (303) 249 3613 From nk.krishnakumar at gmail.com Sat Jun 27 07:29:20 2020 From: nk.krishnakumar at gmail.com (KRISHNAKUMAR N K) Date: Sat, 27 Jun 2020 09:59:20 +0530 Subject: [FFmpeg-user] ffmpeg Live Streaming Error : av_interleaved_write_frame(): Broken pipe In-Reply-To: References: Message-ID: Can someone please help me with this? On Thu, 18 Jun, 2020, 1:05 PM KRISHNAKUMAR N K, wrote: > I am trying to stream video live using ffmpeg, Input is from a UDP Source. > Most of the time it works fine, but I could see the following log lines and > ffmpeg stop's the conversion/feed push to the rtmp server. Few log lines > below for reference. Is this issue related to network on reaching the > destination or source or something that i need to change in the ffmpeg > command? > > *https://pastebin.com/WE0d6eN2 * > > > *ffmpeg Command: * > *ffmpeg -err_detect aggressive -fflags discardcorrupt -i > udp://230.1.1.2:11000?fifo_size=5000000&overrun_nonfatal=1 > > -analyzeduration 25M -probesize 50M -threads 0 -vsync 1 -filter_complex > [i:0x202]yadif,setdar=16/9[1out1];[i:0x202]yadif,setdar=16/9[1out2];[i:0x202]yadif,setdar=16/9[1out3];[i:0x202]yadif,setdar=16/9[1out4] > -map [1out1] -map i:0x29e -c:v libx264 -x264-params nal-hrd=cbr -b:v 200k > -maxrate 200k -bufsize 300k -r 15 -g 30 -profile:v baseline -level 3.0 > -pix_fmt yuv420p -c:a libfdk_aac -b:a 32k -ac 2 -ar 48000 -sc_threshold 0 > -s 256x144 -tune film -af > aresample=async=1:min_hard_comp=0.100000:first_pts=0 -x264opts opencl -f > flv rtmp://ipaddress:1935/rtmp/push/test1-map [1out2] -map i:0x29e -c:v > libx264 -x264-params nal-hrd=cbr -b:v 500k -maxrate 500k -bufsize 750k -r > 25 -g 50 -profile:v baseline -level 3.0 -pix_fmt yuv420p -c:a libfdk_aac > -b:a 64k -ac 2 -ar 48000 -sc_threshold 0 -s 512x288 -tune film -af > aresample=async=1:min_hard_comp=0.100000:first_pts=0 -x264opts opencl -f > flv rtmp://ipaddress:1935/rtmp/push/test2 -map [1out3] -map i:0x29e -c:v > libx264 -x264-params nal-hrd=cbr -b:v 1000k -maxrate 1000k -bufsize 1500k > -r 25 -g 50 -profile:v main -level 3.0 -pix_fmt yuv420p -c:a libfdk_aac > -b:a 64k -ac 2 -ar 48000 -sc_threshold 0 -s 1024x576 -tune film -af > aresample=async=1:min_hard_comp=0.100000:first_pts=0 -x264opts opencl -f > flv rtmp://ipaddress:1935/rtmp/push/test3 -map [1out4] -map i:0x29e -c:v > libx264 -x264-params nal-hrd=cbr -b:v 1800k -maxrate 1800k -bufsize 2700k > -r 25 -g 50 -profile:v main -level 3.1 -pix_fmt yuv420p -c:a libfdk_aac > -b:a 64k -ac 2 -ar 48000 -sc_threshold 0 -s 1280x720 -tune film -af > aresample=async=1:min_hard_comp=0.100000:first_pts=0 -x264opts opencl -f > flv rtmp://ipaddress:1935/rtmp/push/test4* > > Regards > > *KrishnaKumar * > *N K * > From tomasparks.ts at gmail.com Sat Jun 27 10:40:22 2020 From: tomasparks.ts at gmail.com (Tom Sparks) Date: Sat, 27 Jun 2020 17:40:22 +1000 Subject: [FFmpeg-user] 360 degree VR video streaming support in ffmpeg+HLS In-Reply-To: References: Message-ID: what is the viewing software you are using? eg: krpano / video.js On 27/06/2020, Rama Krishna Thelagathoti wrote: > could someone help me with this? > > On Thu, Jun 25, 2020 at 11:51 PM Rama Krishna Thelagathoti < > mrk.ramakrishna at gmail.com> wrote: > >> Hello ffmpeg team >> Does ffmpeg support 360 degree VR video streaming through HLS/DASH? >> I could see its being supported in libx264 under unofficial/experimental , >> but I do not see this support in HLS. >> >> when transcoding to HLS, looks like ffmpeg drops spatial metadata. please >> confirm. >> >> -- >> Best Regards >> *Rama krishna Thelagathoti* >> > > > -- > Best Regards > *Rama krishna Thelagathoti* > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From mrk.ramakrishna at gmail.com Sat Jun 27 10:52:27 2020 From: mrk.ramakrishna at gmail.com (Rama Krishna Thelagathoti) Date: Sat, 27 Jun 2020 02:52:27 -0500 Subject: [FFmpeg-user] 360 degree VR video streaming support in ffmpeg+HLS In-Reply-To: References: Message-ID: I am using VLC. On Sat, Jun 27, 2020 at 2:47 AM Tom Sparks wrote: > what is the viewing software you are using? > eg: krpano / video.js > > On 27/06/2020, Rama Krishna Thelagathoti > wrote: > > could someone help me with this? > > > > On Thu, Jun 25, 2020 at 11:51 PM Rama Krishna Thelagathoti < > > mrk.ramakrishna at gmail.com> wrote: > > > >> Hello ffmpeg team > >> Does ffmpeg support 360 degree VR video streaming through HLS/DASH? > >> I could see its being supported in libx264 under > unofficial/experimental , > >> but I do not see this support in HLS. > >> > >> when transcoding to HLS, looks like ffmpeg drops spatial metadata. > please > >> confirm. > >> > >> -- > >> Best Regards > >> *Rama krishna Thelagathoti* > >> > > > > > > -- > > Best Regards > > *Rama krishna Thelagathoti* > > _______________________________________________ > > ffmpeg-user mailing list > > ffmpeg-user at ffmpeg.org > > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > > > To unsubscribe, visit link above, or email > > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". -- Best Regards *Rama krishna Thelagathoti* From tomasparks.ts at gmail.com Sat Jun 27 11:16:39 2020 From: tomasparks.ts at gmail.com (Tom Sparks) Date: Sat, 27 Jun 2020 18:16:39 +1000 Subject: [FFmpeg-user] 360 degree VR video streaming support in ffmpeg+HLS In-Reply-To: References: Message-ID: On 27/06/2020, Rama Krishna Thelagathoti wrote: > I am using VLC. it looks like no, ffmpeg cant add spatial media metadata if you were using a web based viewer (krpano/video.js) you would not need to add the spatial media metadata to the video file. > > On Sat, Jun 27, 2020 at 2:47 AM Tom Sparks wrote: > >> what is the viewing software you are using? >> eg: krpano / video.js >> >> On 27/06/2020, Rama Krishna Thelagathoti >> wrote: >> > could someone help me with this? >> > >> > On Thu, Jun 25, 2020 at 11:51 PM Rama Krishna Thelagathoti < >> > mrk.ramakrishna at gmail.com> wrote: >> > >> >> Hello ffmpeg team >> >> Does ffmpeg support 360 degree VR video streaming through HLS/DASH? >> >> I could see its being supported in libx264 under >> unofficial/experimental , >> >> but I do not see this support in HLS. >> >> >> >> when transcoding to HLS, looks like ffmpeg drops spatial metadata. >> please >> >> confirm. >> >> >> >> -- >> >> Best Regards >> >> *Rama krishna Thelagathoti* >> >> >> > >> > >> > -- >> > Best Regards >> > *Rama krishna Thelagathoti* >> > _______________________________________________ >> > ffmpeg-user mailing list >> > ffmpeg-user at ffmpeg.org >> > https://ffmpeg.org/mailman/listinfo/ffmpeg-user >> > >> > To unsubscribe, visit link above, or email >> > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". >> _______________________________________________ >> ffmpeg-user mailing list >> ffmpeg-user at ffmpeg.org >> https://ffmpeg.org/mailman/listinfo/ffmpeg-user >> >> To unsubscribe, visit link above, or email >> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". > > -- > Best Regards > *Rama krishna Thelagathoti* > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From ceffmpeg at gmail.com Sat Jun 27 10:46:45 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Sat, 27 Jun 2020 09:46:45 +0200 Subject: [FFmpeg-user] Streaming quality In-Reply-To: References: Message-ID: > Am 27.06.2020 um 05:26 schrieb Simon Roberts : > > ffmpeg -i -f mpegts tcp://192.168.1.109:2000 Either specify a constant quantiser with “-qscale 10 -mbd 2” or a constant bitrate with “-b:v 1000k” or use “-vcodec libx264” for an encoder with a better default or “-vcodec copy” to avoid re-encoding. Carl Eugen From onemda at gmail.com Sat Jun 27 11:25:09 2020 From: onemda at gmail.com (Paul B Mahol) Date: Sat, 27 Jun 2020 10:25:09 +0200 Subject: [FFmpeg-user] Frequency response of an ffmpeg equalizer filter In-Reply-To: <1985c676-73f0-882c-b46b-e11c06dd5c66@nv76.info> References: <6342e4c5-4078-41fc-6bba-6ac920c1c84a@nv76.info> <1985c676-73f0-882c-b46b-e11c06dd5c66@nv76.info> Message-ID: On 6/26/20, Nicolas VAMBAIRGUE wrote: > > Le 26/06/2020 à 18:15, Paul B Mahol a écrit : >> On 6/26/20, Nicolas VAMBAIRGUE wrote: >>> Hello, >>> >>> >>> I'm starting to use the ffmpeg filters, using the documentation. It >>> seems working but, I don't find the way to get the frequency response of >>> a filter. For example, let's say I'm applying this filter : >>> >>> equalizer=f=7000:t=q:w=2:g=2,equalizer=f=1000:t=q:w=1:g=3,equalizer=f=80:t=q:w=2:g=-30 >>> >>> in the following command : >>> >>> ffmpeg -re -i /home/dr_click/live.wav -acodec pcm_s16be -ar 44100 -ac 2 >>> -f rtp -af >>> "equalizer=f=7000:t=q:w=2:g=2,equalizer=f=1000:t=q:w=1:g=3,equalizer=f=80:t=q:w=2:g=-30" >>> rtp://127.0.0.1:1234 >>> >>> It works, I'm hearing a distorted sound. And what I'd like to know, with >>> such a filter, is the db gain for the 2000 Hz signal or for the 150Hz >>> signal or any other frequency with a query like : give me your frequency >>> and I'll tell you which gain is applied at this frequency with the >>> defined filter. >> Yes, with anequalizer filter. > > => Ok, so let's say I'm using this command with an anequaliwer > > =>_ffmpeg -re -i /home/dr_click/live.wav -af "anequalizer=c0 > f=200 w=100 g=-10 t=0|c1 f=200 w=100 g=-10 t=0 curves=true" -acodec > pcm_s16be -ar 44100 -ac 2 -f rtp rtp://127.0.0.1:1234 > > => How do I get the frequency graph of such a filter ? Is it > mandatory to get a video stream (and how to get / display it) ? Can't I > get command with the frequency as input and the gain as output ? Of > course, such a command would means I need to query the db output for > each interesting frequency. No, only way currently is inspecting graphical output of filter. > >> >>> >>> Thank you for your help, >>> >>> >>> Nicolas >>> >>> _______________________________________________ >>> ffmpeg-user mailing list >>> ffmpeg-user at ffmpeg.org >>> https://ffmpeg.org/mailman/listinfo/ffmpeg-user >>> >>> To unsubscribe, visit link above, or email >>> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". >> _______________________________________________ >> ffmpeg-user mailing list >> ffmpeg-user at ffmpeg.org >> https://ffmpeg.org/mailman/listinfo/ffmpeg-user >> >> To unsubscribe, visit link above, or email >> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From mrk.ramakrishna at gmail.com Sat Jun 27 11:48:16 2020 From: mrk.ramakrishna at gmail.com (Rama Krishna Thelagathoti) Date: Sat, 27 Jun 2020 03:48:16 -0500 Subject: [FFmpeg-user] 360 degree VR video streaming support in ffmpeg+HLS In-Reply-To: References: Message-ID: Ok thank you for your response, I will check and get back. On Sat, Jun 27, 2020 at 3:16 AM Tom Sparks wrote: > On 27/06/2020, Rama Krishna Thelagathoti > wrote: > > I am using VLC. > > it looks like no, ffmpeg cant add spatial media metadata > > if you were using a web based viewer (krpano/video.js) you would not > need to add the spatial media metadata to the video file. > > > > > > On Sat, Jun 27, 2020 at 2:47 AM Tom Sparks > wrote: > > > >> what is the viewing software you are using? > >> eg: krpano / video.js > >> > >> On 27/06/2020, Rama Krishna Thelagathoti > >> wrote: > >> > could someone help me with this? > >> > > >> > On Thu, Jun 25, 2020 at 11:51 PM Rama Krishna Thelagathoti < > >> > mrk.ramakrishna at gmail.com> wrote: > >> > > >> >> Hello ffmpeg team > >> >> Does ffmpeg support 360 degree VR video streaming through HLS/DASH? > >> >> I could see its being supported in libx264 under > >> unofficial/experimental , > >> >> but I do not see this support in HLS. > >> >> > >> >> when transcoding to HLS, looks like ffmpeg drops spatial metadata. > >> please > >> >> confirm. > >> >> > >> >> -- > >> >> Best Regards > >> >> *Rama krishna Thelagathoti* > >> >> > >> > > >> > > >> > -- > >> > Best Regards > >> > *Rama krishna Thelagathoti* > >> > _______________________________________________ > >> > ffmpeg-user mailing list > >> > ffmpeg-user at ffmpeg.org > >> > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > >> > > >> > To unsubscribe, visit link above, or email > >> > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". > >> _______________________________________________ > >> ffmpeg-user mailing list > >> ffmpeg-user at ffmpeg.org > >> https://ffmpeg.org/mailman/listinfo/ffmpeg-user > >> > >> To unsubscribe, visit link above, or email > >> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". > > > > -- > > Best Regards > > *Rama krishna Thelagathoti* > > _______________________________________________ > > ffmpeg-user mailing list > > ffmpeg-user at ffmpeg.org > > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > > > To unsubscribe, visit link above, or email > > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". -- Best Regards *Rama krishna Thelagathoti* From ceffmpeg at gmail.com Sat Jun 27 12:49:35 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Sat, 27 Jun 2020 11:49:35 +0200 Subject: [FFmpeg-user] newbie help - framerate In-Reply-To: <202006270158.05R1wdBU007948@server.novatec-inc.com> References: <202006262214.05QMEGRA015759@server.novatec-inc.com> <202006270158.05R1wdBU007948@server.novatec-inc.com> Message-ID: Am Sa., 27. Juni 2020 um 03:58 Uhr schrieb Mark Foley : > > On Sat, 27 Jun 2020 01:48:53 +0200 Carl Eugen Hoyos wrote: > > > > > Am 27.06.2020 um 00:14 schrieb Mark Foley : > > > > > > I am trying for the first time to use ffmpeg. I have a collection of .jpg files > > > starting at 000.jpg, numbered sequentially. > > > > > > On Windows 10 I've tried: > > > > > > ffmpeg.exe -start_number 000 -i %03d.jpg -r 1/6 mom.mp4 > > > > > > This works (images displayed for 10 seconds), but only shows 3 of the 300+ > > > images. If I leave off the -r option it builds the .mp4 with all images, but > > > they flash by as fast as possible. > > > > > > How do I get all images to show for 10 seconds? > > > > Funny that the option name “-framerate” is part of your subject. > > Like I said, "newbie". I tried -framerate, but nothing happened. (Command line and complete, uncut console output missing.) ffmpeg -framerate 1/6 -i %03d.jpg -r 10 mom.mp4 (-r 10 is not strictly necessary but for example old vlc does not play files with very low framerates.) > > > The source .jpg images all vary in HxW size. How do I get them all to display > > > with the same height regardless of width? > > > > I believe you can only output one resolution but a shell script will help. > > How would a shell script help? I slightly misunderstood the issue, the script would help if you wanted jpg's with the same height as output. Something similar to: ffmpeg -framerate 1/6 -i %03d.jpg -vf scale=-1:512 -r 10 mom.mp4 Carl Eugen From iongion at yahoo.com Sat Jun 27 12:32:14 2020 From: iongion at yahoo.com (stoica ionut) Date: Sat, 27 Jun 2020 09:32:14 +0000 (UTC) Subject: [FFmpeg-user] ffmpeg-user@ffmpeg.org References: <1376379276.3193180.1593250334661.ref@mail.yahoo.com> Message-ID: <1376379276.3193180.1593250334661@mail.yahoo.com> Hi, I am trying to avoid downloading entire file when generating a thumbnail at certain time ffmpeg -v debug fflags fastseek+igndts -y -http_proxy http://localhost:8888 -i http://devimages.apple.com/iphone/samples/bipbop/gear1/fileSequence3.ts -ss 0 -vframes 1 -async 1 -vcodec png -an thumb.png I want to make a server side service that creates thumbnails, but I want the server to avoid downloading anything than minimum required, even if the ts file is 263 kb, I want to avoid downloading it completely.Apparently this person had success Extracting Thumbnails Faster with FFmpeg - Wistia EngineeringBut I am unable, ffmpeg still downloads the entire file. >From what I see, ffmpeg is issuing 3 requests here 1. Content range 0 to end 2. Content range 13012 to 263011 3. Content range 0 to 263011 I don't understand why they are 3 and what is going on. Can this be optimized somehow ? From ceffmpeg at gmail.com Sat Jun 27 13:11:20 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Sat, 27 Jun 2020 12:11:20 +0200 Subject: [FFmpeg-user] Encoding Warnings In-Reply-To: <1593201368667-0.post@n4.nabble.com> References: <1593201368667-0.post@n4.nabble.com> Message-ID: Am Fr., 26. Juni 2020 um 21:56 Uhr schrieb Ruler2112 : > Step 3: Standardize Volume > Not performed by ffmpeg I am curious: Why? [...] > The two lines that are concerning to me are: > > 'Guessed Channel Layout for Input Stream #1.0 : stereo' > > Of course it's stereo - I jump dumped it to a 2-channel wave in the step 2! > :) > I'm guessing that I can safely ignore this one Obviously. (The wav standard does not require writing the channel layout for some mono and stereo files and we don't do it to maintain compatibility with ancient software that fails if the information is present.) > 'Timestamps are unset in a packet for stream 0. This is deprecated and > will stop working in the future. Fix your code to set the timestamps > properly' This warning is not meant for you and you cannot fix it. For future questions: Please understand that posting excerpts of the console output is not acceptable, always post the command line(s) together with the complete, uncut console output. Carl Eugen From paulyurt at gmail.com Sat Jun 27 16:58:56 2020 From: paulyurt at gmail.com (PaulYurt) Date: Sat, 27 Jun 2020 09:58:56 -0400 Subject: [FFmpeg-user] Encoding Warnings In-Reply-To: <1593201368667-0.post@n4.nabble.com> References: <1593201368667-0.post@n4.nabble.com> Message-ID: <8EF3C7CE-F43A-4AA7-B670-9E1A3042F8A2@gmail.com> > On Jun 26, 2020, at 3:56 PM, Ruler2112 wrote: > Guessed Channel Layout for Input Stream #1.0 : stereo Try: -guess_layout_max 0 From simon at dancingcloudservices.com Sat Jun 27 18:07:52 2020 From: simon at dancingcloudservices.com (Simon Roberts) Date: Sat, 27 Jun 2020 09:07:52 -0600 Subject: [FFmpeg-user] Streaming quality In-Reply-To: References: Message-ID: On Sat, Jun 27, 2020 at 1:46 AM Carl Eugen Hoyos wrote: > > Am 27.06.2020 um 05:26 schrieb Simon Roberts < > simon at dancingcloudservices.com>: > > > > ffmpeg -i -f mpegts tcp://192.168.1.109:2000 > > Either specify a constant quantiser with “-qscale 10 -mbd 2” or a constant > bitrate with “-b:v 1000k” or use “-vcodec libx264” for an encoder with a > better default or “-vcodec copy” to avoid re-encoding. > > Many thanks Carl that fixed it. I guess the inference that I had missed is that there's some kind of default encoding going on here--it's not just a network pipe. Is that a general case for ffmpeg, or is it specific to streaming, or perhaps this streaming mode? (and, far less important since I doubt I'll ever want to use it, is the encoding predictable, or does it vary by build?) Carl Eugen > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". -- Simon Roberts (303) 249 3613 From ceffmpeg at gmail.com Sat Jun 27 18:34:29 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Sat, 27 Jun 2020 17:34:29 +0200 Subject: [FFmpeg-user] Streaming quality In-Reply-To: References: Message-ID: Am Sa., 27. Juni 2020 um 17:08 Uhr schrieb Simon Roberts : > > On Sat, Jun 27, 2020 at 1:46 AM Carl Eugen Hoyos wrote: > > > > Am 27.06.2020 um 05:26 schrieb Simon Roberts < > > simon at dancingcloudservices.com>: > > > > > > ffmpeg -i -f mpegts tcp://192.168.1.109:2000 > > > > Either specify a constant quantiser with “-qscale 10 -mbd 2” or a constant > > bitrate with “-b:v 1000k” or use “-vcodec libx264” for an encoder with a > > better default or “-vcodec copy” to avoid re-encoding. > > > > > Many thanks Carl that fixed it. > > I guess the inference that I had missed is that there's some kind of > default encoding going on here--it's not just a network pipe. Yes, this would make no sense. > Is that a general case for ffmpeg, or is it specific to streaming Every format has a default encoder... > or perhaps this streaming mode? > (and, far less important since I doubt I'll ever want to > use it, is the encoding predictable, or does it vary by build?) ... which in some cases depends on compilation options. Carl Eugen From simon at dancingcloudservices.com Sat Jun 27 18:53:45 2020 From: simon at dancingcloudservices.com (Simon Roberts) Date: Sat, 27 Jun 2020 09:53:45 -0600 Subject: [FFmpeg-user] "Four up" output? Message-ID: I'm now able to take four input streams from my Blackmagic quad input card and successfully map them into a single compressed output file. What I'd like to do next is to "tee-off" a monitoring stream (literally for live viewing). There are two features I'd like for this: 1) create a composite output that has all four of the inputs laid out one per quadrant, so all can be seen on a single display 2) preferably simply send this output (in real time, probably obviously) to a window on the host computer, which I can then position and resize like any other window onto an actual display of my choosing. Is this possible? And if it is, what docs will I need to read to understand how to start on something like this? Of course if anyone has a ready-to-hand command line that does this (I have four streams that I use -map to send to the same output file), I won't turn it down :) Many thanks! Simon From cpz at tuunq.com Sat Jun 27 19:02:10 2020 From: cpz at tuunq.com (Carl Zwanzig) Date: Sat, 27 Jun 2020 09:02:10 -0700 Subject: [FFmpeg-user] "Four up" output? In-Reply-To: References: Message-ID: <500a09c0-be2d-c28a-6d89-94f2206b713f@tuunq.com> On 6/27/2020 8:53 AM, Simon Roberts wrote: > 1) create a composite output that has all four of the inputs laid out one > per quadrant, so all can be seen on a single display Google "ffmpeg multiviewer", you'll find a handful of ideas, including this- https://trac.ffmpeg.org/wiki/Create%20a%20mosaic%20out%20of%20several%20input%20videos That should get you started. z! From simon at dancingcloudservices.com Sat Jun 27 19:19:45 2020 From: simon at dancingcloudservices.com (Simon Roberts) Date: Sat, 27 Jun 2020 10:19:45 -0600 Subject: [FFmpeg-user] "Four up" output? In-Reply-To: <500a09c0-be2d-c28a-6d89-94f2206b713f@tuunq.com> References: <500a09c0-be2d-c28a-6d89-94f2206b713f@tuunq.com> Message-ID: On Sat, Jun 27, 2020 at 10:02 AM Carl Zwanzig wrote: > On 6/27/2020 8:53 AM, Simon Roberts wrote: > > 1) create a composite output that has all four of the inputs laid out one > > per quadrant, so all can be seen on a single display > > Google "ffmpeg multiviewer", you'll find a handful of ideas, including > this- > > https://trac.ffmpeg.org/wiki/Create%20a%20mosaic%20out%20of%20several%20input%20videos > > Oh, that looks perfect in every respect. The example seems to be exactly what I wanted, and an explanation to help me help myself later if I need to fiddle. Many thanks Carl! From nithincbabu7 at gmail.com Sun Jun 28 09:54:38 2020 From: nithincbabu7 at gmail.com (Nithin C Babu) Date: Sun, 28 Jun 2020 12:24:38 +0530 Subject: [FFmpeg-user] Problem with converting to AVI (XVID-AC3) for Home Theatre Message-ID: I am using FFmpeg to convert a video file that has 5.1 surround sound for playing it in a home theatre system. I used the following command. ffmpeg -i "input1.mp4" -vf scale=720:-16 -c:v mpeg4 -vtag XVID -b:v 3000k -c:a ac3 -b:a 448k "OUTPUT_FILE.avi" I am able to play the video file on my computer. But, it has problems in the home theatre system. The home theatre system is able to play the video, but it is showing that the audio is not supported. I can't hear any sound. When I use Avidemux with similar resolution and bitrate, it works well on the Home Theatre system. I am including the MediaInfo outputs of both the files below. The file converted using FFmpeg: General Complete name : F:\FFMPEG\ffmpegOut.avi Format : AVI Format/Info : Audio Video Interleave File size : 2.93 MiB Duration : 7 s 80 ms Overall bit rate : 3 471 kb/s Writing application : Lavf58.47.100 Video ID : 0 Format : MPEG-4 Visual Format profile : Simple at L1 Format settings, BVOP : No Format settings, QPel : No Format settings, GMC : No warppoints Format settings, Matrix : Default (H.263) Codec ID : XVID Codec ID/Hint : XviD Duration : 7 s 80 ms Bit rate : 3 006 kb/s Width : 720 pixels Height : 336 pixels Display aspect ratio : 2.2:1 Frame rate : 25.000 FPS Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Progressive Compression mode : Lossy Bits/(Pixel*Frame) : 0.497 Stream size : 2.54 MiB (87%) Writing library : Lavc58.93.100 Audio ID : 1 Format : AC-3 Format/Info : Audio Coding 3 Codec ID : 00002000-0000-0010-8000-00AA00389B71 Duration : 7 s 8 ms Bit rate : 448 kb/s Channel(s) : 6 channels Channel layout : L R C LFE Ls Rs Sampling rate : 48.0 kHz Bit depth : 16 bits Compression mode : Lossy Stream size : 383 KiB (13%) Interleave, duration : 32 ms (0.81 video frame) Interleave, preload duratio : 96 ms The file converted using avidemux (which works): General Complete name : F:\FFMPEG\aviDemux.avi Format : AVI Format/Info : Audio Video Interleave File size : 2.07 MiB Duration : 6 s 920 ms Overall bit rate : 2 513 kb/s Video ID : 0 Format : MPEG-4 Visual Format profile : Advanced Simple at L4 Format settings : BVOP2 Format settings, BVOP : 2 Format settings, QPel : No Format settings, GMC : No warppoints Format settings, Matrix : Default (H.263) Codec ID : XVID Codec ID/Hint : XviD Duration : 6 s 920 ms Bit rate : 1 713 kb/s Width : 720 pixels Height : 320 pixels Display aspect ratio : 2.25:1 Frame rate : 25.000 FPS Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Progressive Compression mode : Lossy Bits/(Pixel*Frame) : 0.297 Stream size : 1.41 MiB (68%) Writing library : XviD 67 Audio ID : 1 Format : AC-3 Format/Info : Audio Coding 3 Commercial name : Dolby Digital Codec ID : 2000 Duration : 6 s 912 ms Bit rate mode : Constant Bit rate : 448 kb/s Channel(s) : 6 channels Channel layout : L R C LFE Ls Rs Sampling rate : 48.0 kHz Frame rate : 31.250 FPS (1536 SPF) Bit depth : 16 bits Compression mode : Lossy Stream size : 378 KiB (18%) Alignment : Aligned on interleaves Interleave, duration : 32 ms (0.80 video frame) Service kind : Complete Main At a direct glance, the Codec ID of the audio stream seems to be different. Is that causing the trouble? Or is it something else? Thanks Nithin From dmngaie at gmail.com Sun Jun 28 10:15:39 2020 From: dmngaie at gmail.com (Dennis Mungai) Date: Sun, 28 Jun 2020 10:15:39 +0300 Subject: [FFmpeg-user] A question of FFmpeg's UDP protocol usage Message-ID: Hello there, I encountered a somewhat unique problem today with ffmpeg, where, on receiving UPD multicast input, the ffmpeg process would also bind to a random unicast port, say 5112: ss -tulpn | grep :5112 udp UNCONN 1213696 0 0.0.0.0:5112 0.0.0.0:* users:(("ffmpeg",pid=958238,fd=54)) All inputs in use are *multicast*, so why is ffmpeg binding to a local port in udp unicast mode? Going through the documentation, there are some options that may somewhat alleviate this condition, though I've not tested them yet: https://ffmpeg.org/ffmpeg-protocols.html#udp 1. connect=1/0: As documented, in my case (receiving), it stated "For receiving, this gives the benefit of only receiving packets from the specified peer address/port. " 2. sources=address[,address]: As documented: "Only receive packets sent from the specified addresses. In case of multicast, also subscribe to multicast traffic coming from these addresses only." I'm tempted to use option 1 first, then 2, as the first option does not require me to pass a hard coded IP as an argument. Now, to the question: Is ffmpeg binding to a random UDP unicast port when receiving UDP multicast normal/expected behavior? And if so, how can this behavior be overridden so that such binding does not occur? From ceffmpeg at gmail.com Sun Jun 28 13:01:04 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Sun, 28 Jun 2020 12:01:04 +0200 Subject: [FFmpeg-user] Problem with converting to AVI (XVID-AC3) for Home Theatre In-Reply-To: References: Message-ID: Am So., 28. Juni 2020 um 09:00 Uhr schrieb Nithin C Babu : > > I am using FFmpeg to convert a video file that has 5.1 surround sound for > playing it in a home theatre system. I used the following command. > > ffmpeg -i "input1.mp4" -vf scale=720:-16 -c:v mpeg4 -vtag XVID -b:v 3000k > -c:a ac3 -b:a 448k "OUTPUT_FILE.avi" Complete, uncut console output missing. > I am able to play the video file on my computer. But, it has problems in > the home theatre system. > The home theatre system is able to play the video, > but it is showing that the audio is not supported. Which system is this? Did you test with WMP and consider to report it to whoever provides your home theatre system? We have in the past refused to add a work-around for such players (which would mean to produce invalid files). Carl Eugen From nithincbabu7 at gmail.com Sun Jun 28 14:14:39 2020 From: nithincbabu7 at gmail.com (Nithin C Babu) Date: Sun, 28 Jun 2020 16:44:39 +0530 Subject: [FFmpeg-user] Problem with converting to AVI (XVID-AC3) for Home Theatre In-Reply-To: References: Message-ID: Thanks for the fast response. Sorry for not producing the console output. I am a newbie in this forum. The console output is given below. ffmpeg -i "input1.mp4" -vf scale=720:-16 -c:v mpeg4 -vtag XVID -b:v 3000k -c:a ac3 -b:a 448k "OUTPUT_FILE.avi" ffmpeg version git-2020-06-23-ce297b4 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 9.3.1 (GCC) 20200621 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libgsm --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf libavutil 56. 55.100 / 56. 55.100 libavcodec 58. 93.100 / 58. 93.100 libavformat 58. 47.100 / 58. 47.100 libavdevice 58. 11.100 / 58. 11.100 libavfilter 7. 86.100 / 7. 86.100 libswscale 5. 8.100 / 5. 8.100 libswresample 3. 8.100 / 3. 8.100 libpostproc 55. 8.100 / 55. 8.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input1.mp4': Metadata: major_brand : isom minor_version : 1 compatible_brands: isom creation_time : 2020-04-21T12:40:58.000000Z Duration: 00:00:07.01, start: 0.000000, bitrate: 21085 kb/s Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x876 [SAR 1:1 DAR 160:73], 20460 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc (default) Metadata: creation_time : 2019-12-21T01:24:12.000000Z handler_name : VideoHandler Stream #0:1(eng): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), fltp, 640 kb/s (default) Metadata: creation_time : 2019-12-21T01:24:12.000000Z handler_name : SoundHandler Side data: audio service type: main Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> mpeg4 (native)) Stream #0:1 -> #0:1 (ac3 (native) -> ac3 (native)) Press [q] to stop, [?] for help Output #0, avi, to 'OUTPUT_FILE.avi': 0kB time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A Metadata: major_brand : isom minor_version : 1 compatible_brands: isom ISFT : Lavf58.47.100 Stream #0:0(und): Video: mpeg4 (XVID / 0x44495658), yuv420p(progressive), 720x336 [SAR 224:219 DAR 160:73], q=2-31, 3000 kb/s, 25 fps, 25 tbn, 25 tbc (default) Metadata: creation_time : 2019-12-21T01:24:12.000000Z handler_name : VideoHandler encoder : Lavc58.93.100 mpeg4 Side data: cpb: bitrate max/min/avg: 0/0/3000000 buffer size: 0 vbv_delay: N/A Stream #0:1(eng): Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, 5.1(side), fltp, 448 kb/s (default) Metadata: creation_time : 2019-12-21T01:24:12.000000Z handler_name : SoundHandler encoder : Lavc58.93.100 ac3 Side data: audio service type: main frame= 175 fps= 72 q=2.0 Lsize= 3000kB time=00:00:07.08 bitrate=3471.3kbits/s speed=2.92x video:2598kB audio:383kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.642562% The Home Theatre system is Sony DAV-DZ340K. The Windows Media Player in my computer is able to play the file. From ceffmpeg at gmail.com Sun Jun 28 14:53:55 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Sun, 28 Jun 2020 13:53:55 +0200 Subject: [FFmpeg-user] Problem with converting to AVI (XVID-AC3) for Home Theatre In-Reply-To: References: Message-ID: Am So., 28. Juni 2020 um 13:15 Uhr schrieb Nithin C Babu : > The Home Theatre system is Sony DAV-DZ340K. > > The Windows Media Player in my computer is able to play the file. So did you consider to report the issue (that the Home Theatre System cannot read the WAVEFORMATEXTENSIBLE header) to Sony? Carl Eugen From lsbplsb at yahoo.com Sun Jun 28 21:31:15 2020 From: lsbplsb at yahoo.com (Leonardo) Date: Sun, 28 Jun 2020 18:31:15 +0000 (UTC) Subject: [FFmpeg-user] extract first 26 seconds not workings as expected References: <1220284426.4922245.1593369075345.ref@mail.yahoo.com> Message-ID: <1220284426.4922245.1593369075345@mail.yahoo.com> Hello, I have a video (main.mp4 - that has about 52 minutes) that I want to cut its first 26 seconds. For this, I'm using command $ ffmpeg -i main.mp4 -ss 00:00:00.00 -t 00:00:26.00 -c copy part1.mp4 ffmpeg version 4.2.3 Copyright (c) 2000-2020 the FFmpeg developers   built with gcc 8 (Debian 8.3.0-6)   configuration: --toolchain=hardened --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared   libavutil      56. 31.100 / 56. 31.100   libavcodec     58. 54.100 / 58. 54.100   libavformat    58. 29.100 / 58. 29.100   libavdevice    58.  8.100 / 58.  8.100   libavfilter     7. 57.100 /  7. 57.100   libavresample   4.  0.  0 /  4.  0.  0   libswscale      5.  5.100 /  5.  5.100   libswresample   3.  5.100 /  3.  5.100   libpostproc    55.  5.100 / 55.  5.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'main.mp4':   Metadata:     major_brand     : isom     minor_version   : 512     compatible_brands: isomiso2avc1mp41     encoder         : Lavf58.29.100   Duration: 00:52:08.25, start: 0.000000, bitrate: 182 kb/s     Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1366x768 [SAR 1:1 DAR 683:384], 180 kb/s, 23.80 fps, 24 tbr, 12288 tbn, 48 tbc (default)     Metadata:       handler_name    : VideoHandler Output #0, mp4, to 'part1.mp4':   Metadata:     major_brand     : isom     minor_version   : 512     compatible_brands: isomiso2avc1mp41     encoder         : Lavf58.29.100     Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1366x768 [SAR 1:1 DAR 683:384], q=2-31, 180 kb/s, 23.80 fps, 24 tbr, 12288 tbn, 12288 tbc (default)     Metadata:       handler_name    : VideoHandler Stream mapping:   Stream #0:0 -> #0:0 (copy) Press [q] to stop, [?] for help frame=  322 fps=0.0 q=-1.0 Lsize=     523kB time=00:00:25.95 bitrate= 165.2kbits/s speed=8.19e+03x     video:519kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.881877% However, file part1.mp4 has only 13 seconds! $ ffprobe part1.mp4 ffprobe version 4.2.3 Copyright (c) 2007-2020 the FFmpeg developers   built with gcc 8 (Debian 8.3.0-6)   configuration: --toolchain=hardened --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared   libavutil      56. 31.100 / 56. 31.100   libavcodec     58. 54.100 / 58. 54.100   libavformat    58. 29.100 / 58. 29.100   libavdevice    58.  8.100 / 58.  8.100   libavfilter     7. 57.100 /  7. 57.100   libavresample   4.  0.  0 /  4.  0.  0   libswscale      5.  5.100 /  5.  5.100   libswresample   3.  5.100 /  3.  5.100   libpostproc    55.  5.100 / 55.  5.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'part1.mp4':   Metadata:     major_brand     : isom     minor_version   : 512     compatible_brands: isomiso2avc1mp41     encoder         : Lavf58.29.100   Duration: 00:00:13.42, start: 12.666016, bitrate: 319 kb/s     Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1366x768 [SAR 1:1 DAR 683:384], 316 kb/s, 24 fps, 24 tbr, 12288 tbn, 48 tbc (default)     Metadata:       handler_name    : VideoHandler What I did wrong? Also, how can I cut one part that begins at 00:01:00 and ends at 00:02:16 ? Kind regards, Leonardo From ceffmpeg at gmail.com Mon Jun 29 00:08:00 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Sun, 28 Jun 2020 23:08:00 +0200 Subject: [FFmpeg-user] extract first 26 seconds not workings as expected In-Reply-To: <1220284426.4922245.1593369075345@mail.yahoo.com> References: <1220284426.4922245.1593369075345.ref@mail.yahoo.com> <1220284426.4922245.1593369075345@mail.yahoo.com> Message-ID: Am So., 28. Juni 2020 um 20:31 Uhr schrieb Leonardo via ffmpeg-user : > I have a video (main.mp4 - that has about 52 minutes) that I want to cut its first 26 seconds. > > For this, I'm using command > > $ ffmpeg -i main.mp4 -ss 00:00:00.00 -t 00:00:26.00 -c copy part1.mp4 > ffmpeg version 4.2.3 Copyright (c) 2000-2020 the FFmpeg developers Please test current FFmpeg git head, if the issue is reproducible provide an input sample. Carl Eugen From cesarsj at unipam.edu.br Mon Jun 29 04:40:39 2020 From: cesarsj at unipam.edu.br (CESAR MURILO DA SILVA JUNIOR) Date: Sun, 28 Jun 2020 22:40:39 -0300 Subject: [FFmpeg-user] What version of ffmpeg is compatible with libvpx 1.5.0? Message-ID: Hello I use OS Slackware 14.2, and for it there is libvpx 1.5.0. Which version of ffmpeg is supported? I currently have ffmpeg 3.2.4 and wanted to record video with the simplescreenrecorder version 0.4.2, but says that the library is not compatible with the codec. Thanks *César Murilo da Silva Júnior* *Téc. Oper. Monit. Computadores Help Desk | Redes e Segurança* *UNIPAM - Centro Universitário de Patos de Minas* *T1: 34 3823 0131 | T2: 34 3823 0120 | T3: 34 3823 0356 | C: 34 9 9220 5680* *cesarsj at unipam.edu.br * From barsnick at gmx.net Mon Jun 29 13:06:44 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Mon, 29 Jun 2020 12:06:44 +0200 Subject: [FFmpeg-user] What version of ffmpeg is compatible with libvpx 1.5.0? In-Reply-To: References: Message-ID: <20200629100644.GB4241@sunshine.barsnick.net> On Sun, Jun 28, 2020 at 22:40:39 -0300, CESAR MURILO DA SILVA JUNIOR wrote: > I use OS Slackware 14.2, and for it there is libvpx 1.5.0. Which version of > ffmpeg is supported? ffmpeg has supported libvpx 1.5.0 for a very long time, and still does. > I currently have ffmpeg 3.2.4 and wanted to record > video with the simplescreenrecorder version 0.4.2, but says that the > library is not compatible with the codec. Who says that, and what does it say? ffmpeg needs to be compiled with support for libvpx. Perhaps yours isn't, but I cannot guess without more detail. If simplescreenrecorder uses the same ffmpeg libraries as your ffmpeg command line tool, you can check with $ ffmpeg -codecs and check whether libvpx is listed. (ffmpeg 3.2.4 is very old. If simplescreenrecorder supports anything recent, please try to use a new version of ffmpeg.) Moritz From kieran.o.leary at gmail.com Mon Jun 29 13:12:13 2020 From: kieran.o.leary at gmail.com (Kieran O Leary) Date: Mon, 29 Jun 2020 11:12:13 +0100 Subject: [FFmpeg-user] Catching all error warnings via ffprobe In-Reply-To: References: Message-ID: Hi - I've done some more tests and either I'm missing something here or perhaps this is a bug? It seems like only video errors appear in the JSON, not audio. I bumped up the loglevel, added and -show_error and I'm still not seeing the mp2 header issues appear in the json. For example this appears in the terminal: [mpegts @ 0000023d706538c0] Continuity check failed for pid 2069 expected 7 got 0 [mpegts @ 0000023d706538c0] Continuity check failed for pid 2068 expected 10 got 9 [mpegts @ 0000023d706538c0] PES packet size mismatch [mpegts @ 0000023d706538c0] Packet corrupt (stream = 1, dts = 203200560). [mp2 @ 0000023d70767e40] Header missing but I see no errors in the audio frames section of the JSON output: { "media_type": "audio", "stream_index": 1, "key_frame": 1, "pkt_pts": 203200560, "pkt_pts_time": "0:37:37.784000", "pkt_dts": 203200560, "pkt_dts_time": "0:37:37.784000", "best_effort_timestamp": 203200560, "best_effort_timestamp_time": "0:37:37.784000", "pkt_duration": 2160, "pkt_duration_time": "0:00:00.024000", "pkt_pos": "7371266244", "pkt_size": "1152", "sample_fmt": "s16p", "nb_samples": 1152, "channels": 2, "channel_layout": "stereo" }, It seems that any errors for the audio streams are not making their way into the JSON, but the video errors are, as per my last email. Any guidance on how I can get these audio errors into the JSON - am I missing a command or is this a bug? ffprobe -loglevel 48 -sexagesimal D:\IFI_Batch_10\MV8805\MV8805.m2t -show_error -show_log 48 -show_frames -of json > error.json ffprobe version N-96643-g2942b00285-g2383021a7a+1 Copyright (c) 2007-2020 the FFmpeg developers built with gcc 9.2.0 (Rev2, Built by MSYS2 project) configuration: --disable-autodetect --enable-amf --enable-bzlib --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-iconv --enable-lzma --enable-nvenc --enable-zlib --enable-sdl2 --enable-ffnvcodec --enable-nvdec --enable-cuda-llvm --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libx264 --enable-libdav1d --disable-debug --enable-fontconfig --enable-libass --enable-libbluray --enable-libfreetype --enable-libmfx --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libwavpack --enable-libwebp --enable-libxml2 --enable-libzimg --enable-libshine --enable-gpl --enable-avisynth --enable-libxvid --enable-libaom --enable-libopenmpt --enable-version3 --enable-openssl --extra-cflags=-DLIBTWOLAME_STATIC --extra-libs=-lstdc++ --extra-cflags=-DLIBXML_STATIC --extra-libs=-liconv --enable-nonfree libavutil 56. 39.100 / 56. 39.100 libavcodec 58. 67.101 / 58. 67.101 libavformat 58. 37.100 / 58. 37.100 libavdevice 58. 9.103 / 58. 9.103 libavfilter 7. 74.100 / 7. 74.100 libswscale 5. 6.100 / 5. 6.100 libswresample 3. 6.100 / 3. 6.100 libpostproc 55. 6.100 / 55. 6.100 [NULL @ 0000025ad4843580] Opening 'D:\IFI_Batch_10\MV8805\MV8805.m2t' for reading [file @ 0000025ad308b000] Setting default whitelist 'file,crypto,data' [mpegts @ 0000025ad4843580] Format mpegts probed with size=2048 and score=50 [mpegts @ 0000025ad4843580] stream=0 stream_type=2 pid=810 prog_reg_desc=TSHV [mpegts @ 0000025ad4843580] stream=1 stream_type=3 pid=814 prog_reg_desc=TSHV [mpegts @ 0000025ad4843580] stream=2 stream_type=a0 pid=815 prog_reg_desc=TSHV [mpegts @ 0000025ad4843580] stream=3 stream_type=a1 pid=811 prog_reg_desc=TSHV [mpegts @ 0000025ad4843580] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 nb_streams:4 [mpegts @ 0000025ad4843580] parser not found for codec none, packets or times may be invalid. Last message repeated 1 times [mpeg2video @ 0000025ad4844480] Invalid frame dimensions 0x0. Last message repeated 1 times [mpeg2video @ 0000025ad4844480] Format yuv420p chosen by get_format(). [mpegts @ 0000025ad4843580] parser not found for codec none, packets or times may be invalid. Last message repeated 1 times [mpegts @ 0000025ad4843580] Probe buffer size limit of 5000000 bytes reached [mpegts @ 0000025ad4843580] PES packet size mismatch [mpegts @ 0000025ad4843580] Packet corrupt (stream = 1, dts = 314015040). [mpegts @ 0000025ad4843580] Could not find codec parameters for stream 2 (Unknown: none ([160][0][0][0] / 0x00A0)): unknown codec Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 0000025ad4843580] Could not find codec parameters for stream 3 (Unknown: none ([161][0][0][0] / 0x00A1)): unknown codec Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 0000025ad4843580] After avformat_find_stream_info() pos: 0 bytes read:5656720 seeks:2 frames:117 Input #0, mpegts, from 'D:\IFI_Batch_10\MV8805\MV8805.m2t': Duration: 00:58:08.00, start: 1.280000, bitrate: 26120 kb/s Program 100 Stream #0:0[0x810], 40, 1/90000: Video: mpeg2video (Main), 1 reference frame ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, top first, left), 1440x1080 [SAR 4:3 DAR 16:9], 0/1, 25000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1[0x814], 54, 1/90000: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, fltp, 384 kb/s Stream #0:2[0x815], 11, 1/90000: Unknown: none ([160][0][0][0] / 0x00A0) Stream #0:3[0x811], 12, 1/90000: Unknown: none ([161][0][0][0] / 0x00A1) Unsupported codec with id 0 for input stream 2 Unsupported codec with id 0 for input stream 3 Processing read interval id:0 start:N/A end:N/A [mpeg2video @ 0000025ad4874ec0] Format yuv420p chosen by get_format(). [mpeg2video @ 0000025ad4874ec0] Skipping B slice due to open GOP Last message repeated 271 times [mpegts @ 0000025ad4843580] Continuity check failed for pid 31 expected 10 got 5 [mpegts @ 0000025ad4843580] Continuity check failed for pid 0 expected 8 got 5 [mpegts @ 0000025ad4843580] Continuity check failed for pid 129 expected 7 got 4 [mpegts @ 0000025ad4843580] Continuity check failed for pid 2065 expected 8 got 0 [mpegts @ 0000025ad4843580] Continuity check failed for pid 2069 expected 6 got 0 [mpegts @ 0000025ad4843580] Continuity check failed for pid 2068 expected 13 got 11 [mpegts @ 0000025ad4843580] Continuity check failed for pid 2064 expected 12 got 5 [mpegts @ 0000025ad4843580] Packet corrupt (stream = 0, dts = 166788000). [mpeg2video @ 0000025ad4874ec0] ac-tex damaged at 8 3 [mpeg2video @ 0000025ad4874ec0] Warning MVs not available [mpeg2video @ 0000025ad4874ec0] concealing 5850 DC, 5850 AC, 5850 MV errors in I frame [mpegts @ 0000025ad4843580] Continuity check failed for pid 31 expected 8 got 6 [mpegts @ 0000025ad4843580] Continuity check failed for pid 0 expected 8 got 6 [mpegts @ 0000025ad4843580] Continuity check failed for pid 129 expected 7 got 5 [mpegts @ 0000025ad4843580] Continuity check failed for pid 2065 expected 8 got 0 [mpegts @ 0000025ad4843580] Continuity check failed for pid 2064 expected 5 got 9 [mpegts @ 0000025ad4843580] Packet corrupt (stream = 0, dts = 203216400). [mpeg2video @ 0000025ad4874ec0] ac-tex damaged at 41 57 [mpeg2video @ 0000025ad4874ec0] Warning MVs not available [mpeg2video @ 0000025ad4874ec0] concealing 990 DC, 990 AC, 990 MV errors in P frame [mpegts @ 0000025ad4843580] Continuity check failed for pid 2069 expected 7 got 0 [mpegts @ 0000025ad4843580] Continuity check failed for pid 2068 expected 10 got 9 [mpegts @ 0000025ad4843580] PES packet size mismatch [mpegts @ 0000025ad4843580] Packet corrupt (stream = 1, dts = 203200560). [mp2 @ 0000025ad48f4000] Header missing [mpegts @ 0000025ad4843580] Continuity check failed for pid 31 expected 13 got 6 [mpegts @ 0000025ad4843580] Continuity check failed for pid 0 expected 13 got 6 [mpegts @ 0000025ad4843580] Continuity check failed for pid 129 expected 11 got 5 [mpeg2video @ 0000025ad4874ec0] ac-tex damaged at 7 55 [mpeg2video @ 0000025ad4874ec0] Warning MVs not available [mpeg2video @ 0000025ad4874ec0] concealing 1170 DC, 1170 AC, 1170 MV errors in B frame [mpegts @ 0000025ad4843580] Continuity check failed for pid 2065 expected 2 got 0 [mpegts @ 0000025ad4843580] Continuity check failed for pid 2068 expected 9 got 7 [mpegts @ 0000025ad4843580] PES packet size mismatch [mpegts @ 0000025ad4843580] Packet corrupt (stream = 1, dts = 314015040). [mpeg2video @ 0000025ad4874ec0] ac-tex damaged at 34 30 [mpeg2video @ 0000025ad4874ec0] Warning MVs not available [mpeg2video @ 0000025ad4874ec0] concealing 3420 DC, 3420 AC, 3420 MV errors in B frame [AVIOContext @ 0000025ad484c040] Statistics: 11394191376 bytes read, 2 seeks Best, Kieran From kieran.o.leary at gmail.com Mon Jun 29 13:15:06 2020 From: kieran.o.leary at gmail.com (Kieran O Leary) Date: Mon, 29 Jun 2020 11:15:06 +0100 Subject: [FFmpeg-user] libaom - first frame not lossless when > 7 frames in source In-Reply-To: References: <1591548957282-0.post@n4.nabble.com> <1591563050643-0.post@n4.nabble.com> <1591563949581-0.post@n4.nabble.com> Message-ID: On Sun, Jun 7, 2020 at 10:08 PM Kieran O Leary wrote: > > > On Sun, Jun 7, 2020 at 10:06 PM pdr0 wrote: > >> Intra only compression , using -g 1 makes it lossless . Maybe a clue there >> > > Aye - I can confirm that -g 1 produces matching framemd5s. > Just checking in on this issue - any ideas? Should I raise a bug ticket as the next step or is this thread enough? K > From win2000rus at hotmail.com Mon Jun 29 13:15:24 2020 From: win2000rus at hotmail.com (Alex) Date: Mon, 29 Jun 2020 13:15:24 +0300 Subject: [FFmpeg-user] Sound level measuring on the 2nd audio stream Message-ID: Hi All! I faced difficulties while trying to measure sound level for a multimedia file with multiple audio streams. Here is the background: 1) ffmpeg 4.2.2 and it was used in different OS (Windows, FreeBSD). 2) The source file: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test1.mov':   Metadata:     major_brand     : qt     minor_version   : 537199360     compatible_brands: qt     creation_time   : 2020-05-05T09:48:02.000000Z   Duration: 01:01:15.04, start: 0.000000, bitrate: 29791 kb/s     Stream #0:0(eng): Video: mpeg2video (Main) (xdvc / 0x63766478), yuv420p(tv, bt709, top coded first (swapped)), 1920x1080 [SAR 1:1 DAR 16:9], 26715 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc (default)     Metadata:       creation_time   : 2020-05-05T09:48:02.000000Z       handler_name    : Apple Video Media Handler       encoder         : XDCAM EX 1080i50 (35 Mb/s VBR)       timecode        : 00:00:00:00     Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default)     Metadata:       creation_time   : 2020-05-05T09:48:02.000000Z       handler_name    : Apple Sound Media Handler       timecode        : 00:00:00:00     Stream #0:2(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default)     Metadata:       creation_time   : 2020-05-05T09:48:02.000000Z       handler_name    : Apple Sound Media Handler       timecode        : 00:00:00:00     Stream #0:3(eng): Data: none (tmcd / 0x64636D74) (default)     Metadata:       creation_time   : 2020-05-05T11:14:47.000000Z       handler_name    : Time Code Media Handler       timecode        : 00:00:00:00 Unsupported codec with id 0 for input stream 3 And the stream #0:2 is empty (no sound at all)! This is important. 3) The way I used to measure the sound level: https://stackoverflow.com/questions/38056970/ffmpeg-txt-from-audio-levels The documentation (https://ffmpeg.org/ffmpeg-filters.html#astats-1) says that it's possible to set the channel number (starting from 1) or string 'Overall' for the integral value. I decided to print levels for 1st and 2nd audio streams separately and overall levels finally. Here is the command: ffprobe -hide_banner -f lavfi -i amovie=test1.mov,astats=metadata=1:reset=1 -show_entries frame=pkt_pts_time:frame_tags=lavfi.astats.1.Peak_level,lavfi.astats.2.Peak_level,lavfi.astats.Overall.Peak_level -of csv=p=0 And here is what I see: [mov,mp4,m4a,3gp,3g2,mj2 @ 0x80557b600] st: 0 edit list: 1 Missing key frame while searching for timestamp: 0 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x80557b600] st: 0 edit list 1 Cannot find an index entry before timestamp: 0. Input #0, lavfi, from 'amovie=/mnt/playout6/Playout/Trinity/Exxxotica/Media/test1.mov,astats=metadata=1:reset=1':   Duration: N/A, start: 0.000000, bitrate: 1536 kb/s     Stream #0:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s 0.000000,-inf,-inf,-inf 0.021333,-inf,-inf,-inf 0.042667,-inf,-inf,-inf 0.064000,-inf,-inf,-inf 0.085333,-inf,-inf,-inf 0.106667,-inf,-inf,-inf 0.128000,-inf,-inf,-inf 0.149333,-inf,-inf,-inf 0.170667,-inf,-inf,-inf 0.192000,-inf,-inf,-inf 0.213333,-inf,-inf,-inf 0.234667,-inf,-inf,-inf 0.256000,-inf,-inf,-inf 0.277333,-inf,-inf,-inf 0.298667,-inf,-inf,-inf 0.320000,-inf,-inf,-inf 0.341333,-40.124683,-48.232659,-40.124683 0.362667,-24.450328,-20.442361,-20.442361 0.384000,-15.920450,-15.235541,-15.235541 0.405333,-17.108509,-13.644516,-13.644516 0.426667,-15.176011,-13.778167,-13.778167 0.448000,-14.284777,-14.921187,-14.284777 0.469333,-14.353691,-13.147619,-13.147619 0.490667,-15.612737,-13.749723,-13.749723 0.512000,-15.577617,-14.215043,-14.215043 0.533333,-15.476248,-14.472115,-14.472115 0.554667,-15.115377,-11.835565,-11.835565 0.576000,-15.372937,-13.422919,-13.422919 0.597333,-5.541789,-4.610649,-4.610649 0.618667,-13.954783,-10.754262,-10.754262 0.640000,-12.198213,-13.178989,-12.198213 0.661333,-13.894198,-14.257364,-13.894198 0.682667,-14.118886,-12.640048,-12.640048 0.704000,-13.659833,-14.141813,-13.659833 0.725333,-17.131342,-16.504812,-16.504812 0.746667,-18.004467,-18.494126,-18.004467 0.768000,-14.940412,-16.608238,-14.940412 0.789333,-13.574658,-13.259134,-13.259134 0.810667,-12.985351,-13.042276,-12.985351 0.832000,-9.460374,-9.366353,-9.366353 0.853333,-13.081630,-10.817579,-10.817579 0.874667,-14.097363,-15.270840,-14.097363 0.896000,-15.432269,-13.685421,-13.685421 0.917333,-16.315447,-14.210959,-14.210959 0.938667,-14.378635,-13.564543,-13.564543 ... It is a lie. The second audio stream is totally silent from the beginning to the end. Also, note that ffprobe mentioned the only audio stream and it was #0:0. Why? I decided to test audio streams separately and copied them to separate files, then checked the sound level. For the first stream: ffmpeg -hide_banner -i test1.mov -ss 00:01:00 -t 00:01:00 -map 0:a:0 test1.mp3 ffprobe -hide_banner -f lavfi -i amovie=test1.mp3,astats=metadata=1:reset=1 -show_entries frame=pkt_pts_time:frame_tags=lavfi.astats.1.RMS_level -of csv=p=0 The result is expectable: [mp3float @ 0000000 Input #0, lavfi, fr   Duration: N/A, st     Stream #0:0: Au 0.000000,-50.248303 0.024000,-53.384511 0.048000,-53.646786 0.072000,-48.221139 0.096000,-51.244874 0.120000,-53.856832 0.144000,-54.184842 0.168000,-52.673918 0.192000,-53.253474 0.216000,-49.317896 0.240000,-44.537543 0.264000,-43.784163 0.288000,-47.155750 0.312000,-37.411110 0.336000,-45.422727 0.360000,-39.557636 0.384000,-35.931526 0.408000,-27.129281 0.432000,-27.934319 0.456000,-30.063120 0.480000,-34.268751 0.504000,-32.415779 0.528000,-28.112756 ... For the second stream: ffmpeg -hide_banner -i test1.mov -ss 00:01:00 -t 00:01:00 -map 0:a:0 test2.mp3 ffprobe -hide_banner -f lavfi -i amovie=test2.mp3,astats=metadata=1:reset=1 -show_entries frame=pkt_pts_time:frame_tags=lavfi.astats.1.RMS_level -of csv=p=0 0.000000,-inf 0.024000,-inf 0.048000,-inf 0.072000,-inf 0.096000,-inf 0.120000,-inf 0.144000,-inf 0.168000,-inf 0.192000,-inf 0.216000,-inf 0.240000,-inf 0.264000,-inf 0.288000,-inf 0.312000,-inf 0.336000,-inf 0.360000,-inf 0.384000,-inf 0.408000,-inf 0.432000,-inf 0.456000,-inf 0.480000,-inf 0.504000,-inf 0.528000,-inf ... Yes, this is really empty. But when I had copied both audio streams into WMA and tested then, I saw a lie again. It seems ffprobe cannot measure the 2nd audio stream and this is a bug. Am I right? WBR Alex From barsnick at gmx.net Mon Jun 29 13:39:23 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Mon, 29 Jun 2020 12:39:23 +0200 Subject: [FFmpeg-user] extract first 26 seconds not workings as expected In-Reply-To: <1220284426.4922245.1593369075345@mail.yahoo.com> References: <1220284426.4922245.1593369075345.ref@mail.yahoo.com> <1220284426.4922245.1593369075345@mail.yahoo.com> Message-ID: <20200629103923.GC4241@sunshine.barsnick.net> On Sun, Jun 28, 2020 at 18:31:15 +0000, Leonardo via ffmpeg-user wrote: > $ ffmpeg -i main.mp4 -ss 00:00:00.00 -t 00:00:26.00 -c copy part1.mp4 [...] > frame=  322 fps=0.0 q=-1.0 Lsize=     523kB time=00:00:25.95 bitrate= 165.2kbits/s speed=8.19e+03x     > video:519kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.881877% 322 frames at 23.8 fps looks suspiciously like 13.5 seconds. > However, file part1.mp4 has only 13 seconds! >   Duration: 00:00:13.42, start: 12.666016, bitrate: 319 kb/s 13.42 + 12.66 is approximately 25. So my guess is that your input file's first keyframe is at 12.66 seconds, and ffmpeg refuses to copy the frames before that one. You may want to try the option "-copyinkf" ("copy initial non-keyframes") when using "-c copy". > Also, how can I cut one part that begins at 00:01:00 and ends at 00:02:16 ? How about "-ss 00:01:00 -t 1:16"? (I'm also not sure how this behaves without keyframes, and whether that segment will ever be playable.) Moritz From onemda at gmail.com Mon Jun 29 13:45:11 2020 From: onemda at gmail.com (Paul B Mahol) Date: Mon, 29 Jun 2020 12:45:11 +0200 Subject: [FFmpeg-user] Sound level measuring on the 2nd audio stream In-Reply-To: References: Message-ID: On 6/29/20, Alex wrote: > Hi All! > I faced difficulties while trying to measure sound level for a > multimedia file with multiple audio streams. Here is the background: > > 1) ffmpeg 4.2.2 and it was used in different OS (Windows, FreeBSD). > > 2) The source file: > > Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test1.mov': > Metadata: > major_brand : qt > minor_version : 537199360 > compatible_brands: qt > creation_time : 2020-05-05T09:48:02.000000Z > Duration: 01:01:15.04, start: 0.000000, bitrate: 29791 kb/s > Stream #0:0(eng): Video: mpeg2video (Main) (xdvc / 0x63766478), > yuv420p(tv, bt709, top coded first (swapped)), 1920x1080 [SAR 1:1 DAR > 16:9], 26715 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc (default) > Metadata: > creation_time : 2020-05-05T09:48:02.000000Z > handler_name : Apple Video Media Handler > encoder : XDCAM EX 1080i50 (35 Mb/s VBR) > timecode : 00:00:00:00 > Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, > stereo, s16, 1536 kb/s (default) > Metadata: > creation_time : 2020-05-05T09:48:02.000000Z > handler_name : Apple Sound Media Handler > timecode : 00:00:00:00 > Stream #0:2(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, > stereo, s16, 1536 kb/s (default) > Metadata: > creation_time : 2020-05-05T09:48:02.000000Z > handler_name : Apple Sound Media Handler > timecode : 00:00:00:00 > Stream #0:3(eng): Data: none (tmcd / 0x64636D74) (default) > Metadata: > creation_time : 2020-05-05T11:14:47.000000Z > handler_name : Time Code Media Handler > timecode : 00:00:00:00 > Unsupported codec with id 0 for input stream 3 > > And the stream #0:2 is empty (no sound at all)! This is important. > > 3) The way I used to measure the sound level: > https://stackoverflow.com/questions/38056970/ffmpeg-txt-from-audio-levels > > The documentation (https://ffmpeg.org/ffmpeg-filters.html#astats-1) says > that it's possible to set the channel number (starting from 1) or string > 'Overall' for the integral value. I decided to print levels for 1st and > 2nd audio streams separately and overall levels finally. Here is the > command: > > ffprobe -hide_banner -f lavfi -i > amovie=test1.mov,astats=metadata=1:reset=1 -show_entries > frame=pkt_pts_time:frame_tags=lavfi.astats.1.Peak_level,lavfi.astats.2.Peak_level,lavfi.astats.Overall.Peak_level > -of csv=p=0 > > And here is what I see: > > [mov,mp4,m4a,3gp,3g2,mj2 @ 0x80557b600] st: 0 edit list: 1 Missing key > frame while searching for timestamp: 0 > [mov,mp4,m4a,3gp,3g2,mj2 @ 0x80557b600] st: 0 edit list 1 Cannot find an > index entry before timestamp: 0. > Input #0, lavfi, from > 'amovie=/mnt/playout6/Playout/Trinity/Exxxotica/Media/test1.mov,astats=metadata=1:reset=1': > Duration: N/A, start: 0.000000, bitrate: 1536 kb/s > Stream #0:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s > 0.000000,-inf,-inf,-inf > 0.021333,-inf,-inf,-inf > 0.042667,-inf,-inf,-inf > 0.064000,-inf,-inf,-inf > 0.085333,-inf,-inf,-inf > 0.106667,-inf,-inf,-inf > 0.128000,-inf,-inf,-inf > 0.149333,-inf,-inf,-inf > 0.170667,-inf,-inf,-inf > 0.192000,-inf,-inf,-inf > 0.213333,-inf,-inf,-inf > 0.234667,-inf,-inf,-inf > 0.256000,-inf,-inf,-inf > 0.277333,-inf,-inf,-inf > 0.298667,-inf,-inf,-inf > 0.320000,-inf,-inf,-inf > 0.341333,-40.124683,-48.232659,-40.124683 > 0.362667,-24.450328,-20.442361,-20.442361 > 0.384000,-15.920450,-15.235541,-15.235541 > 0.405333,-17.108509,-13.644516,-13.644516 > 0.426667,-15.176011,-13.778167,-13.778167 > 0.448000,-14.284777,-14.921187,-14.284777 > 0.469333,-14.353691,-13.147619,-13.147619 > 0.490667,-15.612737,-13.749723,-13.749723 > 0.512000,-15.577617,-14.215043,-14.215043 > 0.533333,-15.476248,-14.472115,-14.472115 > 0.554667,-15.115377,-11.835565,-11.835565 > 0.576000,-15.372937,-13.422919,-13.422919 > 0.597333,-5.541789,-4.610649,-4.610649 > 0.618667,-13.954783,-10.754262,-10.754262 > 0.640000,-12.198213,-13.178989,-12.198213 > 0.661333,-13.894198,-14.257364,-13.894198 > 0.682667,-14.118886,-12.640048,-12.640048 > 0.704000,-13.659833,-14.141813,-13.659833 > 0.725333,-17.131342,-16.504812,-16.504812 > 0.746667,-18.004467,-18.494126,-18.004467 > 0.768000,-14.940412,-16.608238,-14.940412 > 0.789333,-13.574658,-13.259134,-13.259134 > 0.810667,-12.985351,-13.042276,-12.985351 > 0.832000,-9.460374,-9.366353,-9.366353 > 0.853333,-13.081630,-10.817579,-10.817579 > 0.874667,-14.097363,-15.270840,-14.097363 > 0.896000,-15.432269,-13.685421,-13.685421 > 0.917333,-16.315447,-14.210959,-14.210959 > 0.938667,-14.378635,-13.564543,-13.564543 > ... > > It is a lie. The second audio stream is totally silent from the > beginning to the end. Also, note that ffprobe mentioned the only audio > stream and it was #0:0. Why? > > I decided to test audio streams separately and copied them to separate > files, then checked the sound level. For the first stream: > > ffmpeg -hide_banner -i test1.mov -ss 00:01:00 -t 00:01:00 -map 0:a:0 > test1.mp3 > > ffprobe -hide_banner -f lavfi -i > amovie=test1.mp3,astats=metadata=1:reset=1 -show_entries > frame=pkt_pts_time:frame_tags=lavfi.astats.1.RMS_level -of csv=p=0 > > The result is expectable: > [mp3float @ 0000000 > Input #0, lavfi, fr > Duration: N/A, st > Stream #0:0: Au > 0.000000,-50.248303 > 0.024000,-53.384511 > 0.048000,-53.646786 > 0.072000,-48.221139 > 0.096000,-51.244874 > 0.120000,-53.856832 > 0.144000,-54.184842 > 0.168000,-52.673918 > 0.192000,-53.253474 > 0.216000,-49.317896 > 0.240000,-44.537543 > 0.264000,-43.784163 > 0.288000,-47.155750 > 0.312000,-37.411110 > 0.336000,-45.422727 > 0.360000,-39.557636 > 0.384000,-35.931526 > 0.408000,-27.129281 > 0.432000,-27.934319 > 0.456000,-30.063120 > 0.480000,-34.268751 > 0.504000,-32.415779 > 0.528000,-28.112756 > ... > > For the second stream: > > ffmpeg -hide_banner -i test1.mov -ss 00:01:00 -t 00:01:00 -map 0:a:0 > test2.mp3 > > ffprobe -hide_banner -f lavfi -i > amovie=test2.mp3,astats=metadata=1:reset=1 -show_entries > frame=pkt_pts_time:frame_tags=lavfi.astats.1.RMS_level -of csv=p=0 > 0.000000,-inf > 0.024000,-inf > 0.048000,-inf > 0.072000,-inf > 0.096000,-inf > 0.120000,-inf > 0.144000,-inf > 0.168000,-inf > 0.192000,-inf > 0.216000,-inf > 0.240000,-inf > 0.264000,-inf > 0.288000,-inf > 0.312000,-inf > 0.336000,-inf > 0.360000,-inf > 0.384000,-inf > 0.408000,-inf > 0.432000,-inf > 0.456000,-inf > 0.480000,-inf > 0.504000,-inf > 0.528000,-inf > ... > > Yes, this is really empty. > But when I had copied both audio streams into WMA and tested then, I saw > a lie again. It seems ffprobe cannot measure the 2nd audio stream and > this is a bug. Am I right? No, you are wrong. Also you are mixing streams with channels. > > WBR Alex > > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From george at nsup.org Mon Jun 29 13:50:46 2020 From: george at nsup.org (Nicolas George) Date: Mon, 29 Jun 2020 12:50:46 +0200 Subject: [FFmpeg-user] Sound level measuring on the 2nd audio stream In-Reply-To: References: Message-ID: <20200629105046.gnkg5ih53ejgu7uh@phare.normalesup.org> Alex (12020-06-29): > The documentation (https://ffmpeg.org/ffmpeg-filters.html#astats-1) says > that it's possible to set the channel number (starting from 1) or string ^^^^^^^ > 'Overall' for the integral value. I decided to print levels for 1st and > 2nd audio streams separately and overall levels finally. Here is the ^^^^^^^ > command: Channels and streams are not the same thing. You need (1) to convince amovie to decode several streams from you file, (2) to write the filter graph to use both the streams, each in its own volume detection filters, (3) add the necessary to get the result in ffprobe's output. http://ffmpeg.org/ffmpeg-all.html#amovie http://ffmpeg.org/ffmpeg-all.html#Filtergraph-description Regards, -- Nicolas George -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From astroelectronic at t-online.de Mon Jun 29 14:24:30 2020 From: astroelectronic at t-online.de (Michael Koch) Date: Mon, 29 Jun 2020 13:24:30 +0200 Subject: [FFmpeg-user] write output of find_rect to a file? Message-ID: Hello, I want to track an object and need the x,y coordinates of this object for each frame. Is it possible to write the output of the find_rect filter to a file? Michael From cesarsj at unipam.edu.br Mon Jun 29 14:32:38 2020 From: cesarsj at unipam.edu.br (CESAR MURILO DA SILVA JUNIOR) Date: Mon, 29 Jun 2020 08:32:38 -0300 Subject: [FFmpeg-user] What version of ffmpeg is compatible with libvpx 1.5.0? In-Reply-To: <20200629100644.GB4241@sunshine.barsnick.net> References: <20200629100644.GB4241@sunshine.barsnick.net> Message-ID: Hello, Motitz See the output of the command: root at darkstar:~# ffmpeg -codecs | grep libvpx ffmpeg version 3.2.4 Copyright (c) 2000-2017 the FFmpeg developers built with gcc 5.5.0 (GCC) configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --docdir=/usr/doc/ffmpeg-3.2.4/html --mandir=/usr/man --disable-debug --enable-shared --disable-static --enable-gpl --enable-version3 --enable-avresample --arch=x86_64 --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-gnutls --enable-libcaca --enable-libcdio --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libmp3lame --enable-opengl --enable-libopenjpeg --enable-libpulse --enable-libsmbclient --enable-libwavpack --enable-x11grab libavutil 55. 34.101 / 55. 34.101 libavcodec 57. 64.101 / 57. 64.101 libavformat 57. 56.101 / 57. 56.101 libavdevice 57. 1.100 / 57. 1.100 libavfilter 6. 65.100 / 6. 65.100 libavresample 3. 1. 0 / 3. 1. 0 libswscale 4. 2.100 / 4. 2.100 libswresample 2. 3.100 / 2. 3.100 libpostproc 54. 1.100 / 54. 1.100 DEV.L. vp8 On2 VP8 (decoders: vp8 libvpx ) (encoders: libvpx ) DEV.L. vp9 Google VP9 (decoders: vp9 libvpx-vp9 ) (encoders: libvpx-vp9 ) However, when trying to record on the simplescreenrecorder the error appears: [VideoEncoder::PrepareStream] Usando formato de pixel yuv420. [libvpx @ 0x129dd00] v1.5.0 [libvpx @ 0x129dd00] Failed to initialize encoder: ABI version mismatch [BaseEncoder::Init] Erro: Não foi possível abrir o o codec! [PageRecord::StartOutput] Erro: Ocorreu um erro durante a inicialização. Thanks *César Murilo da Silva Júnior* *Téc. Oper. Monit. Computadores Help Desk | Redes e Segurança* *UNIPAM - Centro Universitário de Patos de Minas* *T1: 34 3823 0131 | T2: 34 3823 0120 | T3: 34 3823 0356 | C: 34 9 9220 5680* *cesarsj at unipam.edu.br * Em seg., 29 de jun. de 2020 às 07:07, Moritz Barsnick escreveu: > On Sun, Jun 28, 2020 at 22:40:39 -0300, CESAR MURILO DA SILVA JUNIOR wrote: > > I use OS Slackware 14.2, and for it there is libvpx 1.5.0. Which version > of > > ffmpeg is supported? > > ffmpeg has supported libvpx 1.5.0 for a very long time, and still does. > > > I currently have ffmpeg 3.2.4 and wanted to record > > video with the simplescreenrecorder version 0.4.2, but says that the > > library is not compatible with the codec. > > Who says that, and what does it say? > > ffmpeg needs to be compiled with support for libvpx. Perhaps yours > isn't, but I cannot guess without more detail. > > If simplescreenrecorder uses the same ffmpeg libraries as your ffmpeg > command line tool, you can check with > $ ffmpeg -codecs > and check whether libvpx is listed. > > (ffmpeg 3.2.4 is very old. If simplescreenrecorder supports anything > recent, please try to use a new version of ffmpeg.) > > Moritz > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From lsbplsb at yahoo.com Mon Jun 29 16:36:24 2020 From: lsbplsb at yahoo.com (Leonardo) Date: Mon, 29 Jun 2020 13:36:24 +0000 (UTC) Subject: [FFmpeg-user] extract first 26 seconds not workings as expected In-Reply-To: <20200629103923.GC4241@sunshine.barsnick.net> References: <1220284426.4922245.1593369075345.ref@mail.yahoo.com> <1220284426.4922245.1593369075345@mail.yahoo.com> <20200629103923.GC4241@sunshine.barsnick.net> Message-ID: <550997486.5230858.1593437784269@mail.yahoo.com> Hello >You may want to try the option "-copyinkf" ("copy initial >non-keyframes") when using "-c copy". I tried with this option, but the extracted part was "grayed" at the beginning. The only workaround that I found that worked was $ ffmpeg -i main.mp4 -vf "trim=start=0:end=26" part1.mp4 but re-encoded is needed. As you pointed out, the file has 23.80 fps, and this may be the problem. I created a sample video (53.63 seconds) if someone want to try some code on it. The video of the original post and this one were created using SimpleScreenRecorder Perhaps some configuration on the GUI is not properly set to produce a "good video file". Will try to play with it a bit. Kind regard, Leonardo From lsbplsb at yahoo.com Mon Jun 29 16:37:13 2020 From: lsbplsb at yahoo.com (Leonardo) Date: Mon, 29 Jun 2020 13:37:13 +0000 (UTC) Subject: [FFmpeg-user] extract first 26 seconds not workings as expected In-Reply-To: <20200629103923.GC4241@sunshine.barsnick.net> References: <1220284426.4922245.1593369075345.ref@mail.yahoo.com> <1220284426.4922245.1593369075345@mail.yahoo.com> <20200629103923.GC4241@sunshine.barsnick.net> Message-ID: <1842194324.5225595.1593437833866@mail.yahoo.com> I forgot to add the sample -------------- next part -------------- A non-text attachment was scrubbed... Name: sample.mp4 Type: video/mp4 Size: 169927 bytes Desc: not available URL: From blacktrash at gmx.net Mon Jun 29 17:06:51 2020 From: blacktrash at gmx.net (Christian Ebert) Date: Mon, 29 Jun 2020 15:06:51 +0100 Subject: [FFmpeg-user] aresample in_channel_layout has no effect Message-ID: <20200629140651.GD93287@krille.blacktrash.org> Hi, I'm trying to downsample 4 channel (unknown layout) pcm to stereo. However, aresample's in_channel_layout option has no effect: $ ffmpeg -report -guess_layout_max 0 -i 4ac.wav -filter:a aresample=in_channel_layout=4.0:out_channel_layout=stereo -c:a pcm_s16le -y out.wav ffmpeg started on 2020-06-29 at 14:53:17 Report written to "ffmpeg-20200629-145317.log" Log level: 48 ffmpeg version N-98130-g38737b3d4e Copyright (c) 2000-2020 the FFmpeg developers built with Apple clang version 11.0.0 (clang-1100.0.33.17) configuration: --enable-gpl --enable-nonfree --enable-shared --enable-openssl --enable-pic --enable-libspeex --enable-libopus --enable-libfdk-aac --enable-libx265 --enable-libx264 --enable-libmp3lame --enable-libbluray --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libvidstab --enable-libfreetype --enable-libzimg --enable-libass --extra-cflags=-I/opt/sw/include --extra-libs='-L/opt/sw/lib -L/opt/sw/lib/freetype219/lib -L/opt/sw/lib/gcc9/lib' --disable-htmlpages libavutil 56. 54.100 / 56. 54.100 libavcodec 58. 92.100 / 58. 92.100 libavformat 58. 46.101 / 58. 46.101 libavdevice 58. 11.100 / 58. 11.100 libavfilter 7. 86.100 / 7. 86.100 libswscale 5. 8.100 / 5. 8.100 libswresample 3. 8.100 / 3. 8.100 libpostproc 55. 8.100 / 55. 8.100 Input #0, wav, from '4ac.wav': Metadata: encoder : Lavf58.46.101 Duration: 00:00:12.00, bitrate: 3072 kb/s Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, 4 channels, s16, 3072 kb/s Stream mapping: Stream #0:0 -> #0:0 (pcm_s16le (native) -> pcm_s16le (native)) Press [q] to stop, [?] for help Output #0, wav, to 'out.wav': Metadata: ISFT : Lavf58.46.101 Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s16, 1536 kb/s Metadata: encoder : Lavc58.92.100 pcm_s16le size= 2250kB time=00:00:12.00 bitrate=1536.1kbits/s speed= 387x video:0kB audio:2250kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.003385% $ grep -A 2 Matrix ffmpeg-20200629-145317.log [Parsed_aresample_0 @ 0x7fc03e500a40] [SWR @ 0x1110fe000] Matrix coefficients: [Parsed_aresample_0 @ 0x7fc03e500a40] [SWR @ 0x1110fe000] FL: FL:0.453082 FR:0.000000 FC:0.320377 BC:0.226541 [Parsed_aresample_0 @ 0x7fc03e500a40] [SWR @ 0x1110fe000] FR: FL:0.000000 FR:0.453082 FC:0.320377 BC:0.226541 $ ffmpeg -report -guess_layout_max 0 -i 4ac.wav -filter:a aresample=in_channel_layout=quad:out_channel _layout=stereo -c:a pcm_s16le -y out.wav ffmpeg started on 2020-06-29 at 14:59:13 Report written to "ffmpeg-20200629-145913.log" Log level: 48 ffmpeg version N-98130-g38737b3d4e Copyright (c) 2000-2020 the FFmpeg developers built with Apple clang version 11.0.0 (clang-1100.0.33.17) configuration: --enable-gpl --enable-nonfree --enable-shared --enable-openssl --enable-pic --enable-libspeex --enable-libopus --enable-libfdk-aac --enable-libx265 --enable-libx264 --enable-libmp3lame --enable-libbluray --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libvidstab --enable-libfreetype --enable-libzimg --enable-libass --extra-cflags=-I/opt/sw/include --extra-libs='-L/opt/sw/lib -L/opt/sw/lib/freetype219/lib -L/opt/sw/lib/gcc9/lib' --disable-htmlpages libavutil 56. 54.100 / 56. 54.100 libavcodec 58. 92.100 / 58. 92.100 libavformat 58. 46.101 / 58. 46.101 libavdevice 58. 11.100 / 58. 11.100 libavfilter 7. 86.100 / 7. 86.100 libswscale 5. 8.100 / 5. 8.100 libswresample 3. 8.100 / 3. 8.100 libpostproc 55. 8.100 / 55. 8.100 Input #0, wav, from '4ac.wav': Metadata: encoder : Lavf58.46.101 Duration: 00:00:12.00, bitrate: 3072 kb/s Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, 4 channels, s16, 3072 kb/s Stream mapping: Stream #0:0 -> #0:0 (pcm_s16le (native) -> pcm_s16le (native)) Press [q] to stop, [?] for help Output #0, wav, to 'out.wav': Metadata: ISFT : Lavf58.46.101 Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s16, 1536 kb/s Metadata: encoder : Lavc58.92.100 pcm_s16le size= 2250kB time=00:00:12.00 bitrate=1536.1kbits/s speed= 375x video:0kB audio:2250kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.003385% $ grep -A 2 Matrix ffmpeg-20200629-145913.log [Parsed_aresample_0 @ 0x7feeca404380] [SWR @ 0x111d48000] Matrix coefficients: [Parsed_aresample_0 @ 0x7feeca404380] [SWR @ 0x111d48000] FL: FL:0.453082 FR:0.000000 FC:0.320377 BC:0.226541 [Parsed_aresample_0 @ 0x7feeca404380] [SWR @ 0x111d48000] FR: FL:0.000000 FR:0.453082 FC:0.320377 BC:0.226541 Matrix coefficients for icl 4.0 and quad, or for any other 4 channel layout are exactly the same, What am I overlooking? Something like aresample=ocl=quad,aresample=ocl=stereo yields a different matrix, but what is the point of in_channel_layout then? TIA Christian -- LAST SHIP HOME Winner of the German Ocean Film Award 2019 --->> https://lastshiphome.de From barsnick at gmx.net Mon Jun 29 17:36:50 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Mon, 29 Jun 2020 16:36:50 +0200 Subject: [FFmpeg-user] write output of find_rect to a file? In-Reply-To: References: Message-ID: <20200629143650.GA5903@sunshine.barsnick.net> Hi Michael, On Mon, Jun 29, 2020 at 13:24:30 +0200, Michael Koch wrote: > Hello, > > I want to track an object and need the x,y coordinates of this object > for each frame. > Is it possible to write the output of the find_rect filter to a file? I don't have any good command line for find_rect handy, but it should work with something like this (untested, of course): $ ffprobe -f lavfi -i movie=input.mp4,find_rect=options -show_entries frame=pkt_pts_time:frame_tags=lavfi.rect.w,lavfi.rect.h,lavfi.rect.x,lavfi.rect.y -of csv In other words, let ffprobe show you each frame's metadata. You can redirect this output, or have the logging write a report file. Cheers, Moritz From Ruler2112 at charter.net Mon Jun 29 17:44:04 2020 From: Ruler2112 at charter.net (Jim) Date: Mon, 29 Jun 2020 10:44:04 -0400 Subject: [FFmpeg-user] Encoding Warnings In-Reply-To: References: <1593201368667-0.post@n4.nabble.com> Message-ID: <5EF9FE34.1080301@charter.net> Hi Carl On 06/27/20 06:11, Carl Eugen Hoyos wrote: > Am Fr., 26. Juni 2020 um 21:56 Uhr schrieb Ruler2112 : > >> Step 3: Standardize Volume >> Not performed by ffmpeg > I am curious: Why? > > [...] AFAIK, ffmpeg does not have the ability to analyze the volume of every sample throughout an audio file, find the greatest amplitude, calculate the adjustment needed to make the loudest part of the file the maximum, and then apply that scaled volume adjustment to the entire file. (While this doesn't equalize the volume or eliminate all volume-related inconsistencies, it does make the loudest part of each video the same and is the best solution I've found; I don't have to re-adjust my volume when playing ~95% of the files run through this script.) I've never seen anything about this in the documentation & frankly, it seems like it's something esoteric enough to be out of scope for the project. Am I wrong in this regard? >> The two lines that are concerning to me are: >> >> 'Guessed Channel Layout for Input Stream #1.0 : stereo' >> >> Of course it's stereo - I jump dumped it to a 2-channel wave in the step 2! >> :) >> I'm guessing that I can safely ignore this one > Obviously. > (The wav standard does not require writing the channel layout for some > mono and stereo files and we don't do it to maintain compatibility with > ancient software that fails if the information is present.) Interesting that this warning is not present in the windows version of ffmpeg yet is on Linux. Any idea why that would be? Even more interesting is your explanation... out of curiosity, what ancient software are you referring to? (Not really important - just curious.) >> 'Timestamps are unset in a packet for stream 0. This is deprecated and >> will stop working in the future. Fix your code to set the timestamps >> properly' > This warning is not meant for you and you cannot fix it. Huh??? If it's not intended for the user and there's no way for the user to fix it, I assume it must be a warning specifically for developers. As such, why would it be printed without having some flag turned on to print debug warnings??? Never saw it when using the older windows version I was running and have found a LOT of people with the same question in my searching for a solution to this same message - this is the first time I've read this. An idea just popped into my head... if someone involved with organizing the ffmpeg project reads this, you might want to start an 'error code' database where people could copy/paste the error they received and it would provide them information like this. It would certainly lighten the volume of repeated questions/problems to the mailing list and other forums. I pride myself on finding & fixing problems myself and only ask for help when I see no other choice; I'm glad I gave up on this when I did! A search of the mailing list archives for "timestamps are unset in a packet" came back with over 70 hits, and that doesn't include hits from all the other different forums I found. (Hopefully, each of those people didn't waste as much time as I did chasing a problem they had no hope of fixing.) I'm sure other errors are even more commonly repeated; a database of error messages could help reduce such repetition. Just an idea. > For future questions: Please understand that posting excerpts of the > console output is not acceptable, always post the command line(s) > together with the complete, uncut console output. The output of the commands was complete except for version & library information, which were identical for every command. Please accept my apologies for not repeating the same information every time - I was just trying to shorten an already lengthy message by putting the version information once and eliminating redundant information throughout the rest of the message. Thank you so much for your response Carl. The information you provided means that my script to reprocess video files on Linux is complete! (Assuming I don't run into anything weird when processing different video formats in the future of course. ;) ) I'm happy, happy, happy about that! :) :) :) Jim From barsnick at gmx.net Mon Jun 29 18:18:51 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Mon, 29 Jun 2020 17:18:51 +0200 Subject: [FFmpeg-user] Encoding Warnings In-Reply-To: <5EF9FE34.1080301@charter.net> References: <1593201368667-0.post@n4.nabble.com> <5EF9FE34.1080301@charter.net> Message-ID: <20200629151851.GB5903@sunshine.barsnick.net> On Mon, Jun 29, 2020 at 10:44:04 -0400, Jim wrote: > AFAIK, ffmpeg does not have the ability to analyze the volume of every > sample throughout an audio file, find the greatest amplitude, calculate > the adjustment needed to make the loudest part of the file the maximum, It does. > and then apply that scaled volume adjustment to the entire file. This makes this a two-pass operation, which your external tool probably also does. ffmpeg can analyze first: $ ffmpeg -i INPUT -map 0:a -af volumedetect -f null - and will find the absolute maximum of the first audio channel. Take the max value from the log (something like "max_volume: -18.1 dB"[*]), and use that value for an additionally inserted "volume" audio filter in your conversion. $ ffmpeg -i INPUT [...] -af volume="18.1 dB",otherfilters OUTPUT You thus only have an additional input analysis step. [*] Documentation says this will not cause any clipping, though I don't know what the behaviour is, if the volume is massively different across channels. I *believe* the maximum is safe to use (while the average is also an average across channels, by some kind of mixdown). > same question in my searching for a solution to this same message - this > is the first time I've read this. (I personally find this confusing as well.) > (Assuming I don't run into anything weird when processing different > video formats in the future of course. ;) ) I'm happy, happy, happy > about that! :) :) :) We like happy people. :-) Cheers, Moritz From barsnick at gmx.net Mon Jun 29 18:23:12 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Mon, 29 Jun 2020 17:23:12 +0200 Subject: [FFmpeg-user] Encoding Warnings In-Reply-To: <20200629151851.GB5903@sunshine.barsnick.net> References: <1593201368667-0.post@n4.nabble.com> <5EF9FE34.1080301@charter.net> <20200629151851.GB5903@sunshine.barsnick.net> Message-ID: <20200629152312.GC5903@sunshine.barsnick.net> On Mon, Jun 29, 2020 at 17:18:51 +0200, Moritz Barsnick wrote: > $ ffmpeg -i INPUT -map 0:a -af volumedetect -f null - > > and will find the absolute maximum of the first audio channel. I meant: of the first audio *stream*. Sorry. Moritz From astroelectronic at t-online.de Mon Jun 29 18:35:50 2020 From: astroelectronic at t-online.de (Michael Koch) Date: Mon, 29 Jun 2020 17:35:50 +0200 Subject: [FFmpeg-user] write output of find_rect to a file? In-Reply-To: <20200629143650.GA5903@sunshine.barsnick.net> References: <20200629143650.GA5903@sunshine.barsnick.net> Message-ID: Hi Moritz, > > I don't have any good command line for find_rect handy, but it should > work with something like this (untested, of course): > > $ ffprobe -f lavfi -i movie=input.mp4,find_rect=options -show_entries frame=pkt_pts_time:frame_tags=lavfi.rect.w,lavfi.rect.h,lavfi.rect.x,lavfi.rect.y -of csv > > In other words, let ffprobe show you each frame's metadata. > > You can redirect this output, or have the logging write a report file. Very good, that's exactly what I need. I did already make some tests with -show_entries before I posted this question. But I didn't know the names of the variables "lavfi.rect.x" and "lavfi.rect.y". Are these variables documented somewhere? Is there also a variable for the quality of the find_rect result, I mean the number that's compared against the detection threshold? Michael From simon at dancingcloudservices.com Mon Jun 29 18:38:22 2020 From: simon at dancingcloudservices.com (Simon Roberts) Date: Mon, 29 Jun 2020 09:38:22 -0600 Subject: [FFmpeg-user] Stream during capture/compress? Message-ID: I would like to get a live monitor of the output of an ffmpeg process (it's actually a capture and compress process). I believe I could achieve this by adding a streaming output, and then separately starting an ffplay process to display that (I haven't tried this yet, but have got most of the elements working separately at least). However, this network layer (even as local loopback) seems like a small, but undesirable, overhead. Can anyone tell me: a) is my concern entirely unfounded? and b) is it possible to do this more efficiently, presumably in the main ffmpeg process? and c) is there some potential benefit to the local-network-between-two-separate-processes approach that I've not thought of? TIA, Simon From gounthar at gmail.com Mon Jun 29 20:23:25 2020 From: gounthar at gmail.com (Verachten Bruno) Date: Mon, 29 Jun 2020 19:23:25 +0200 Subject: [FFmpeg-user] RTMP and proxy Message-ID: Hi there, I'm trying to get ffmpeg to use a proxy. Here is my command: ffmpeg -http_proxy "http://192.168.0.217:3128/" -i sample.h264 -c:v copy -c:a copy -f flv "rtmp://live-cdg.twitch.tv/app/live_toto" -loglevel debug ffmpeg version 4.2.3 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-39) configuration: --pkg-config-flags=--static --prefix=/root/bin --extra-cflags=-I/root/bin/include --extra-ldflags=-L/root/bin/lib --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib --bindir=/root/bin --enable-debug=3 --disable-debug --enable-gpl --cpu=native --enable-libfdk-aac --enable-libx264 --extra-libs=-lpthread --enable-nonfree libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 Splitting the commandline. Reading option '-http_proxy' ... matched as AVOption 'http_proxy' with argument 'http://192.168.0.217:3128/'. Reading option '-i' ... matched as input url with argument 'sample.h264'. Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'copy'. Reading option '-c:a' ... matched as option 'c' (codec name) with argument 'copy'. Reading option '-f' ... matched as option 'f' (force format) with argument 'flv'. Reading option 'rtmp://live-cdg.twitch.tv/app/live_toto' ... matched as output url. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'. Finished splitting the commandline. Parsing a group of options: global . Applying option loglevel (set logging level) with argument debug. Successfully parsed a group of options. Parsing a group of options: input url sample.h264. Successfully parsed a group of options. Opening an input file: sample.h264. [NULL @ 0x2c7a580] Opening 'sample.h264' for reading [file @ 0x2c7adc0] Setting default whitelist 'file,crypto' [h264 @ 0x2c7a580] Format h264 probed with size=2048 and score=51 Option http_proxy not found. Why do I get "option http_proxy not found"? I tried another way of using the proxy: ffmpeg -i sample.h264 -c:v copy -c:a copy -f flv "rtmp://live-cdg.twitch.tv/app/live_toto socks=192.168.0.217:3128" -loglevel debug ffmpeg version 4.2.3 Copyright (c) 2000-2020 the FFmpeg developers built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-39) configuration: --pkg-config-flags=--static --prefix=/root/bin --extra-cflags=-I/root/bin/include --extra-ldflags=-L/root/bin/lib --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib --bindir=/root/bin --enable-debug=3 --disable-debug --enable-gpl --cpu=native --enable-libfdk-aac --enable-libx264 --extra-libs=-lpthread --enable-nonfree libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 Splitting the commandline. Reading option '-i' ... matched as input url with argument 'sample.h264'. Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'copy'. Reading option '-c:a' ... matched as option 'c' (codec name) with argument 'copy'. Reading option '-f' ... matched as option 'f' (force format) with argument 'flv'. Reading option 'rtmp://live-cdg.twitch.tv/app/live_toto socks=192.168.0.217:3128' ... matched as output url. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'. Finished splitting the commandline. Parsing a group of options: global . Applying option loglevel (set logging level) with argument debug. Successfully parsed a group of options. Parsing a group of options: input url sample.h264. Successfully parsed a group of options. Opening an input file: sample.h264. [NULL @ 0x40d24c0] Opening 'sample.h264' for reading [file @ 0x40d2dc0] Setting default whitelist 'file,crypto' [h264 @ 0x40d24c0] Format h264 probed with size=2048 and score=51 [h264 @ 0x40d24c0] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0 nb_streams:1 [AVBSFContext @ 0x40d3000] nal_unit_type: 7(SPS), nal_ref_idc: 1 [AVBSFContext @ 0x40d3000] nal_unit_type: 8(PPS), nal_ref_idc: 1 [AVBSFContext @ 0x40d3000] nal_unit_type: 5(IDR), nal_ref_idc: 1 [h264 @ 0x40d3bc0] nal_unit_type: 7(SPS), nal_ref_idc: 1 [h264 @ 0x40d3bc0] nal_unit_type: 8(PPS), nal_ref_idc: 1 [h264 @ 0x40d3bc0] nal_unit_type: 5(IDR), nal_ref_idc: 1 [h264 @ 0x40d3bc0] Format yuv420p chosen by get_format(). [h264 @ 0x40d3bc0] Reinit context to 960x720, pix_fmt: yuv420p [h264 @ 0x40d3bc0] nal_unit_type: 1(Coded slice of a non-IDR picture), nal_ref_idc: 1 Last message repeated 5 times [h264 @ 0x40d24c0] max_analyze_duration 5000000 reached at 5000000 microseconds st:0 [h264 @ 0x40d24c0] After avformat_find_stream_info() pos: 192512 bytes read:196608 seeks:0 frames:127 Input #0, h264, from 'sample.h264': Duration: N/A, bitrate: N/A Stream #0:0, 127, 1/1200000: Video: h264 (High), 1 reference frame, yuv420p(progressive, left), 960x720, 0/1, 25 fps, 25 tbr, 1200k tbn, 50 tbc Successfully opened the file. Parsing a group of options: output url rtmp://live-cdg.twitch.tv/app/live_toto socks=192.168.0.217:3128. Applying option c:v (codec name) with argument copy. Applying option c:a (codec name) with argument copy. Applying option f (force format) with argument flv. Successfully parsed a group of options. Opening an output file: rtmp://live-cdg.twitch.tv/app/live_toto socks=192.168.0.217:3128. [rtmp @ 0x40d5c80] No default whitelist set [rtmp @ 0x40d5c80] Detected librtmp style URL parameters, these aren't supported by the libavformat internal RTMP handler currently enabled. See the documentation for the correct way to pass parameters. [tcp @ 0x40d3580] No default whitelist set [tcp @ 0x40d3580] Original list of addresses: [tcp @ 0x40d3580] Address 52.223.195.194 port 1935 [tcp @ 0x40d3580] Address 52.223.195.236 port 1935 [tcp @ 0x40d3580] Address 52.223.195.16 port 1935 [tcp @ 0x40d3580] Address 52.223.195.205 port 1935 [tcp @ 0x40d3580] Address 52.223.195.25 port 1935 [tcp @ 0x40d3580] Address 52.223.195.28 port 1935 [tcp @ 0x40d3580] Address 52.223.195.146 port 1935 [tcp @ 0x40d3580] Address 52.223.195.95 port 1935 [tcp @ 0x40d3580] Address 52.223.195.9 port 1935 [tcp @ 0x40d3580] Address 52.223.195.211 port 1935 [tcp @ 0x40d3580] Address 52.223.195.119 port 1935 [tcp @ 0x40d3580] Address 52.223.195.169 port 1935 [tcp @ 0x40d3580] Interleaved list of addresses: [tcp @ 0x40d3580] Address 52.223.195.194 port 1935 [tcp @ 0x40d3580] Address 52.223.195.236 port 1935 [tcp @ 0x40d3580] Address 52.223.195.16 port 1935 [tcp @ 0x40d3580] Address 52.223.195.205 port 1935 [tcp @ 0x40d3580] Address 52.223.195.25 port 1935 [tcp @ 0x40d3580] Address 52.223.195.28 port 1935 [tcp @ 0x40d3580] Address 52.223.195.146 port 1935 [tcp @ 0x40d3580] Address 52.223.195.95 port 1935 [tcp @ 0x40d3580] Address 52.223.195.9 port 1935 [tcp @ 0x40d3580] Address 52.223.195.211 port 1935 [tcp @ 0x40d3580] Address 52.223.195.119 port 1935 [tcp @ 0x40d3580] Address 52.223.195.169 port 1935 [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.194 port 1935 [tcp @ 0x40d3580] Connection attempt to 52.223.195.194 port 1935 failed: Connection refused [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.236 port 1935 [tcp @ 0x40d3580] Connection attempt to 52.223.195.236 port 1935 failed: Connection refused [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.16 port 1935 [tcp @ 0x40d3580] Connection attempt to 52.223.195.16 port 1935 failed: Connection refused [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.205 port 1935 [tcp @ 0x40d3580] Connection attempt to 52.223.195.205 port 1935 failed: Connection refused [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.25 port 1935 [tcp @ 0x40d3580] Connection attempt to 52.223.195.25 port 1935 failed: Connection refused [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.28 port 1935 [tcp @ 0x40d3580] Connection attempt to 52.223.195.28 port 1935 failed: Connection refused [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.146 port 1935 [tcp @ 0x40d3580] Connection attempt to 52.223.195.146 port 1935 failed: Connection refused [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.95 port 1935 [tcp @ 0x40d3580] Connection attempt to 52.223.195.95 port 1935 failed: Connection refused [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.9 port 1935 [tcp @ 0x40d3580] Connection attempt to 52.223.195.9 port 1935 failed: Connection refused [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.211 port 1935 [tcp @ 0x40d3580] Connection attempt to 52.223.195.211 port 1935 failed: Connection refused [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.119 port 1935 [tcp @ 0x40d3580] Connection attempt to 52.223.195.119 port 1935 failed: Connection refused [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.169 port 1935 [tcp @ 0x40d3580] Connection attempt to 52.223.195.169 port 1935 failed: Connection refused [tcp @ 0x40d3580] Connection to tcp://live-cdg.twitch.tv:1935 failed: Connection refused [rtmp @ 0x40d5c80] Cannot open connection tcp://live-cdg.twitch.tv:1935 rtmp://live-cdg.twitch.tv/app/live_toto socks=192.168.0.217:3128: Connection refused The message that bugs me is : "Detected librtmp style URL parameters, these aren't supported by the libavformat internal RTMP handler currently enabled. See the documentation for the correct way to pass parameters." I have not been able to find that documentation yet, just that: https://ffmpeg.org/ffmpeg.html#AVOptions Thanks. -- Bruno Verachten From infos at madovsky.org Mon Jun 29 20:28:59 2020 From: infos at madovsky.org (Madovsky) Date: Mon, 29 Jun 2020 10:28:59 -0700 Subject: [FFmpeg-user] RTMP and proxy In-Reply-To: References: Message-ID: On 6/29/2020 10:23 AM, Verachten Bruno wrote: > Hi there, > > I'm trying to get ffmpeg to use a proxy. Here is my command: > ffmpeg -http_proxy "http://192.168.0.217:3128/" -i sample.h264 -c:v > copy -c:a copy -f flv "rtmp://live-cdg.twitch.tv/app/live_toto" > -loglevel debug > ffmpeg version 4.2.3 Copyright (c) 2000-2020 the FFmpeg developers > built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-39) > configuration: --pkg-config-flags=--static --prefix=/root/bin > --extra-cflags=-I/root/bin/include --extra-ldflags=-L/root/bin/lib > --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib > --bindir=/root/bin --enable-debug=3 --disable-debug --enable-gpl > --cpu=native --enable-libfdk-aac --enable-libx264 > --extra-libs=-lpthread --enable-nonfree > libavutil 56. 31.100 / 56. 31.100 > libavcodec 58. 54.100 / 58. 54.100 > libavformat 58. 29.100 / 58. 29.100 > libavdevice 58. 8.100 / 58. 8.100 > libavfilter 7. 57.100 / 7. 57.100 > libswscale 5. 5.100 / 5. 5.100 > libswresample 3. 5.100 / 3. 5.100 > libpostproc 55. 5.100 / 55. 5.100 > Splitting the commandline. > Reading option '-http_proxy' ... matched as AVOption 'http_proxy' with > argument 'http://192.168.0.217:3128/'. > Reading option '-i' ... matched as input url with argument 'sample.h264'. > Reading option '-c:v' ... matched as option 'c' (codec name) with > argument 'copy'. > Reading option '-c:a' ... matched as option 'c' (codec name) with > argument 'copy'. > Reading option '-f' ... matched as option 'f' (force format) with > argument 'flv'. > Reading option 'rtmp://live-cdg.twitch.tv/app/live_toto' ... matched > as output url. > Reading option '-loglevel' ... matched as option 'loglevel' (set > logging level) with argument 'debug'. > Finished splitting the commandline. > Parsing a group of options: global . > Applying option loglevel (set logging level) with argument debug. > Successfully parsed a group of options. > Parsing a group of options: input url sample.h264. > Successfully parsed a group of options. > Opening an input file: sample.h264. > [NULL @ 0x2c7a580] Opening 'sample.h264' for reading > [file @ 0x2c7adc0] Setting default whitelist 'file,crypto' > [h264 @ 0x2c7a580] Format h264 probed with size=2048 and score=51 > Option http_proxy not found. > > Why do I get "option http_proxy not found"? > > I tried another way of using the proxy: > ffmpeg -i sample.h264 -c:v copy -c:a copy -f flv > "rtmp://live-cdg.twitch.tv/app/live_toto socks=192.168.0.217:3128" > -loglevel debug > ffmpeg version 4.2.3 Copyright (c) 2000-2020 the FFmpeg developers > built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-39) > configuration: --pkg-config-flags=--static --prefix=/root/bin > --extra-cflags=-I/root/bin/include --extra-ldflags=-L/root/bin/lib > --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib > --bindir=/root/bin --enable-debug=3 --disable-debug --enable-gpl > --cpu=native --enable-libfdk-aac --enable-libx264 > --extra-libs=-lpthread --enable-nonfree > libavutil 56. 31.100 / 56. 31.100 > libavcodec 58. 54.100 / 58. 54.100 > libavformat 58. 29.100 / 58. 29.100 > libavdevice 58. 8.100 / 58. 8.100 > libavfilter 7. 57.100 / 7. 57.100 > libswscale 5. 5.100 / 5. 5.100 > libswresample 3. 5.100 / 3. 5.100 > libpostproc 55. 5.100 / 55. 5.100 > Splitting the commandline. > Reading option '-i' ... matched as input url with argument 'sample.h264'. > Reading option '-c:v' ... matched as option 'c' (codec name) with > argument 'copy'. > Reading option '-c:a' ... matched as option 'c' (codec name) with > argument 'copy'. > Reading option '-f' ... matched as option 'f' (force format) with > argument 'flv'. > Reading option 'rtmp://live-cdg.twitch.tv/app/live_toto > socks=192.168.0.217:3128' ... matched as output url. > Reading option '-loglevel' ... matched as option 'loglevel' (set > logging level) with argument 'debug'. > Finished splitting the commandline. > Parsing a group of options: global . > Applying option loglevel (set logging level) with argument debug. > Successfully parsed a group of options. > Parsing a group of options: input url sample.h264. > Successfully parsed a group of options. > Opening an input file: sample.h264. > [NULL @ 0x40d24c0] Opening 'sample.h264' for reading > [file @ 0x40d2dc0] Setting default whitelist 'file,crypto' > [h264 @ 0x40d24c0] Format h264 probed with size=2048 and score=51 > [h264 @ 0x40d24c0] Before avformat_find_stream_info() pos: 0 bytes > read:32768 seeks:0 nb_streams:1 > [AVBSFContext @ 0x40d3000] nal_unit_type: 7(SPS), nal_ref_idc: 1 > [AVBSFContext @ 0x40d3000] nal_unit_type: 8(PPS), nal_ref_idc: 1 > [AVBSFContext @ 0x40d3000] nal_unit_type: 5(IDR), nal_ref_idc: 1 > [h264 @ 0x40d3bc0] nal_unit_type: 7(SPS), nal_ref_idc: 1 > [h264 @ 0x40d3bc0] nal_unit_type: 8(PPS), nal_ref_idc: 1 > [h264 @ 0x40d3bc0] nal_unit_type: 5(IDR), nal_ref_idc: 1 > [h264 @ 0x40d3bc0] Format yuv420p chosen by get_format(). > [h264 @ 0x40d3bc0] Reinit context to 960x720, pix_fmt: yuv420p > [h264 @ 0x40d3bc0] nal_unit_type: 1(Coded slice of a non-IDR picture), > nal_ref_idc: 1 > Last message repeated 5 times > [h264 @ 0x40d24c0] max_analyze_duration 5000000 reached at 5000000 > microseconds st:0 > [h264 @ 0x40d24c0] After avformat_find_stream_info() pos: 192512 bytes > read:196608 seeks:0 frames:127 > Input #0, h264, from 'sample.h264': > Duration: N/A, bitrate: N/A > Stream #0:0, 127, 1/1200000: Video: h264 (High), 1 reference > frame, yuv420p(progressive, left), 960x720, 0/1, 25 fps, 25 tbr, 1200k > tbn, 50 tbc > Successfully opened the file. > Parsing a group of options: output url > rtmp://live-cdg.twitch.tv/app/live_toto socks=192.168.0.217:3128. > Applying option c:v (codec name) with argument copy. > Applying option c:a (codec name) with argument copy. > Applying option f (force format) with argument flv. > Successfully parsed a group of options. > Opening an output file: rtmp://live-cdg.twitch.tv/app/live_toto > socks=192.168.0.217:3128. > [rtmp @ 0x40d5c80] No default whitelist set > [rtmp @ 0x40d5c80] Detected librtmp style URL parameters, these aren't > supported by the libavformat internal RTMP handler currently enabled. > See the documentation for the correct way to pass parameters. > [tcp @ 0x40d3580] No default whitelist set > [tcp @ 0x40d3580] Original list of addresses: > [tcp @ 0x40d3580] Address 52.223.195.194 port 1935 > [tcp @ 0x40d3580] Address 52.223.195.236 port 1935 > [tcp @ 0x40d3580] Address 52.223.195.16 port 1935 > [tcp @ 0x40d3580] Address 52.223.195.205 port 1935 > [tcp @ 0x40d3580] Address 52.223.195.25 port 1935 > [tcp @ 0x40d3580] Address 52.223.195.28 port 1935 > [tcp @ 0x40d3580] Address 52.223.195.146 port 1935 > [tcp @ 0x40d3580] Address 52.223.195.95 port 1935 > [tcp @ 0x40d3580] Address 52.223.195.9 port 1935 > [tcp @ 0x40d3580] Address 52.223.195.211 port 1935 > [tcp @ 0x40d3580] Address 52.223.195.119 port 1935 > [tcp @ 0x40d3580] Address 52.223.195.169 port 1935 > [tcp @ 0x40d3580] Interleaved list of addresses: > [tcp @ 0x40d3580] Address 52.223.195.194 port 1935 > [tcp @ 0x40d3580] Address 52.223.195.236 port 1935 > [tcp @ 0x40d3580] Address 52.223.195.16 port 1935 > [tcp @ 0x40d3580] Address 52.223.195.205 port 1935 > [tcp @ 0x40d3580] Address 52.223.195.25 port 1935 > [tcp @ 0x40d3580] Address 52.223.195.28 port 1935 > [tcp @ 0x40d3580] Address 52.223.195.146 port 1935 > [tcp @ 0x40d3580] Address 52.223.195.95 port 1935 > [tcp @ 0x40d3580] Address 52.223.195.9 port 1935 > [tcp @ 0x40d3580] Address 52.223.195.211 port 1935 > [tcp @ 0x40d3580] Address 52.223.195.119 port 1935 > [tcp @ 0x40d3580] Address 52.223.195.169 port 1935 > [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.194 port 1935 > [tcp @ 0x40d3580] Connection attempt to 52.223.195.194 port 1935 > failed: Connection refused > [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.236 port 1935 > [tcp @ 0x40d3580] Connection attempt to 52.223.195.236 port 1935 > failed: Connection refused > [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.16 port 1935 > [tcp @ 0x40d3580] Connection attempt to 52.223.195.16 port 1935 > failed: Connection refused > [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.205 port 1935 > [tcp @ 0x40d3580] Connection attempt to 52.223.195.205 port 1935 > failed: Connection refused > [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.25 port 1935 > [tcp @ 0x40d3580] Connection attempt to 52.223.195.25 port 1935 > failed: Connection refused > [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.28 port 1935 > [tcp @ 0x40d3580] Connection attempt to 52.223.195.28 port 1935 > failed: Connection refused > [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.146 port 1935 > [tcp @ 0x40d3580] Connection attempt to 52.223.195.146 port 1935 > failed: Connection refused > [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.95 port 1935 > [tcp @ 0x40d3580] Connection attempt to 52.223.195.95 port 1935 > failed: Connection refused > [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.9 port 1935 > [tcp @ 0x40d3580] Connection attempt to 52.223.195.9 port 1935 failed: > Connection refused > [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.211 port 1935 > [tcp @ 0x40d3580] Connection attempt to 52.223.195.211 port 1935 > failed: Connection refused > [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.119 port 1935 > [tcp @ 0x40d3580] Connection attempt to 52.223.195.119 port 1935 > failed: Connection refused > [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.169 port 1935 > [tcp @ 0x40d3580] Connection attempt to 52.223.195.169 port 1935 > failed: Connection refused > [tcp @ 0x40d3580] Connection to tcp://live-cdg.twitch.tv:1935 failed: > Connection refused > [rtmp @ 0x40d5c80] Cannot open connection tcp://live-cdg.twitch.tv:1935 > rtmp://live-cdg.twitch.tv/app/live_toto socks=192.168.0.217:3128: > Connection refused > > The message that bugs me is : "Detected librtmp style URL parameters, > these aren't supported by the libavformat internal RTMP handler > currently enabled. See the documentation for the correct way to pass > parameters." > I have not been able to find that documentation yet, just that: > https://ffmpeg.org/ffmpeg.html#AVOptions > > Thanks. take a look here https://ffmpeg.org/ffmpeg-protocols.html#rtmp From gounthar at gmail.com Mon Jun 29 22:14:48 2020 From: gounthar at gmail.com (Verachten Bruno) Date: Mon, 29 Jun 2020 21:14:48 +0200 Subject: [FFmpeg-user] RTMP and proxy In-Reply-To: References: Message-ID: Thanks. I have just recompiled ffmpeg with librtmp, and I now have access to the socks proxy option. Except my proxy is not a socks proxy. What about the -http_proxy option? Do I have to add a special option to configure to get ffmpeg to understand this option? Thanks. On Mon, Jun 29, 2020 at 7:29 PM Madovsky wrote: > > > On 6/29/2020 10:23 AM, Verachten Bruno wrote: > > Hi there, > > > > I'm trying to get ffmpeg to use a proxy. Here is my command: > > ffmpeg -http_proxy "http://192.168.0.217:3128/" -i sample.h264 -c:v > > copy -c:a copy -f flv "rtmp://live-cdg.twitch.tv/app/live_toto" > > -loglevel debug > > ffmpeg version 4.2.3 Copyright (c) 2000-2020 the FFmpeg developers > > built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-39) > > configuration: --pkg-config-flags=--static --prefix=/root/bin > > --extra-cflags=-I/root/bin/include --extra-ldflags=-L/root/bin/lib > > --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib > > --bindir=/root/bin --enable-debug=3 --disable-debug --enable-gpl > > --cpu=native --enable-libfdk-aac --enable-libx264 > > --extra-libs=-lpthread --enable-nonfree > > libavutil 56. 31.100 / 56. 31.100 > > libavcodec 58. 54.100 / 58. 54.100 > > libavformat 58. 29.100 / 58. 29.100 > > libavdevice 58. 8.100 / 58. 8.100 > > libavfilter 7. 57.100 / 7. 57.100 > > libswscale 5. 5.100 / 5. 5.100 > > libswresample 3. 5.100 / 3. 5.100 > > libpostproc 55. 5.100 / 55. 5.100 > > Splitting the commandline. > > Reading option '-http_proxy' ... matched as AVOption 'http_proxy' with > > argument 'http://192.168.0.217:3128/'. > > Reading option '-i' ... matched as input url with argument 'sample.h264'. > > Reading option '-c:v' ... matched as option 'c' (codec name) with > > argument 'copy'. > > Reading option '-c:a' ... matched as option 'c' (codec name) with > > argument 'copy'. > > Reading option '-f' ... matched as option 'f' (force format) with > > argument 'flv'. > > Reading option 'rtmp://live-cdg.twitch.tv/app/live_toto' ... matched > > as output url. > > Reading option '-loglevel' ... matched as option 'loglevel' (set > > logging level) with argument 'debug'. > > Finished splitting the commandline. > > Parsing a group of options: global . > > Applying option loglevel (set logging level) with argument debug. > > Successfully parsed a group of options. > > Parsing a group of options: input url sample.h264. > > Successfully parsed a group of options. > > Opening an input file: sample.h264. > > [NULL @ 0x2c7a580] Opening 'sample.h264' for reading > > [file @ 0x2c7adc0] Setting default whitelist 'file,crypto' > > [h264 @ 0x2c7a580] Format h264 probed with size=2048 and score=51 > > Option http_proxy not found. > > > > Why do I get "option http_proxy not found"? > > > > I tried another way of using the proxy: > > ffmpeg -i sample.h264 -c:v copy -c:a copy -f flv > > "rtmp://live-cdg.twitch.tv/app/live_toto socks=192.168.0.217:3128" > > -loglevel debug > > ffmpeg version 4.2.3 Copyright (c) 2000-2020 the FFmpeg developers > > built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-39) > > configuration: --pkg-config-flags=--static --prefix=/root/bin > > --extra-cflags=-I/root/bin/include --extra-ldflags=-L/root/bin/lib > > --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib > > --bindir=/root/bin --enable-debug=3 --disable-debug --enable-gpl > > --cpu=native --enable-libfdk-aac --enable-libx264 > > --extra-libs=-lpthread --enable-nonfree > > libavutil 56. 31.100 / 56. 31.100 > > libavcodec 58. 54.100 / 58. 54.100 > > libavformat 58. 29.100 / 58. 29.100 > > libavdevice 58. 8.100 / 58. 8.100 > > libavfilter 7. 57.100 / 7. 57.100 > > libswscale 5. 5.100 / 5. 5.100 > > libswresample 3. 5.100 / 3. 5.100 > > libpostproc 55. 5.100 / 55. 5.100 > > Splitting the commandline. > > Reading option '-i' ... matched as input url with argument 'sample.h264'. > > Reading option '-c:v' ... matched as option 'c' (codec name) with > > argument 'copy'. > > Reading option '-c:a' ... matched as option 'c' (codec name) with > > argument 'copy'. > > Reading option '-f' ... matched as option 'f' (force format) with > > argument 'flv'. > > Reading option 'rtmp://live-cdg.twitch.tv/app/live_toto > > socks=192.168.0.217:3128' ... matched as output url. > > Reading option '-loglevel' ... matched as option 'loglevel' (set > > logging level) with argument 'debug'. > > Finished splitting the commandline. > > Parsing a group of options: global . > > Applying option loglevel (set logging level) with argument debug. > > Successfully parsed a group of options. > > Parsing a group of options: input url sample.h264. > > Successfully parsed a group of options. > > Opening an input file: sample.h264. > > [NULL @ 0x40d24c0] Opening 'sample.h264' for reading > > [file @ 0x40d2dc0] Setting default whitelist 'file,crypto' > > [h264 @ 0x40d24c0] Format h264 probed with size=2048 and score=51 > > [h264 @ 0x40d24c0] Before avformat_find_stream_info() pos: 0 bytes > > read:32768 seeks:0 nb_streams:1 > > [AVBSFContext @ 0x40d3000] nal_unit_type: 7(SPS), nal_ref_idc: 1 > > [AVBSFContext @ 0x40d3000] nal_unit_type: 8(PPS), nal_ref_idc: 1 > > [AVBSFContext @ 0x40d3000] nal_unit_type: 5(IDR), nal_ref_idc: 1 > > [h264 @ 0x40d3bc0] nal_unit_type: 7(SPS), nal_ref_idc: 1 > > [h264 @ 0x40d3bc0] nal_unit_type: 8(PPS), nal_ref_idc: 1 > > [h264 @ 0x40d3bc0] nal_unit_type: 5(IDR), nal_ref_idc: 1 > > [h264 @ 0x40d3bc0] Format yuv420p chosen by get_format(). > > [h264 @ 0x40d3bc0] Reinit context to 960x720, pix_fmt: yuv420p > > [h264 @ 0x40d3bc0] nal_unit_type: 1(Coded slice of a non-IDR picture), > > nal_ref_idc: 1 > > Last message repeated 5 times > > [h264 @ 0x40d24c0] max_analyze_duration 5000000 reached at 5000000 > > microseconds st:0 > > [h264 @ 0x40d24c0] After avformat_find_stream_info() pos: 192512 bytes > > read:196608 seeks:0 frames:127 > > Input #0, h264, from 'sample.h264': > > Duration: N/A, bitrate: N/A > > Stream #0:0, 127, 1/1200000: Video: h264 (High), 1 reference > > frame, yuv420p(progressive, left), 960x720, 0/1, 25 fps, 25 tbr, 1200k > > tbn, 50 tbc > > Successfully opened the file. > > Parsing a group of options: output url > > rtmp://live-cdg.twitch.tv/app/live_toto socks=192.168.0.217:3128. > > Applying option c:v (codec name) with argument copy. > > Applying option c:a (codec name) with argument copy. > > Applying option f (force format) with argument flv. > > Successfully parsed a group of options. > > Opening an output file: rtmp://live-cdg.twitch.tv/app/live_toto > > socks=192.168.0.217:3128. > > [rtmp @ 0x40d5c80] No default whitelist set > > [rtmp @ 0x40d5c80] Detected librtmp style URL parameters, these aren't > > supported by the libavformat internal RTMP handler currently enabled. > > See the documentation for the correct way to pass parameters. > > [tcp @ 0x40d3580] No default whitelist set > > [tcp @ 0x40d3580] Original list of addresses: > > [tcp @ 0x40d3580] Address 52.223.195.194 port 1935 > > [tcp @ 0x40d3580] Address 52.223.195.236 port 1935 > > [tcp @ 0x40d3580] Address 52.223.195.16 port 1935 > > [tcp @ 0x40d3580] Address 52.223.195.205 port 1935 > > [tcp @ 0x40d3580] Address 52.223.195.25 port 1935 > > [tcp @ 0x40d3580] Address 52.223.195.28 port 1935 > > [tcp @ 0x40d3580] Address 52.223.195.146 port 1935 > > [tcp @ 0x40d3580] Address 52.223.195.95 port 1935 > > [tcp @ 0x40d3580] Address 52.223.195.9 port 1935 > > [tcp @ 0x40d3580] Address 52.223.195.211 port 1935 > > [tcp @ 0x40d3580] Address 52.223.195.119 port 1935 > > [tcp @ 0x40d3580] Address 52.223.195.169 port 1935 > > [tcp @ 0x40d3580] Interleaved list of addresses: > > [tcp @ 0x40d3580] Address 52.223.195.194 port 1935 > > [tcp @ 0x40d3580] Address 52.223.195.236 port 1935 > > [tcp @ 0x40d3580] Address 52.223.195.16 port 1935 > > [tcp @ 0x40d3580] Address 52.223.195.205 port 1935 > > [tcp @ 0x40d3580] Address 52.223.195.25 port 1935 > > [tcp @ 0x40d3580] Address 52.223.195.28 port 1935 > > [tcp @ 0x40d3580] Address 52.223.195.146 port 1935 > > [tcp @ 0x40d3580] Address 52.223.195.95 port 1935 > > [tcp @ 0x40d3580] Address 52.223.195.9 port 1935 > > [tcp @ 0x40d3580] Address 52.223.195.211 port 1935 > > [tcp @ 0x40d3580] Address 52.223.195.119 port 1935 > > [tcp @ 0x40d3580] Address 52.223.195.169 port 1935 > > [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.194 port 1935 > > [tcp @ 0x40d3580] Connection attempt to 52.223.195.194 port 1935 > > failed: Connection refused > > [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.236 port 1935 > > [tcp @ 0x40d3580] Connection attempt to 52.223.195.236 port 1935 > > failed: Connection refused > > [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.16 port 1935 > > [tcp @ 0x40d3580] Connection attempt to 52.223.195.16 port 1935 > > failed: Connection refused > > [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.205 port 1935 > > [tcp @ 0x40d3580] Connection attempt to 52.223.195.205 port 1935 > > failed: Connection refused > > [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.25 port 1935 > > [tcp @ 0x40d3580] Connection attempt to 52.223.195.25 port 1935 > > failed: Connection refused > > [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.28 port 1935 > > [tcp @ 0x40d3580] Connection attempt to 52.223.195.28 port 1935 > > failed: Connection refused > > [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.146 port 1935 > > [tcp @ 0x40d3580] Connection attempt to 52.223.195.146 port 1935 > > failed: Connection refused > > [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.95 port 1935 > > [tcp @ 0x40d3580] Connection attempt to 52.223.195.95 port 1935 > > failed: Connection refused > > [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.9 port 1935 > > [tcp @ 0x40d3580] Connection attempt to 52.223.195.9 port 1935 failed: > > Connection refused > > [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.211 port 1935 > > [tcp @ 0x40d3580] Connection attempt to 52.223.195.211 port 1935 > > failed: Connection refused > > [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.119 port 1935 > > [tcp @ 0x40d3580] Connection attempt to 52.223.195.119 port 1935 > > failed: Connection refused > > [tcp @ 0x40d3580] Starting connection attempt to 52.223.195.169 port 1935 > > [tcp @ 0x40d3580] Connection attempt to 52.223.195.169 port 1935 > > failed: Connection refused > > [tcp @ 0x40d3580] Connection to tcp://live-cdg.twitch.tv:1935 failed: > > Connection refused > > [rtmp @ 0x40d5c80] Cannot open connection tcp://live-cdg.twitch.tv:1935 > > rtmp://live-cdg.twitch.tv/app/live_toto socks=192.168.0.217:3128: > > Connection refused > > > > The message that bugs me is : "Detected librtmp style URL parameters, > > these aren't supported by the libavformat internal RTMP handler > > currently enabled. See the documentation for the correct way to pass > > parameters." > > I have not been able to find that documentation yet, just that: > > https://ffmpeg.org/ffmpeg.html#AVOptions > > > > Thanks. > take a look here > https://ffmpeg.org/ffmpeg-protocols.html#rtmp > > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". -- Bruno Verachten From lsbplsb at yahoo.com Mon Jun 29 23:22:59 2020 From: lsbplsb at yahoo.com (Leonardo) Date: Mon, 29 Jun 2020 20:22:59 +0000 (UTC) Subject: [FFmpeg-user] extract first 26 seconds not workings as expected In-Reply-To: References: <1220284426.4922245.1593369075345.ref@mail.yahoo.com> <1220284426.4922245.1593369075345@mail.yahoo.com> Message-ID: <1670420887.1690154.1593462179712@mail.yahoo.com> Hello Carl, > Please test current FFmpeg git head, if the issue is reproducible > provide an input sample. I tested with current git and the results were the same. As noticed by Moritz at the output of ffprobe $ ffprobe part1.mp4 ffprobe version N-98341-gcca982ee01 Copyright (c) 2007-2020 the FFmpeg developers   built with gcc 8 (Debian 8.3.0-6)   configuration: --toolchain=hardened --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared   libavutil      56. 55.100 / 56. 55.100   libavcodec     58. 93.100 / 58. 93.100   libavformat    58. 47.100 / 58. 47.100   libavdevice    58. 11.100 / 58. 11.100   libavfilter     7. 86.100 /  7. 86.100   libavresample   4.  0.  0 /  4.  0.  0   libswscale      5.  8.100 /  5.  8.100   libswresample   3.  8.100 /  3.  8.100   libpostproc    55.  8.100 / 55.  8.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'part1.mp4':   Metadata:     major_brand     : isom     minor_version   : 512     compatible_brands: isomiso2avc1mp41     encoder         : Lavf58.47.100   Duration: 00:00:13.54, start: 12.666016, bitrate: 316 kb/s     Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1366x768 [SAR 1:1 DAR 683:384], 316 kb/s, 24 fps, 24 tbr, 12288 tbn, 48 tbc (default)     Metadata:       handler_name    : VideoHandler the Duration and the start values are 13.54 and 12.66, respectively. It looks like that ffmpeg is not respecting "extract from 0 to 26" and instead doing something like "well, I will start at 12.6 and will stop at 26" Forcing with -copyinkf as suggested by Moritz, although the extracted part has, indeed, 26 seconds, there is only a "gray screen" from 0 to 12.6 and after that it plays well. The main.mp4 file plays normal. Kind regards, Leonardo _______________________________________________ ffmpeg-user mailing list ffmpeg-user at ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". From barsnick at gmx.net Mon Jun 29 23:26:00 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Mon, 29 Jun 2020 22:26:00 +0200 Subject: [FFmpeg-user] RTMP and proxy In-Reply-To: References: Message-ID: <20200629202600.GD5903@sunshine.barsnick.net> On Mon, Jun 29, 2020 at 19:23:25 +0200, Verachten Bruno wrote: > I'm trying to get ffmpeg to use a proxy. Here is my command: > ffmpeg -http_proxy "http://192.168.0.217:3128/" -i sample.h264 -c:v > copy -c:a copy -f flv "rtmp://live-cdg.twitch.tv/app/live_toto" > -loglevel debug > Option http_proxy not found. > > Why do I get "option http_proxy not found"? Because you specified it as an option for the input file. I assume you will get the same error, though, when you "correctly" place the option before your output URI, because RTMP does not support this option either. As far as I understand, RTMP is nothing like HTTP, so an HTTP proxy would be of no use. Apparently, RTMPT is the protocol that was made for encapsulating RTMP in HTTP, but then twitch would have to support that too, in order for it to work for you. (If you are in an environment with an HTTP proxy but no SOCKS proxy, and no direct internet access, then this is exactly the sort of thing they are trying to prevent you doing.) Cheers, Moritz From barsnick at gmx.net Mon Jun 29 23:28:44 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Mon, 29 Jun 2020 22:28:44 +0200 Subject: [FFmpeg-user] write output of find_rect to a file? In-Reply-To: References: <20200629143650.GA5903@sunshine.barsnick.net> Message-ID: <20200629202844.GE5903@sunshine.barsnick.net> On Mon, Jun 29, 2020 at 17:35:50 +0200, Michael Koch wrote: > Very good, that's exactly what I need. I did already make some tests > with -show_entries before I posted this question. But I didn't know the > names of the variables "lavfi.rect.x" and "lavfi.rect.y". Are these > variables documented somewhere? Good point. It's not in the documentation, I got this from the source. Apparently, the filter was designed mainly for use with another filter. > Is there also a variable for the quality of the find_rect result, I > mean the number that's compared against the detection threshold? No, that value is not exposed. (You could try modifying the source yourself, or, if you make a very good point about it, make a feature request.) Moritz From ceffmpeg at gmail.com Tue Jun 30 00:39:55 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Mon, 29 Jun 2020 23:39:55 +0200 Subject: [FFmpeg-user] Encoding Warnings In-Reply-To: <5EF9FE34.1080301@charter.net> References: <1593201368667-0.post@n4.nabble.com> <5EF9FE34.1080301@charter.net> Message-ID: Am Mo., 29. Juni 2020 um 16:44 Uhr schrieb Jim : > >> The two lines that are concerning to me are: > >> > >> 'Guessed Channel Layout for Input Stream #1.0 : stereo' > >> > >> Of course it's stereo - I jump dumped it to a 2-channel wave in the step 2! > >> :) > >> I'm guessing that I can safely ignore this one > > > > Obviously. > > (The wav standard does not require writing the channel layout for some > > mono and stereo files and we don't do it to maintain compatibility with > > ancient software that fails if the information is present.) > > Interesting that this warning is not present in the windows version of > ffmpeg yet is on Linux. Any idea why that would be? Even more You do realize that FFmpeg offers neither a "windows version" nor a "Linux" version but only source code? > interesting is your explanation... out of curiosity, what ancient > software are you referring to? (Not really important - just curious.) I wanted to answer "I don't remember" but I just realized that the Home Theatre System "Sony DAV-DZ340K" is probably among them. Carl Eugen From adamsmith79 at icloud.com Tue Jun 30 01:01:53 2020 From: adamsmith79 at icloud.com (adam smith) Date: Mon, 29 Jun 2020 23:01:53 +0100 Subject: [FFmpeg-user] Encoding Warnings In-Reply-To: <5EF9FE34.1080301@charter.net> References: <1593201368667-0.post@n4.nabble.com> <5EF9FE34.1080301@charter.net> Message-ID: <269E23CC-4B91-4478-B92F-1FFBEF51AAB3@icloud.com> > On 29 Jun 2020, at 15:44, Jim wrote: > > (While this doesn't equalize the volume or eliminate all volume-related inconsistencies, it does make the loudest part of each video the same and is the best solution I've found; I think you would like the loudnorm filter that incorporates ebur-128 adjustments. It can run as two pass or one pass (useful for live streaming) and adjusts the audio levels to maintain the specified levels. An example would be -af loudnorm=I=-23:TP=-1.0:LRA=11 This sets the average loudness at -23LUFS (this is pretty standard for UK TV) the True Peak value as -1.0dBfs and the loudness range shows the distribution of loudness throughout the programme. LUFS is great because it is based on perceptual loudness and not just sample values. Have fun Adam From lsbplsb at yahoo.com Tue Jun 30 04:46:48 2020 From: lsbplsb at yahoo.com (Leonardo) Date: Tue, 30 Jun 2020 01:46:48 +0000 (UTC) Subject: [FFmpeg-user] =?utf-8?q?=28no_subject=29?= References: <1130253567.26442.1593481608301.ref@mail.yahoo.com> Message-ID: <1130253567.26442.1593481608301@mail.yahoo.com> Hello, I'm trying to use ffmpeg to record the computer screen and also audio from microfone. Googling I found a lot of "how to". Although I can now record, I do have a few questions (3): 1) Using command $ ffmpeg -thread_queue_size 512 -f alsa -ac 2 -ar 44100 -i hw:0,0 -video_size 1024x768 -probesize 10M -framerate 30 -thread_queue_size 512 -f x11grab -i :0.0 -c:a aac -c:v libx264 -vf "format=yuv420p" output.mp4 ffmpeg version N-98341-gcca982ee01 Copyright (c) 2000-2020 the FFmpeg developers   built with gcc 8 (Debian 8.3.0-6)   configuration: --toolchain=hardened --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared   libavutil      56. 55.100 / 56. 55.100   libavcodec     58. 93.100 / 58. 93.100   libavformat    58. 47.100 / 58. 47.100   libavdevice    58. 11.100 / 58. 11.100   libavfilter     7. 86.100 /  7. 86.100   libavresample   4.  0.  0 /  4.  0.  0   libswscale      5.  8.100 /  5.  8.100   libswresample   3.  8.100 /  3.  8.100   libpostproc    55.  8.100 / 55.  8.100 Guessed Channel Layout for Input Stream #0.0 : stereo Input #0, alsa, from 'hw:0,0':   Duration: N/A, start: 1593480535.223265, bitrate: 1411 kb/s     Stream #0:0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s Input #1, x11grab, from ':0.0':   Duration: N/A, start: 1593480535.257288, bitrate: 754974 kb/s     Stream #1:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1024x768, 754974 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc Stream mapping:   Stream #1:0 -> #0:0 (rawvideo (native) -> h264 (libx264))   Stream #0:0 -> #0:1 (pcm_s16le (native) -> aac (native)) Press [q] to stop, [?] for help [libx264 @ 0x55a51bf2fb00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX [libx264 @ 0x55a51bf2fb00] profile High, level 3.1 [libx264 @ 0x55a51bf2fb00] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to 'output.mp4':   Metadata:     encoder         : Lavf58.47.100     Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 1024x768, q=-1--1, 30 fps, 15360 tbn, 30 tbc     Metadata:       encoder         : Lavc58.93.100 libx264     Side data:       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A     Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s     Metadata:       encoder         : Lavc58.93.100 aac frame=   19 fps=0.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   frame=   34 fps= 34 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   frame=   49 fps= 32 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   frame=   64 fps= 32 q=29.0 size=       0kB time=00:00:00.39 bitrate=   1.0kbits/frame=   79 fps= 31 q=29.0 size=       0kB time=00:00:00.90 bitrate=   0.4kbits/frame=   95 fps= 31 q=29.0 size=       0kB time=00:00:01.40 bitrate=   0.3kbits/frame=  110 fps= 31 q=29.0 size=       0kB time=00:00:01.90 bitrate=   0.2kbits/frame=  125 fps= 31 q=29.0 size=       0kB time=00:00:02.40 bitrate=   0.2kbits/frame=  140 fps= 31 q=29.0 size=       0kB time=00:00:02.92 bitrate=   0.1kbits/frame=  156 fps= 31 q=29.0 size=       0kB time=00:00:03.43 bitrate=   0.1kbits/frame=  162 fps= 28 q=-1.0 Lsize=     208kB time=00:00:05.30 bitrate= 321.1kbits/s speed=0.93x     video:143kB audio:59kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 3.221925% [libx264 @ 0x55a51bf2fb00] frame I:1     Avg QP:18.42  size: 90858 [libx264 @ 0x55a51bf2fb00] frame P:41    Avg QP:13.42  size:  1010 [libx264 @ 0x55a51bf2fb00] frame B:120   Avg QP:18.59  size:   108 [libx264 @ 0x55a51bf2fb00] consecutive B-frames:  1.2%  0.0%  0.0% 98.8% [libx264 @ 0x55a51bf2fb00] mb I  I16..4: 16.9% 30.2% 53.0% [libx264 @ 0x55a51bf2fb00] mb P  I16..4:  0.1%  0.1%  0.2%  P16..4:  0.7%  0.2%  0.2%  0.0%  0.0%    skip:98.5% [libx264 @ 0x55a51bf2fb00] mb B  I16..4:  0.3%  0.0%  0.0%  B16..8:  2.0%  0.0%  0.0%  direct: 0.0%  skip:97.7%  L0:55.2% L1:44.8% BI: 0.0% [libx264 @ 0x55a51bf2fb00] 8x8 transform intra:24.1% inter:12.2% [libx264 @ 0x55a51bf2fb00] coded y,uvDC,uvAC intra: 37.0% 0.2% 0.0% inter: 0.1% 0.0% 0.0% [libx264 @ 0x55a51bf2fb00] i16 v,h,dc,p: 55% 36%  3%  5% [libx264 @ 0x55a51bf2fb00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 33% 32% 21%  1%  4%  2%  4%  0%  4% [libx264 @ 0x55a51bf2fb00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 42% 27%  9%  3%  4%  4%  4%  4%  4% [libx264 @ 0x55a51bf2fb00] i8c dc,h,v,p: 97%  3%  0%  0% [libx264 @ 0x55a51bf2fb00] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 0x55a51bf2fb00] ref P L0: 87.1%  5.6%  5.9%  1.5% [libx264 @ 0x55a51bf2fb00] ref B L0: 22.1% 77.3%  0.6% [libx264 @ 0x55a51bf2fb00] ref B L1: 95.8%  4.2% [libx264 @ 0x55a51bf2fb00] kb/s:215.20 [aac @ 0x55a51bf31200] Qavg: 214.820 Exiting normally, received signal 2. last 2 seconds of output.mp4 has no sound at all. Similar issue reported at https://trac.ffmpeg.org/ticket/5900 To diminish the issue, I added "-preset ultrafast" to the above command and now the only last 0.2s has no sound (fine with this) Question: is there a reason for this "sound issue" when ultrafast is not used? 2) Is this the correct way to use Hardware Aceleration? $ ffmpeg -thread_queue_size 512 -f alsa -ac 2 -ar 44100 -i hw:0,0 -vaapi_device /dev/dri/renderD128 -video_size 1024x768 -probesize 10M -framerate 30 -thread_queue_size 512 -f x11grab -i :0.0 -c:a aac -c:v h264_vaapi -vf "format=nv12,hwupload" output_hw.mp4 ffmpeg version N-98341-gcca982ee01 Copyright (c) 2000-2020 the FFmpeg developers   built with gcc 8 (Debian 8.3.0-6)   configuration: --toolchain=hardened --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared   libavutil      56. 55.100 / 56. 55.100   libavcodec     58. 93.100 / 58. 93.100   libavformat    58. 47.100 / 58. 47.100   libavdevice    58. 11.100 / 58. 11.100   libavfilter     7. 86.100 /  7. 86.100   libavresample   4.  0.  0 /  4.  0.  0   libswscale      5.  8.100 /  5.  8.100   libswresample   3.  8.100 /  3.  8.100   libpostproc    55.  8.100 / 55.  8.100 Guessed Channel Layout for Input Stream #0.0 : stereo Input #0, alsa, from 'hw:0,0':   Duration: N/A, start: 1593480832.865073, bitrate: 1411 kb/s     Stream #0:0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s Input #1, x11grab, from ':0.0':   Duration: N/A, start: 1593480832.898990, bitrate: 754974 kb/s     Stream #1:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1024x768, 754974 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc Stream mapping:   Stream #1:0 -> #0:0 (rawvideo (native) -> h264 (h264_vaapi))   Stream #0:0 -> #0:1 (pcm_s16le (native) -> aac (native)) Press [q] to stop, [?] for help [h264_vaapi @ 0x55b46c504a80] No quality level set; using default (20). Output #0, mp4, to 'output_hw.mp4':   Metadata:     encoder         : Lavf58.47.100     Stream #0:0: Video: h264 (h264_vaapi) (High) (avc1 / 0x31637661), vaapi_vld(progressive), 1024x768, q=-1--1, 30 fps, 15360 tbn, 30 tbc     Metadata:       encoder         : Lavc58.93.100 h264_vaapi     Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s     Metadata:       encoder         : Lavc58.93.100 aac frame=   19 fps=0.0 q=-0.0 size=       0kB time=00:00:00.51 bitrate=   0.8kbits/frame=   34 fps= 33 q=-0.0 size=       0kB time=00:00:01.00 bitrate=   0.4kbits/frame=   49 fps= 32 q=-0.0 size=     256kB time=00:00:01.53 bitrate=1368.7kbits/frame=   65 fps= 32 q=-0.0 size=     256kB time=00:00:02.04 bitrate=1026.5kbits/frame=   80 fps= 32 q=-0.0 size=     256kB time=00:00:02.53 bitrate= 828.0kbits/frame=   95 fps= 31 q=-0.0 size=     256kB time=00:00:03.04 bitrate= 689.6kbits/frame=  110 fps= 31 q=-0.0 size=     256kB time=00:00:03.53 bitrate= 593.6kbits/frame=  125 fps= 31 q=-0.0 size=     512kB time=00:00:04.04 bitrate=1038.2kbits/frame=  140 fps= 31 q=-0.0 size=     512kB time=00:00:04.57 bitrate= 917.0kbits/frame=  155 fps= 31 q=-0.0 size=     512kB time=00:00:05.06 bitrate= 828.7kbits/frame=  171 fps= 31 q=-0.0 size=     768kB time=00:00:05.57 bitrate=1129.0kbits/frame=  186 fps= 31 q=-0.0 size=     768kB time=00:00:06.06 bitrate=1037.1kbits/frame=  201 fps= 30 q=-0.0 size=     768kB time=00:00:06.59 bitrate= 954.1kbits/frame=  217 fps= 31 q=-0.0 size=     768kB time=00:00:07.10 bitrate= 885.5kbits/frame=  232 fps= 31 q=-0.0 size=     768kB time=00:00:07.60 bitrate= 827.9kbits/frame=  237 fps= 30 q=-0.0 Lsize=    1029kB time=00:00:07.83 bitrate=1076.3kbits/s speed=   1x     video:896kB audio:123kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.009003% [aac @ 0x55b46c505bc0] Qavg: 214.335 Exiting normally, received signal 2. 3) Are those commands above "correct"? I mean, is there something "wrong" or can it be improved to reduce file size, improve video quality or sound quality? I know that ffmpeg has tons of options and "improve" is not a clear question. Kind regards, Leonardo From lsbplsb at yahoo.com Tue Jun 30 04:47:55 2020 From: lsbplsb at yahoo.com (Leonardo) Date: Tue, 30 Jun 2020 01:47:55 +0000 (UTC) Subject: [FFmpeg-user] last 2 seconds are cut recording screen - hardware aceleration References: <513715720.33621.1593481675748.ref@mail.yahoo.com> Message-ID: <513715720.33621.1593481675748@mail.yahoo.com> Hello, I'm trying to use ffmpeg to record the computer screen and also audio from microfone. Googling I found a lot of "how to". Although I can now record, I do have a few questions (3): 1) Using command $ ffmpeg -thread_queue_size 512 -f alsa -ac 2 -ar 44100 -i hw:0,0 -video_size 1024x768 -probesize 10M -framerate 30 -thread_queue_size 512 -f x11grab -i :0.0 -c:a aac -c:v libx264 -vf "format=yuv420p" output.mp4 ffmpeg version N-98341-gcca982ee01 Copyright (c) 2000-2020 the FFmpeg developers   built with gcc 8 (Debian 8.3.0-6)   configuration: --toolchain=hardened --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared   libavutil      56. 55.100 / 56. 55.100   libavcodec     58. 93.100 / 58. 93.100   libavformat    58. 47.100 / 58. 47.100   libavdevice    58. 11.100 / 58. 11.100   libavfilter     7. 86.100 /  7. 86.100   libavresample   4.  0.  0 /  4.  0.  0   libswscale      5.  8.100 /  5.  8.100   libswresample   3.  8.100 /  3.  8.100   libpostproc    55.  8.100 / 55.  8.100 Guessed Channel Layout for Input Stream #0.0 : stereo Input #0, alsa, from 'hw:0,0':   Duration: N/A, start: 1593480535.223265, bitrate: 1411 kb/s     Stream #0:0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s Input #1, x11grab, from ':0.0':   Duration: N/A, start: 1593480535.257288, bitrate: 754974 kb/s     Stream #1:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1024x768, 754974 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc Stream mapping:   Stream #1:0 -> #0:0 (rawvideo (native) -> h264 (libx264))   Stream #0:0 -> #0:1 (pcm_s16le (native) -> aac (native)) Press [q] to stop, [?] for help [libx264 @ 0x55a51bf2fb00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX [libx264 @ 0x55a51bf2fb00] profile High, level 3.1 [libx264 @ 0x55a51bf2fb00] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to 'output.mp4':   Metadata:     encoder         : Lavf58.47.100     Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 1024x768, q=-1--1, 30 fps, 15360 tbn, 30 tbc     Metadata:       encoder         : Lavc58.93.100 libx264     Side data:       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A     Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s     Metadata:       encoder         : Lavc58.93.100 aac frame=   19 fps=0.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   frame=   34 fps= 34 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   frame=   49 fps= 32 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   frame=   64 fps= 32 q=29.0 size=       0kB time=00:00:00.39 bitrate=   1.0kbits/frame=   79 fps= 31 q=29.0 size=       0kB time=00:00:00.90 bitrate=   0.4kbits/frame=   95 fps= 31 q=29.0 size=       0kB time=00:00:01.40 bitrate=   0.3kbits/frame=  110 fps= 31 q=29.0 size=       0kB time=00:00:01.90 bitrate=   0.2kbits/frame=  125 fps= 31 q=29.0 size=       0kB time=00:00:02.40 bitrate=   0.2kbits/frame=  140 fps= 31 q=29.0 size=       0kB time=00:00:02.92 bitrate=   0.1kbits/frame=  156 fps= 31 q=29.0 size=       0kB time=00:00:03.43 bitrate=   0.1kbits/frame=  162 fps= 28 q=-1.0 Lsize=     208kB time=00:00:05.30 bitrate= 321.1kbits/s speed=0.93x     video:143kB audio:59kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 3.221925% [libx264 @ 0x55a51bf2fb00] frame I:1     Avg QP:18.42  size: 90858 [libx264 @ 0x55a51bf2fb00] frame P:41    Avg QP:13.42  size:  1010 [libx264 @ 0x55a51bf2fb00] frame B:120   Avg QP:18.59  size:   108 [libx264 @ 0x55a51bf2fb00] consecutive B-frames:  1.2%  0.0%  0.0% 98.8% [libx264 @ 0x55a51bf2fb00] mb I  I16..4: 16.9% 30.2% 53.0% [libx264 @ 0x55a51bf2fb00] mb P  I16..4:  0.1%  0.1%  0.2%  P16..4:  0.7%  0.2%  0.2%  0.0%  0.0%    skip:98.5% [libx264 @ 0x55a51bf2fb00] mb B  I16..4:  0.3%  0.0%  0.0%  B16..8:  2.0%  0.0%  0.0%  direct: 0.0%  skip:97.7%  L0:55.2% L1:44.8% BI: 0.0% [libx264 @ 0x55a51bf2fb00] 8x8 transform intra:24.1% inter:12.2% [libx264 @ 0x55a51bf2fb00] coded y,uvDC,uvAC intra: 37.0% 0.2% 0.0% inter: 0.1% 0.0% 0.0% [libx264 @ 0x55a51bf2fb00] i16 v,h,dc,p: 55% 36%  3%  5% [libx264 @ 0x55a51bf2fb00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 33% 32% 21%  1%  4%  2%  4%  0%  4% [libx264 @ 0x55a51bf2fb00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 42% 27%  9%  3%  4%  4%  4%  4%  4% [libx264 @ 0x55a51bf2fb00] i8c dc,h,v,p: 97%  3%  0%  0% [libx264 @ 0x55a51bf2fb00] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 0x55a51bf2fb00] ref P L0: 87.1%  5.6%  5.9%  1.5% [libx264 @ 0x55a51bf2fb00] ref B L0: 22.1% 77.3%  0.6% [libx264 @ 0x55a51bf2fb00] ref B L1: 95.8%  4.2% [libx264 @ 0x55a51bf2fb00] kb/s:215.20 [aac @ 0x55a51bf31200] Qavg: 214.820 Exiting normally, received signal 2. last 2 seconds of output.mp4 has no sound at all. Similar issue reported at #5900 (alsa/pulse grab cuts last 2 seconds of audio) – FFmpeg | | | | | | | | | | | #5900 (alsa/pulse grab cuts last 2 seconds of audio) – FFmpeg | | | To diminish the issue, I added "-preset ultrafast" to the above command and now the only last 0.2s has no sound (fine with this) Question: is there a reason for this "sound issue" when ultrafast is not used? 2) Is this the correct way to use Hardware Aceleration? $ ffmpeg -thread_queue_size 512 -f alsa -ac 2 -ar 44100 -i hw:0,0 -vaapi_device /dev/dri/renderD128 -video_size 1024x768 -probesize 10M -framerate 30 -thread_queue_size 512 -f x11grab -i :0.0 -c:a aac -c:v h264_vaapi -vf "format=nv12,hwupload" output_hw.mp4 ffmpeg version N-98341-gcca982ee01 Copyright (c) 2000-2020 the FFmpeg developers   built with gcc 8 (Debian 8.3.0-6)   configuration: --toolchain=hardened --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared   libavutil      56. 55.100 / 56. 55.100   libavcodec     58. 93.100 / 58. 93.100   libavformat    58. 47.100 / 58. 47.100   libavdevice    58. 11.100 / 58. 11.100   libavfilter     7. 86.100 /  7. 86.100   libavresample   4.  0.  0 /  4.  0.  0   libswscale      5.  8.100 /  5.  8.100   libswresample   3.  8.100 /  3.  8.100   libpostproc    55.  8.100 / 55.  8.100 Guessed Channel Layout for Input Stream #0.0 : stereo Input #0, alsa, from 'hw:0,0':   Duration: N/A, start: 1593480832.865073, bitrate: 1411 kb/s     Stream #0:0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s Input #1, x11grab, from ':0.0':   Duration: N/A, start: 1593480832.898990, bitrate: 754974 kb/s     Stream #1:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1024x768, 754974 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc Stream mapping:   Stream #1:0 -> #0:0 (rawvideo (native) -> h264 (h264_vaapi))   Stream #0:0 -> #0:1 (pcm_s16le (native) -> aac (native)) Press [q] to stop, [?] for help [h264_vaapi @ 0x55b46c504a80] No quality level set; using default (20). Output #0, mp4, to 'output_hw.mp4':   Metadata:     encoder         : Lavf58.47.100     Stream #0:0: Video: h264 (h264_vaapi) (High) (avc1 / 0x31637661), vaapi_vld(progressive), 1024x768, q=-1--1, 30 fps, 15360 tbn, 30 tbc     Metadata:       encoder         : Lavc58.93.100 h264_vaapi     Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s     Metadata:       encoder         : Lavc58.93.100 aac frame=   19 fps=0.0 q=-0.0 size=       0kB time=00:00:00.51 bitrate=   0.8kbits/frame=   34 fps= 33 q=-0.0 size=       0kB time=00:00:01.00 bitrate=   0.4kbits/frame=   49 fps= 32 q=-0.0 size=     256kB time=00:00:01.53 bitrate=1368.7kbits/frame=   65 fps= 32 q=-0.0 size=     256kB time=00:00:02.04 bitrate=1026.5kbits/frame=   80 fps= 32 q=-0.0 size=     256kB time=00:00:02.53 bitrate= 828.0kbits/frame=   95 fps= 31 q=-0.0 size=     256kB time=00:00:03.04 bitrate= 689.6kbits/frame=  110 fps= 31 q=-0.0 size=     256kB time=00:00:03.53 bitrate= 593.6kbits/frame=  125 fps= 31 q=-0.0 size=     512kB time=00:00:04.04 bitrate=1038.2kbits/frame=  140 fps= 31 q=-0.0 size=     512kB time=00:00:04.57 bitrate= 917.0kbits/frame=  155 fps= 31 q=-0.0 size=     512kB time=00:00:05.06 bitrate= 828.7kbits/frame=  171 fps= 31 q=-0.0 size=     768kB time=00:00:05.57 bitrate=1129.0kbits/frame=  186 fps= 31 q=-0.0 size=     768kB time=00:00:06.06 bitrate=1037.1kbits/frame=  201 fps= 30 q=-0.0 size=     768kB time=00:00:06.59 bitrate= 954.1kbits/frame=  217 fps= 31 q=-0.0 size=     768kB time=00:00:07.10 bitrate= 885.5kbits/frame=  232 fps= 31 q=-0.0 size=     768kB time=00:00:07.60 bitrate= 827.9kbits/frame=  237 fps= 30 q=-0.0 Lsize=    1029kB time=00:00:07.83 bitrate=1076.3kbits/s speed=   1x     video:896kB audio:123kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.009003% [aac @ 0x55b46c505bc0] Qavg: 214.335 Exiting normally, received signal 2. 3) Are those commands above "correct"? I mean, is there something "wrong" or can it be improved to reduce file size, improve video quality or sound quality? I know that ffmpeg has tons of options and "improve" is not a clear question. Kind regards, Leonardo From gounthar at gmail.com Tue Jun 30 10:13:51 2020 From: gounthar at gmail.com (Verachten Bruno) Date: Tue, 30 Jun 2020 09:13:51 +0200 Subject: [FFmpeg-user] RTMP and proxy In-Reply-To: <20200629202600.GD5903@sunshine.barsnick.net> References: <20200629202600.GD5903@sunshine.barsnick.net> Message-ID: Thanks a lot Moritz, I figured the option placement later on, I thought it applied to the whole command. And you're right, all is done so that I can't stream from inside the company to outside the company... except the company now wants to stream outside. I will try to get a SOCKS proxy installed... and will go on with my redsocks2 experiments (it worked on one machine) with the CONNECT proxy command. Best regards, On Mon, Jun 29, 2020 at 10:26 PM Moritz Barsnick wrote: > > On Mon, Jun 29, 2020 at 19:23:25 +0200, Verachten Bruno wrote: > > I'm trying to get ffmpeg to use a proxy. Here is my command: > > ffmpeg -http_proxy "http://192.168.0.217:3128/" -i sample.h264 -c:v > > copy -c:a copy -f flv "rtmp://live-cdg.twitch.tv/app/live_toto" > > -loglevel debug > > Option http_proxy not found. > > > > Why do I get "option http_proxy not found"? > > Because you specified it as an option for the input file. > > I assume you will get the same error, though, when you "correctly" > place the option before your output URI, because RTMP does not support > this option either. As far as I understand, RTMP is nothing like HTTP, > so an HTTP proxy would be of no use. > > Apparently, RTMPT is the protocol that was made for encapsulating RTMP > in HTTP, but then twitch would have to support that too, in order for > it to work for you. > > (If you are in an environment with an HTTP proxy but no SOCKS proxy, > and no direct internet access, then this is exactly the sort of thing > they are trying to prevent you doing.) > > Cheers, > Moritz > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". -- Bruno Verachten From astroelectronic at t-online.de Tue Jun 30 10:55:49 2020 From: astroelectronic at t-online.de (Michael Koch) Date: Tue, 30 Jun 2020 09:55:49 +0200 Subject: [FFmpeg-user] write output of find_rect to a file? In-Reply-To: <20200629202844.GE5903@sunshine.barsnick.net> References: <20200629143650.GA5903@sunshine.barsnick.net> <20200629202844.GE5903@sunshine.barsnick.net> Message-ID: <0fe06047-159b-d635-07a1-421de2ddbdc8@t-online.de> Am 29.06.2020 um 22:28 schrieb Moritz Barsnick: > On Mon, Jun 29, 2020 at 17:35:50 +0200, Michael Koch wrote: >> Very good, that's exactly what I need. I did already make some tests >> with -show_entries before I posted this question. But I didn't know the >> names of the variables "lavfi.rect.x" and "lavfi.rect.y". Are these >> variables documented somewhere? > Good point. It's not in the documentation, I got this from the source. > Apparently, the filter was designed mainly for use with another filter. > >> Is there also a variable for the quality of the find_rect result, I >> mean the number that's compared against the detection threshold? > No, that value is not exposed. > > (You could try modifying the source yourself, or, if you make a very > good point about it, make a feature request.) Unfortunately I can't compile ffmpeg myself on my Windows system. Ticket 8766   (I've also added some other things that are missing in the documentation) It's important to also have the "best_score" value to the log file, because it contains valuable information about how reliable the x,y coordinates are. Michael From tomasparks.ts at gmail.com Tue Jun 30 12:17:33 2020 From: tomasparks.ts at gmail.com (Tom Sparks) Date: Tue, 30 Jun 2020 19:17:33 +1000 Subject: [FFmpeg-user] last 2 seconds are cut recording screen - hardware aceleration In-Reply-To: <513715720.33621.1593481675748@mail.yahoo.com> References: <513715720.33621.1593481675748.ref@mail.yahoo.com> <513715720.33621.1593481675748@mail.yahoo.com> Message-ID: On 30/06/2020, Leonardo via ffmpeg-user wrote: > Hello, > > I'm trying to use ffmpeg to record the computer screen and also audio from > microfone. Googling I found a lot of "how to". Although I can now record, I > do have a few questions (3): > > 1) Using command > > $ ffmpeg -thread_queue_size 512 -f alsa -ac 2 -ar 44100 -i hw:0,0 > -video_size 1024x768 -probesize 10M -framerate 30 -thread_queue_size 512 -f > x11grab -i :0.0 -c:a aac -c:v libx264 -vf "format=yuv420p" output.mp4 > 3) Are those commands above "correct"? I mean, is there something "wrong" or > can it be improved to reduce file size, improve video quality or sound > quality? I know that ffmpeg has tons of options and "improve" is not a clear > question. For x264 compressed video use -crf 17see for other options https://trac.ffmpeg.org/wiki/Encode/H.264 For aac audio compression use -b:a 192k for the bitrate see for other options https://trac.ffmpeg.org/wiki/Encode/AAC $ ffmpeg -thread_queue_size 512 -f alsa -ac 2 -ar 44100 -i hw:0,0 -video_size 1024x768 -probesize 10M -framerate 30 -thread_queue_size 512 -f x11grab -i :0.0 -c:a aac -b:a 192k -c:v libx264 -crf 17 -vf "format=yuv420p" output.mp4 From lsbplsb at yahoo.com Tue Jun 30 15:33:11 2020 From: lsbplsb at yahoo.com (Leonardo) Date: Tue, 30 Jun 2020 12:33:11 +0000 (UTC) Subject: [FFmpeg-user] last 2 seconds are cut recording screen - hardware aceleration In-Reply-To: References: <513715720.33621.1593481675748.ref@mail.yahoo.com> <513715720.33621.1593481675748@mail.yahoo.com> Message-ID: <382293112.230716.1593520391119@mail.yahoo.com> Hello, > For x264 compressed video use -crf 17see for other options > https://trac.ffmpeg.org/wiki/Encode/H.264 > For aac audio compression use -b:a 192k for the bitrate see for other > options https://trac.ffmpeg.org/wiki/Encode/AAC Thank you Kind regards, Leonardo From Ruler2112 at charter.net Tue Jun 30 16:30:51 2020 From: Ruler2112 at charter.net (Jim) Date: Tue, 30 Jun 2020 09:30:51 -0400 Subject: [FFmpeg-user] Encoding Warnings In-Reply-To: References: <1593201368667-0.post@n4.nabble.com> <5EF9FE34.1080301@charter.net> Message-ID: <5EFB3E8B.90503@charter.net> On 06/29/20 17:39, Carl Eugen Hoyos wrote: > Interesting that this warning is not present in the windows version of > ffmpeg yet is on Linux. Any idea why that would be? Even more > You do realize that FFmpeg offers neither a "windows version" nor > a "Linux" version but only source code? > I absolutely do understand that Carl. I am sorry - should have phrased it differently. 'Windows version' = the older version that I had running on the computer that recently died which ran the windows xp professional operating system, the full version of which was reported in my original post: ffmpeg version N-78758-g5156578 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 5.3.0 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib libavutil 55. 19.100 / 55. 19.100 libavcodec 57. 27.100 / 57. 27.100 libavformat 57. 26.100 / 57. 26.100 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 37.100 / 6. 37.100 libswscale 4. 0.100 / 4. 0.100 libswresample 2. 0.101 / 2. 0.101 libpostproc 54. 0.100 / 54. 0.100 When I said 'Linux version', I was referring to the newer version I am running on the Linux machine: ffmpeg version 4.3-statichttps://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2020 the FFmpeg developers built with gcc 8 (Debian 8.3.0-6) configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 / 58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 / 3. 7.100 libpostproc 55. 7.100 / 55. 7.100 What I should have said was: "Interesting that this warning is not present in ffmpeg version N-78758-g5156578 running on a windows xp operating system yet is on ffmpeg version 4.3-static running on Ubuntu Linux 20.04, each with the above reported compilation options & versions of the related libraries, when operating on identical files." I apologize - did not realize that using shorthand as I did would cause confusion. I've no idea how N-78758-g5156578 compares with 4.3-static as far as age goes, other than it's older because I've been running it for years. (And this is assuming it's not something to do with the underlying operating system and not ffmpeg itself.) I am curious as to why the older version doesn't issue a warning that the newer version does, but it's not important either. Jim From Ruler2112 at charter.net Tue Jun 30 16:41:35 2020 From: Ruler2112 at charter.net (Jim) Date: Tue, 30 Jun 2020 09:41:35 -0400 Subject: [FFmpeg-user] Encoding Warnings In-Reply-To: <20200629151851.GB5903@sunshine.barsnick.net> References: <1593201368667-0.post@n4.nabble.com> <5EF9FE34.1080301@charter.net> <20200629151851.GB5903@sunshine.barsnick.net> Message-ID: <5EFB410F.2070903@charter.net> On 06/29/20 11:18, Moritz Barsnick wrote: > On Mon, Jun 29, 2020 at 10:44:04 -0400, Jim wrote: >> AFAIK, ffmpeg does not have the ability to analyze the volume of every >> sample throughout an audio file, find the greatest amplitude, calculate >> the adjustment needed to make the loudest part of the file the maximum, > It does. > >> and then apply that scaled volume adjustment to the entire file. > This makes this a two-pass operation, which your external tool probably > also does. ffmpeg can analyze first: > > $ ffmpeg -i INPUT -map 0:a -af volumedetect -f null - > > and will find the absolute maximum of the first audio channel. Take the > max value from the log (something like "max_volume: -18.1 dB"[*]), and > use that value for an additionally inserted "volume" audio filter in > your conversion. > > $ ffmpeg -i INPUT [...] -af volume="18.1 dB",otherfilters OUTPUT > > You thus only have an additional input analysis step. > > [*] Documentation says this will not cause any clipping, though I don't > know what the behaviour is, if the volume is massively different across > channels. I *believe* the maximum is safe to use (while the average is > also an average across channels, by some kind of mixdown). > >> same question in my searching for a solution to this same message - this >> is the first time I've read this. > (I personally find this confusing as well.) > >> (Assuming I don't run into anything weird when processing different >> video formats in the future of course. ;) ) I'm happy, happy, happy >> about that! :) :) :) > We like happy people. :-) > > Cheers, > Moritz > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". > On 29 Jun 2020, at 15:44, Jim wrote: > > (While this doesn't equalize the volume or eliminate all volume-related inconsistencies, it does make the loudest part of each video the same and is the best solution I've found; I think you would like the loudnorm filter that incorporates ebur-128 adjustments. It can run as two pass or one pass (useful for live streaming) and adjusts the audio levels to maintain the specified levels. An example would be -af loudnorm=I=-23:TP=-1.0:LRA=11 This sets the average loudness at -23LUFS (this is pretty standard for UK TV) the True Peak value as -1.0dBfs and the loudness range shows the distribution of loudness throughout the programme. LUFS is great because it is based on perceptual loudness and not just sample values. Have fun Adam I would like to say that the progress this project has made since I initially wrote this script is absolutely amazing! When I first wrote my processing script, I wanted to simply down-sample the audio from n channels to stereo and transcode to MP3 - no volume manipulation at all. (The DVR I had at the time would totally freak if I threw audio at it with more than 2 channels.) There were many people complaining about it at the time, but no real solutions. I had to use a 2-step process - dump to stereo wave and then encode to MP3 - because ffmpeg refused to reduce the number of channels in an audio stream. (Having to do this 2-step process combined with my continual frustration with the volume of various files is what led me to work out the maximization of the volume throughout each file.) Now, ffmpeg has the ability to do everything itself! I know it's been several years, but still... excellent work guys - very impressive. :) Jim From simon at dancingcloudservices.com Tue Jun 30 19:21:52 2020 From: simon at dancingcloudservices.com (Simon Roberts) Date: Tue, 30 Jun 2020 10:21:52 -0600 Subject: [FFmpeg-user] Low CPU HQ format for local streaming? Message-ID: Hi, I'm looking to monitor the output of an ffmpeg capture, and am investigating local streaming from ffmpeg to ffplay. The following command line takes input from a file, rather than a capture, but the file is an example of what the capture will generate, so I believe it's representative. ffmpeg -i capture-4chan.mov -f mpegts - | ffplay -f mpegts - The capture...mov file contains prores encoded video, and I don't actually want the audio, though I've not attempted to drop that part yet. I've also succeeded using the matroska file as the format between the two processes. My problem, as was the case in one of my previous questions, seems to be that there's some default encoding going on, and I don't like what it's doing (low quality and high CPU usage), and I want to find a better choice. I need to find an encoding, and presumably a file type, that a) works in a streaming format, and b) is as low CPU usage as possible. I don't believe I care about bandwidth, this is just shipped from one process to another and consumed in real time. I tried using rawvideo, but it crashes out. To distinguish the encoding side from the decoding side, I used this command line: ffmpeg -i capture-4chan.mov -c:v rawvideo -f mpegts - | cat /dev/null and these appear to be the lines of interest from the output (though I suspect it's simply that rawvideo doesn't have markers in it that allow a receiver to know what the heck it's looking at?) [mpegts @ 0x55f18d555440] Stream 0, codec rawvideo, is muxed as a private data stream and may not be recognized upon reading. av_interleaved_write_frame(): Broken pipe Error writing trailer of pipe:: Broken pipe I also tried using "copy" codec, that is in effect just sending the prores across the pipe, like this: ffmpeg -i capture-4chan.mov -c:v copy -c:a copy -f mpegts - | ffplay -analyzeduration 10 -f mpegts - But that complained too: [mpegts @ 0x5604ba2e85c0] Stream 0, codec prores, is muxed as a private data stream and may not be recognized upon reading. [mpegts @ 0x5604ba2e85c0] Stream 1, codec pcm_s16le, is muxed as a private data stream and may not be recognized upon reading. and Failed to open file 'pipe:' or configure filtergraph av_interleaved_write_frame(): Broken pipe Error writing trailer of pipe:: Broken pipe So, I think my question is "what encoding, and what file type" would suit my needs for a very low CPU overhead, but not caring about bandwidth, for this? TIA, Simon -- Simon Roberts (303) 249 3613 From raistlin.mlists at yandex.ru Tue Jun 30 19:31:24 2020 From: raistlin.mlists at yandex.ru (raistlin.mlists at yandex.ru) Date: Tue, 30 Jun 2020 19:31:24 +0300 Subject: [FFmpeg-user] Different MD5 hashes for identical tracks Message-ID: <1523112632.20200630193124@yandex.ru> Hello Ffmpeg-user, There are 2 sample m2ts files (about 84 MB each): https://mir.cr/0Y8ROTYT (1) https://mir.cr/RFI1MNOM (2) Stream a:5 in (1) and stream a:4 in (2) are identical (being binary compared). Though ffmpeg reports they have different MD5 hashes: ffmpeg -loglevel 4 -i 00001.m2ts -map 0:a:5 -codec copy -f md5 - MD5=cee9775826b81d395c7d012e69309270 ffmpeg -loglevel 4 -i 00000.m2ts -map 0:a:4 -codec copy -f md5 - MD5=32ccb6d7af46bfdd2100cd68c7622171 MD5 hashes for these streams being decoded (without '-codec copy') are also different. How could it be? -- Best regards, raistlin.mlists at yandex.ru From h.reindl at thelounge.net Tue Jun 30 21:36:54 2020 From: h.reindl at thelounge.net (Reindl Harald) Date: Tue, 30 Jun 2020 20:36:54 +0200 Subject: [FFmpeg-user] Different MD5 hashes for identical tracks In-Reply-To: <1523112632.20200630193124@yandex.ru> References: <1523112632.20200630193124@yandex.ru> Message-ID: <802ca9f3-bbf6-bd8e-03ab-ea77c4025591@thelounge.net> Am 30.06.20 um 18:31 schrieb raistlin.mlists at yandex.ru: > Hello Ffmpeg-user, > > There are 2 sample m2ts files (about 84 MB each): > https://mir.cr/0Y8ROTYT (1) > https://mir.cr/RFI1MNOM (2) > > Stream a:5 in (1) and stream a:4 in (2) are identical (being binary > compared). Though ffmpeg reports they have different MD5 hashes: > > ffmpeg -loglevel 4 -i 00001.m2ts -map 0:a:5 -codec copy -f md5 - > MD5=cee9775826b81d395c7d012e69309270 > > ffmpeg -loglevel 4 -i 00000.m2ts -map 0:a:4 -codec copy -f md5 - > MD5=32ccb6d7af46bfdd2100cd68c7622171 > > MD5 hashes for these streams being decoded (without '-codec copy') are > also different. > > How could it be most files have timestamps inside From raistlin.mlists at yandex.ru Tue Jun 30 21:51:42 2020 From: raistlin.mlists at yandex.ru (raistlin.mlists at yandex.ru) Date: Tue, 30 Jun 2020 21:51:42 +0300 Subject: [FFmpeg-user] Different MD5 hashes for identical tracks In-Reply-To: <802ca9f3-bbf6-bd8e-03ab-ea77c4025591@thelounge.net> References: <1523112632.20200630193124@yandex.ru> <802ca9f3-bbf6-bd8e-03ab-ea77c4025591@thelounge.net> Message-ID: <1529282529.20200630215142@yandex.ru> Hello Reindl, >> There are 2 sample m2ts files (about 84 MB each): >> https://mir.cr/0Y8ROTYT (1) >> https://mir.cr/RFI1MNOM (2) >> >> Stream a:5 in (1) and stream a:4 in (2) are identical (being binary >> compared). Though ffmpeg reports they have different MD5 hashes: >> >> ffmpeg -loglevel 4 -i 00001.m2ts -map 0:a:5 -codec copy -f md5 - >> MD5=cee9775826b81d395c7d012e69309270 >> >> ffmpeg -loglevel 4 -i 00000.m2ts -map 0:a:4 -codec copy -f md5 - >> MD5=32ccb6d7af46bfdd2100cd68c7622171 >> >> MD5 hashes for these streams being decoded (without '-codec copy') are >> also different. >> >> How could it be > most files have timestamps inside Are these timestamps removed by demuxing? As I wrote demuxed tracks are byte-to-byte identical. -- Best regards, raistlin.mlists at yandex.ru From h.reindl at thelounge.net Tue Jun 30 21:58:33 2020 From: h.reindl at thelounge.net (Reindl Harald) Date: Tue, 30 Jun 2020 20:58:33 +0200 Subject: [FFmpeg-user] Different MD5 hashes for identical tracks In-Reply-To: <1529282529.20200630215142@yandex.ru> References: <1523112632.20200630193124@yandex.ru> <802ca9f3-bbf6-bd8e-03ab-ea77c4025591@thelounge.net> <1529282529.20200630215142@yandex.ru> Message-ID: Am 30.06.20 um 20:51 schrieb raistlin.mlists at yandex.ru: > Hello Reindl, > >>> There are 2 sample m2ts files (about 84 MB each): >>> https://mir.cr/0Y8ROTYT (1) >>> https://mir.cr/RFI1MNOM (2) >>> >>> Stream a:5 in (1) and stream a:4 in (2) are identical (being binary >>> compared). Though ffmpeg reports they have different MD5 hashes: >>> >>> ffmpeg -loglevel 4 -i 00001.m2ts -map 0:a:5 -codec copy -f md5 - >>> MD5=cee9775826b81d395c7d012e69309270 >>> >>> ffmpeg -loglevel 4 -i 00000.m2ts -map 0:a:4 -codec copy -f md5 - >>> MD5=32ccb6d7af46bfdd2100cd68c7622171 >>> >>> MD5 hashes for these streams being decoded (without '-codec copy') are >>> also different. >>> >>> How could it be > >> most files have timestamps inside > > Are these timestamps removed by demuxing? As I wrote demuxed tracks > are byte-to-byte identical you use diff? From raistlin.mlists at yandex.ru Tue Jun 30 22:17:12 2020 From: raistlin.mlists at yandex.ru (raistlin.mlists at yandex.ru) Date: Tue, 30 Jun 2020 22:17:12 +0300 Subject: [FFmpeg-user] Different MD5 hashes for identical tracks In-Reply-To: References: <1523112632.20200630193124@yandex.ru> <802ca9f3-bbf6-bd8e-03ab-ea77c4025591@thelounge.net> <1529282529.20200630215142@yandex.ru> Message-ID: <1239016214.20200630221712@yandex.ru> Hello Reindl, Tuesday, June 30, 2020, 9:58:33 PM, you wrote: > Am 30.06.20 um 20:51 schrieb raistlin.mlists at yandex.ru: >> Hello Reindl, >> >>>> There are 2 sample m2ts files (about 84 MB each): >>>> https://mir.cr/0Y8ROTYT (1) >>>> https://mir.cr/RFI1MNOM (2) >>>> >>>> Stream a:5 in (1) and stream a:4 in (2) are identical (being binary >>>> compared). Though ffmpeg reports they have different MD5 hashes: >>>> >>>> ffmpeg -loglevel 4 -i 00001.m2ts -map 0:a:5 -codec copy -f md5 - >>>> MD5=cee9775826b81d395c7d012e69309270 >>>> >>>> ffmpeg -loglevel 4 -i 00000.m2ts -map 0:a:4 -codec copy -f md5 - >>>> MD5=32ccb6d7af46bfdd2100cd68c7622171 >>>> >>>> MD5 hashes for these streams being decoded (without '-codec copy') are >>>> also different. >>>> >>>> How could it be >> >>> most files have timestamps inside >> >> Are these timestamps removed by demuxing? As I wrote demuxed tracks >> are byte-to-byte identical > you use diff? > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user at ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > To unsubscribe, visit link above, or email > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". Yes. You can try yourself, that's why I gave the links. -- Best regards, raistlin.mlists at yandex.ru From h.reindl at thelounge.net Tue Jun 30 22:23:54 2020 From: h.reindl at thelounge.net (Reindl Harald) Date: Tue, 30 Jun 2020 21:23:54 +0200 Subject: [FFmpeg-user] Different MD5 hashes for identical tracks In-Reply-To: <1239016214.20200630221712@yandex.ru> References: <1523112632.20200630193124@yandex.ru> <802ca9f3-bbf6-bd8e-03ab-ea77c4025591@thelounge.net> <1529282529.20200630215142@yandex.ru> <1239016214.20200630221712@yandex.ru> Message-ID: <19830717-07fb-f569-557c-10d4641a7a62@thelounge.net> Am 30.06.20 um 21:17 schrieb raistlin.mlists at yandex.ru: >>>>> There are 2 sample m2ts files (about 84 MB each): >>>>> https://mir.cr/0Y8ROTYT (1) >>>>> https://mir.cr/RFI1MNOM (2) >>>>> >> you use diff? >> _______________________________________________ >> ffmpeg-user mailing list >> ffmpeg-user at ffmpeg.org >> https://ffmpeg.org/mailman/listinfo/ffmpeg-user > >> To unsubscribe, visit link above, or email >> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe". > > Yes. You can try yourself, that's why I gave the links are you mentally ill or why do you think someone goes through all that fuckup of your links enable javasript for half of the world when you just xould do "diff -uNr a b > diff.diff" and post the result as plaintext on a service which don#t require shields down? From raistlin.mlists at yandex.ru Tue Jun 30 22:54:28 2020 From: raistlin.mlists at yandex.ru (raistlin.mlists at yandex.ru) Date: Tue, 30 Jun 2020 22:54:28 +0300 Subject: [FFmpeg-user] Different MD5 hashes for identical tracks In-Reply-To: <19830717-07fb-f569-557c-10d4641a7a62@thelounge.net> References: <1523112632.20200630193124@yandex.ru> <802ca9f3-bbf6-bd8e-03ab-ea77c4025591@thelounge.net> <1529282529.20200630215142@yandex.ru> <1239016214.20200630221712@yandex.ru> <19830717-07fb-f569-557c-10d4641a7a62@thelounge.net> Message-ID: <1299668895.20200630225428@yandex.ru> Hello Reindl, Tuesday, June 30, 2020, 10:23:54 PM, you wrote: > are you mentally ill No why? It's probably just you who can't read. Yes I used diff and it says files are identical. -- Best regards, raistlin.mlists at yandex.ru From barsnick at gmx.net Tue Jun 30 23:12:13 2020 From: barsnick at gmx.net (Moritz Barsnick) Date: Tue, 30 Jun 2020 22:12:13 +0200 Subject: [FFmpeg-user] Different MD5 hashes for identical tracks In-Reply-To: <1523112632.20200630193124@yandex.ru> References: <1523112632.20200630193124@yandex.ru> Message-ID: <20200630201213.GA11696@sunshine.barsnick.net> On Tue, Jun 30, 2020 at 19:31:24 +0300, raistlin.mlists at yandex.ru wrote: > There are 2 sample m2ts files (about 84 MB each): > https://mir.cr/0Y8ROTYT (1) > https://mir.cr/RFI1MNOM (2) > > Stream a:5 in (1) and stream a:4 in (2) are identical (being binary > compared). Though ffmpeg reports they have different MD5 hashes: > > ffmpeg -loglevel 4 -i 00001.m2ts -map 0:a:5 -codec copy -f md5 - > MD5=cee9775826b81d395c7d012e69309270 Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc Stream #0:1[0x1100](rus): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 384 kb/s Stream #0:2[0x1101](rus): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 448 kb/s Stream #0:3[0x1102](rus): Audio: dts (DTS) ([130][0][0][0] / 0x0082), 48000 Hz, 5.1(side), fltp, 1536 kb/s Stream #0:4[0x1103](eng): Audio: truehd (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), s32 (24 bit) Stream #0:5[0x1103]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 640 kb/s Stream #0:6[0x1104](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s > ffmpeg -loglevel 4 -i 00000.m2ts -map 0:a:4 -codec copy -f md5 - > MD5=32ccb6d7af46bfdd2100cd68c7622171 Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc Stream #0:1[0x1100](eng): Audio: truehd (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), s32 (24 bit) Stream #0:2[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 640 kb/s Stream #0:3[0x1101](rus): Audio: dts (DTS) ([130][0][0][0] / 0x0082), 48000 Hz, 5.1(side), fltp, 1536 kb/s Stream #0:4[0x1102](rus): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 640 kb/s Stream #0:5[0x1103](ukr): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 448 kb/s 192 kb/s stereo vs. 448 kb/s stereo. They can't be identical, can they? Moritz From h.reindl at thelounge.net Tue Jun 30 23:13:56 2020 From: h.reindl at thelounge.net (Reindl Harald) Date: Tue, 30 Jun 2020 22:13:56 +0200 Subject: [FFmpeg-user] Different MD5 hashes for identical tracks In-Reply-To: <1299668895.20200630225428@yandex.ru> References: <1523112632.20200630193124@yandex.ru> <802ca9f3-bbf6-bd8e-03ab-ea77c4025591@thelounge.net> <1529282529.20200630215142@yandex.ru> <1239016214.20200630221712@yandex.ru> <19830717-07fb-f569-557c-10d4641a7a62@thelounge.net> <1299668895.20200630225428@yandex.ru> Message-ID: Am 30.06.20 um 21:54 schrieb raistlin.mlists at yandex.ru: > Hello Reindl, > > Tuesday, June 30, 2020, 10:23:54 PM, you wrote: > >> are you mentally ill > > No why? It's probably just you who can't read. Yes I used diff and it > says files are identical if they are identical they have the same checksum it's that easy From ceffmpeg at gmail.com Tue Jun 30 23:50:30 2020 From: ceffmpeg at gmail.com (Carl Eugen Hoyos) Date: Tue, 30 Jun 2020 22:50:30 +0200 Subject: [FFmpeg-user] Low CPU HQ format for local streaming? In-Reply-To: References: Message-ID: Am Di., 30. Juni 2020 um 18:22 Uhr schrieb Simon Roberts : > So, I think my question is "what encoding, and what file type" would suit > my needs for a very low CPU overhead, but not caring about bandwidth -vcodec mpeg1video -qscale 2 -mbd 2 (You will probably not be happy with the result, but first, this is the answer to your question and second, "low cpu" is not generally achievable) Carl Eugen From raistlin.mlists at yandex.ru Tue Jun 30 23:56:27 2020 From: raistlin.mlists at yandex.ru (raistlin.mlists at yandex.ru) Date: Tue, 30 Jun 2020 23:56:27 +0300 Subject: [FFmpeg-user] Different MD5 hashes for identical tracks In-Reply-To: <20200630201213.GA11696@sunshine.barsnick.net> References: <1523112632.20200630193124@yandex.ru> <20200630201213.GA11696@sunshine.barsnick.net> Message-ID: <150119685.20200630235627@yandex.ru> Hello Moritz, Tuesday, June 30, 2020, 11:12:13 PM, you wrote: > 192 kb/s stereo vs. 448 kb/s stereo. > They can't be identical, can they? I got it now. I defined stream numbers using tsMuxer and considered TrueHD stream with embedded AC3 stream as one stream while ffmpeg considers them as two separate streams. Thanks! -- Best regards, raistlin.mlists at yandex.ru