text:
What is the best way to combine two audio sources into a single audio output?
A friend and I are looking to start a podcast, yea, just like everyone else on the Internet.
We are trying to determine the most practical way to combine two audio sources into a single audio output of not necessarily production quality. The combined audio will not be recorded, and used only for communication purposes. It is our intention to record our own independent tracks at different locations, and later combine them in post.
Our setup is to include a PC at each end with either skype/hangouts, audacity, a USB microphones, and a set of earphones each. The PCs will be used to record audio from our USB microphones, and to establish a line of communication between sites. How can we reasonably combine the audio out of a microphone (with a 3.5 mm and/or XLR) with the audio out of a PC (3.5 mm) so that we can hear both ourselves and the other person(s) in the skype/hangout meeting?

I like this question because I'm doing something similar with video interviews of YouTubers in other places. (We're using Skype/Hangouts for communicating, but we each have a camera pointed at us to shoot the actual HD footage we'll use in the final edited interview.) I'm confused about the last sentence of your question. It sounds like you're hoping to monitor both levels on a single computer in real time...? If so, couldn't you each monitor your own recording volume independently, and normalize the two recordings in post?

@BrettFromLA I misspoke in my original question, I've fixed the sentence so hopefully it should be clearer. I'm just wanting to listen to the PC out, while simultaneously listing to the Mic out as I record it.

Thanks for clarifying, but now I'm wondering if there really is a problem. You should be able to hear your own voice just because you're speaking aloud! I don't mean that to sound sarcastic; it's just the way I envision the setup. It would be similar to talking to someone through Skype, while wearing a headset: Skype transmits your friend's voice to you through the headphones, and you hear your own voice just because you're talking.

It sounds like you just want to monitor your recording. Take a look at the playthrough options options in Audacity. (I'd give a more detailed answer, as an answer, but I've not used Audacity in a while and I can't check into the details right now).

I think I was just over thinking things, I guess there is no reason I couldn't use the PC as the mixer for an out from the two ins.

I misspoke in my original question, I've fixed the sentence so
  hopefully it should be clearer. I'm just wanting to listen to the PC
  out, while simultaneously listing to the Mic out as I record it.

If you using Windows, then just go to the
 Sound (Right click in notification area) > Recording devices > Chose you device > Properties > Listen > Listen to your device
That would allow you to hear your recording device input in your playback device(speaker).


text:
Premiere Pro CC - Creating an interview video with multiple camera angles
(edited for clarity)
I shot my first interview style video with three cameras and separate audio track. I've got all 3 video layers synced up so they are playing together but I want to switch between which layer is the top one at markers I have set on the timeline.
What is the correct way to do this? Cut all the video clips at each marker through the whole project then delete the sections I don't want visible? Use the effects panel to change opacity to zero when not in use and 100% when I want it visible?
Or is there a way to script each marker so that the program hides the layers not in use?

Premiere Pro has a multicam-functionality which you can use. To create a new multicam-sequence, select the three clips of your three cameras in the project panel, right-click → Create Multi-Camera Source Sequence (you might also be able to do that within your existing timeline). Then, select which synchronizing method you want to use (audio works just fine most of the time).
Once you click OK, it will create a new sequence that you can insert into your timeline just like any other clip or sequence. Once you've done that, click on the screwdriver icon in the programm panel and switch from Composite Video to Multi-Camera. Then, press 0 to Toggle Multi-Cam recording (there's also a button for that hidden behind the button editor).
Once you've done all that, you can simply playback the sequence and switch between cameras while watching (either by clicking on the different views in the program panel or using the number-keys on your keyboard as shortcuts). Premiere Pro will record the the switches and insert cuts accordingly. You can also go back and change the cuts as many times as you want.
Note that this is only one possible workflow. For some other options and more a more detailed explanation, check out the corresponding manual page.

Will that also allow a simple fade to be added between each cut rather than a hard chop?

Premiere Pro inserts cuts in the Multi-Cam Sequence at every camera switch, so yes, you can apply transition effects like you would between two normals clips. Also, the Multi-Cam Sequence behaves (mostly) like a nested sequence, so you can right-click → view in timeline to edit the Multi-Cam Sequence itself if needed

Got it, thanks for your help. I got started editing in AE and while there are similarities I like the live playback in this app. Much better for this kind of work.

Yeah Premiere is better streanlined for editing tasks while AE is designed for Special Effects ... I don't get why people use AE exclusively either, IMO it's easier to use both of them to do what they were designed to do only

I'm a convert after this project. Lining up three shots in AE would have been a nightmare. I generally never need to make any heads explode or simulate light sabers so I'm going to learn Premiere.

+1. @MoritzLost I wonder if you could also read https://video.stackexchange.com/q/23287/5657 since you probably know the answer. Thanks!

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/

sort: votes


text:
How to get peak audio quality and lowest video quality?
What are the best options to use to get optimal audio clarity for transcription, and minimal video to be used by the transcription service?
Our videos are all meetings, and we're sending them to a service for transcription services - video quality is of no concern, but audio quality of the speakers is.
Everything I've found is a complicated discussion about channels/tracks/mapping, etc., and frankly everything is about achieving peak video at the same time, so I'm confused about which options work on which tracks, and at this point don't even know what I should be googling.
Clarification
The source video can vary, depending on the circumstances of the meeting recorded.  It can be an enormous mpeg  or a smaller mp4 compressed "somehow".  The ffmpeg output VIDEO will be very small, 320:240 or similar, but I need as much of the original AUDIO (improved if possible) as I can get into the output mp4 file for the transcription service to have the best we can provide them.

What sort of input files - MP4s? Share the readout of ffmpeg -i recordingsample. In what format is the output required or preferred? Do you want to filter the audio to improve clarity or simply maintain the source audio - in short, this will be more fruitful if you mention what are the deficiencies with the current workflow, and specifics of what you would like to achieve.

@Gyan Input files vary from producer to producer, as does the resolution.  I'm trying to reduce the video to something almost useless, but keep as much audio quality as was originally submitted.  I don't understand what overall compression choices will have on the audio without somehow specifying it to be "best available".

What format(s) does the transcription service support? Do you even need the video? If you're using something like IBM Watson speech-to-text you don't need video.

It's not entirely clear what you mean by improved audio, but here are three ffmpeg-based options that should get you what you need. Just combine the appropriate code below. I've included an audio conversion to high bitrate aac in all of the commands, but this will not actively improve your audio. If you're looking to optimize the audio for voice, check out ffmpeg's highpass, lowpass, and anequalizer audio filters to filter out unwanted high end and low end frequencies, and to enhance vocal frequencies (probably around 1khz and 5kz).
This line processes all of one file type in a folder. Just cd into the appropriate directory. Replace [original file extension] with your file extension, eg. for i in *.mov; do
mkdir output; for i in *.[original file extension]; do

Use that first line, plus one of the following
Option 1) -vn will ditch the video altogether. Consider just sending audio files.
ffmpeg -i [input] -vn -acodec aac -b:a 320k [output];done

Option 2) -vf scale will scale all your videos into a smaller size without messing with the audio.
ffmpeg -i [input] -vf scale=320:240 -crf 30 -acodec aac -b:a 320k [output];done

Option 3) The first line gets the duration of your video $t using ffmpeg. The second line creates black video to replace your video with, then uses -map to combine the new black video and the audio. Then it uses -ss and -t to set a start and end time $t. Replace [original file extension] with your file extension, eg. "$(basename $i .mov).mp4"
You should really only consider using this if your transcription service demands a video file, but either of the previous options is probably a better choice.
t=$(ffmpeg -i "$i" 2>&1 | grep "Duration"|grep -o '00:*.*'|cut -f1 -d","|awk -F: '{seconds=($1*60)*60; seconds=seconds+($2*60); seconds=seconds+$3; print seconds}');

ffmpeg -f lavfi -i color=c=black:s=2x2:r=1/1 -i "$i" -map 0:v -map 1:a -acodec aac -b:a 320k -ss 0 -t $t "output/$(basename $i .[original file extension]).mp4";done

Again, if your transcription service doesn't care about or even want video, you could shortcut all of this and just send them high quality wav files.
ffmpeg -i [input.mp4] [output.wav]

Thankyou!  I often tremble when considering asking questions on this site because I'm not a video engineer type, and know i don't understand the lingo well enough to ask a question properly (and it's never without a day of googling first).  The video is needed, but only enough to identify speaker names, so you've given me EXACTLY what I needed.  Thank you again.

I use this command to transcode video lectures primarily composed of static images with only the lecturer's voice overlaid.
ffmpeg -ss 00:06:00 -i input.mp4 -filter_complex '[0:v]fps=fps=1[v1],[v1]interlace[v2],[0:a]dynaudnorm[a]' -c:v libx265 -x265-params bframes=16 -crf 45 -c:a libopus -ac 1 -b:a 24K -ar 16K -map "[v2]" -map "[a]" output.mp4

explanation:
-ss 00:06:00: cut out the first 6:00 minutes from the video. This will obviously reduce the length of your video but also its size. I use it to leave out the duration between the meeting start and when the lecturer starts speaking. there are also -t and -to options to cut from the end of your video.
-i input.mp4: the input file. it is designated [0] when referenced afterwards. This is because some ffmpeg commands take multiple input files ffmpeg -i input1.mp4 -i input2.mp4 ... output.mp4 and they would be numbered as [0] [1] [2] ...
-filter_complex: I am going to define a set of filters applied on the audio and the video of my input file, separately.
[0:v]fps=fps=1[v1]: the first filter takes the video stream from input [0] and reduces it's framerate to 1 frame/second. I call the output video stream [v1] but, you could call it anything.
This will produce a laggy video output. I don't care about that since my videos are static images. I guess you wouldn't too since it's only important to identify the speaker's face. you should experiment a little with the different values of this filter. I recommend something between 0.5 and 10
[v1]interlace[v2]: This will take the video stream [v1], interlace it, and output a video stream called [v2]. Interlacing a video stream means that instead of displaying every line of pixels from that video on the screen every frame, each frame of video now displays a line of pixels and skips the next. and the human eye will make up the difference. the advantage of interlacing is that you could halve the frame rate (further) of your video stream without making the video appear more laggy.
[0:a]dynaudnorm[a]: will take the audio stream of your input file and normalize it. This filter lets ffmpeg decide how to normalize audio itself and allows it to change the characteristics of that audio. This is bad for music but, Ok for speech.
There are many other filters that I do not use but could be beneficial for other use cases. for example crop and cropdetect to crop the height and weight of your video (in case you have large black borders) reducing file size, scale to change height and width without cropping, afftdn, anlmdn, arnndn (Thread from Superuser), and the sox command (tutorial) for noise cancellation. since audio is the only important aspect of your file you could use the silencedetect filter to detect the places in your video where there is no audio. then cut these parts out with a second ffmpeg command.
-map "[v2]" -map "[a]": This tells ffmpeg to use [v2] video streams and [a] audio stream as the audio and video streams of the output file.
-c:v libx265: sets the video stream codec to x265. roughly speaking, codecs decide how bits are translated to video. Better codecs will translate more video details for fewer number of bits. x265 is among the more efficient codecs and transcoding your video from the old x264 to x265 could alone reduce video size by 50%.
-x265-params bframes=16: This is passed directly to the x265 encoder. I don't really understand what this parameter does. but I noticed that it more or less does the same thing as the fps filter. using both of them however reduces file size more than using either of them alone. 16 is the largest possible value for this parameter.
-crf 45: reduces video bitrate (bits/second) to achieve fixed quality. the higher this value, the lower the quality will be. the default value is 28 but I often use values between 40 and 51 (largest possible value) when I don't really care about video quality.
-c:a libopus: This will change the audio codec to Opus. Opus is a very efficient audio codec and has special setting for speech. it decides whether to use these settings or not based on bitrate and sampling rate settings which we discuss shortly.
Note that transcoding audio from a lossy codec (e.g. mp3, aac, opus) to another lossy codec will reduce the quality of your audio. you should not do this often if your audio contains music. human speech however can withstand several rounds of transcoding. This does not happen if you transcode audio from a lossless codec (e.g. wav, flac) to a lossy one. also, note that you can't apply filters (e.g. dynaudnorm) without transcoding.
-ac 1: This converts stereo audio (2 audio streams or 'channels', each for every ear) to mono audio (the same audio plays in both ears). This will halve the audio bitrate without affecting audio quality (unless your audio has stereo music, which is not the case in video meetings).
-b:a 24K: This limits the audio bitrate to 24000 bits. This is very sufficient for human speech if you use Opus. This value will vary according to the codec you use. List of possible bitrates for libopus
-ar 16K: This limits the audio sampling rate to 16000 Hz. This is sufficient (Maybe?) for human speech if you use Opus. List of possible sampling rates
output.mp4: output file name.

Just turn the video bitrate or the CRF, depending on what options your encoder gives you, way down.

"turn the video bitrate or the CRF"?   I don't understand what you mean, or how to apply that to ffmpeg

-crf controls the Constant Rate Factor which ≈ 1 / quality. Higher is worserer, I think the lowest quality you can go is -crf 31. Just add that flag somewhere in your ffmpeg command.

This answer could be improved with a bit more detail; it also doesn't address the audio side of the question

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
How can I avoid Quicktime Vulnerability with h.264 encoded MP4 files?
I posted this earlier on SuperUser, but realized that this is likely the more appropriate forum for my question.
We have several thousand very large MP4 files that have been encoded over the past decade using Sorenson Squeeze.  Over the past year, there are suddenly a growing number of customers (Universities) with Network/Proxy Server that are suddenly unable to view the videos due to vulnerability described at this link: Apple QuickTime Vulnerability.
Forgive me, I know very little about media and encoding, only that the problem has suddenly started appearing while they view our videos (we use JWPlayer v7 with files hosted at AWS/S3/Cloudfront).
Is there an alternate way of encoding h.264/MP4 that doesn't include any reference or codecs, or whatever it is that flags them as Quicktime files, or some other way to get around this?
Note: Our site streams the h.264 MP4 files with JWPlayer - the end users don't open them with Apple Quicktime.
Partial ffmpeg Output for one of the videos in question:

"format": {
    "filename": "c:\\videos\\ABC-123.mp4",
    "nb_streams": 4,
    "nb_programs": 0,
    "format_name": "mov,mp4,m4a,3gp,3g2,mj2",
    "format_long_name": "QuickTime / MOV",
    "start_time": "0.000000",
    "duration": "1632.480000",
    "size": "86937415",
    "bit_rate": "426038",
    "probe_score": 100,
    "tags": {
        "major_brand": "mp42",
        "minor_version": "0",
        "compatible_brands": "mp42isomavc1",
        "creation_time": "2011-07-13 14:02:44",
        "compilation": "0",
        "encoder": "Sorenson Squeeze 5.0"
    }

Do you know some of the firewall brands that are posing this problem? Do you have a way of testing whether a new file will pass or not?

As far as I can tell, the vulnerability relates to the operation of the Apple Quicktime player version 7.6.6 or older on Windows, not JWPlayer on the web. How have you identified the vulnerability as relevant?

I cannot actually reproduce it, it's all the customers giving us the same report.  Our webserver IS windows, but I don't know what all customer networks are of course.  I know this is vague, but I'm not a media OR network guru so am floundering as such.

I just missed the aws detail. Are you transcoding the videos using AWS Elastic Transcoder? Do you serve them as a progressive download or streaming? It would also help to have the actual firewall error, the users browser and system version, and your jwplayer embed code.

I think it would be helpful to ask your clients which vulnerability exactly is the triggering their firewalls. A quick Google search coughed up around 3-4 serious exploits in QuickTime over the last couple of years, which seem to use different flaws though. If this happened recently, I assume they are referring to this exploit and not the one you linked, which is from 2010. https://threatpost.com/patched-apple-quicktime-vulnerability-details-disclosed/113570/

In any case I find the demand of the clients a bit strange: they have the vulnerable software installed (or maybe not but their firewall wants to protect their possible outdated QuickTime clients)..  There is nothing malicious in your files.

Also, since you got rtmp in your questions tags, I assume you are using some kind of streaming server? Or are you just doing http pseudo streaming?

They're using our JWPlayer page with RTMP Streaming from AWS Customers are basically saying fix it, or we won't buy it....($10K-$50K orders)

I don't know if AWS can do this or expensive the CPU time would be, but you could always real-time transcode the files to a different format until the clients come to their senses and realize it's their players that have the problem, not your streams.

Or check out this, they claim to be able to Transcode faster than anyone else, also from AWS... I guess your problem should be gone if you had all your files I.e. In WebM or mpeg dash... at least until an exploit triggered with WebM files is found. https://www.bitcodin.com/blog/2015/02/create-mpeg-dash-hls-content-for-amazon-s3-and-cloudfront/

The whole idea is ridiculous though since you would just be working around their weird ideas of security since any video format could be used to trigger a vulnerability in some player and they cannot exclude all of them unless they consider watching videos over the Internet as insecure per se.

Rencoding might be the only answer, but the last time we did this to MP4 it took almost 2 months to do the whole collection - there are 12000 full length movies involved, so we're looking for alternate solutions.  If it were only a couple of customers, no big deal, but every month we're getting more and more support tickets and canellations due to the problem.

I think maybe a "legal" solution to this problem is easier to achieve. As the description of the exploits state, the malicious video file needs to be specifically crafted to exploit the vulnerability in the affected players. If your platform is not open to the public and you can assure that no maliciously crafted video file can sneak in to your collection, this should be sufficient as a reassurance for them or not? Then they could Whitelist your service on their firewalls. As far as I see it there is no real alternative, if you search for WebM and exploits, you will also find incidents so I gu

@Hans, they watch the video on our web page, with JWPlayer - is the QT player even part of the equation?  The manifest of file in the JWP script is being blocked between their browser and our server, (presumably with their proxy server)

And the same could happen with Mpeg dash, even if there is no reported vulnerability as of now. So next month they could say the will block WebM or mpeg dash as well...

No! QuickTime player is not part if the process as far as I can see. Are you using jwplayer in flash or html5 mode?

Default Flash/falback to HTML5 - this is only happening with RTMP

Then i completely dont understand the clients concern. Apparently internally Safari uses quicktime as the player when using HTML5 video objects, but i guess RTMP means JWPlayer is using flash for playback. Security-wise Adobe Flash is a problem in general, but it doesnt use Quicktime, i am pretty sure about that. So, again, i think the security concerns of your clients are pretty random IMHO... What is the overall size of your collection in h264, just to have an idea how much the transcoding i.e. in bitcodin would be...

I agree with you in general,,,transcoding would be about 30TB, so we're leaving that as a last option, and we;ve still to figure out how to reencode them anyways.  WE can't reproduce it, and the 80 or so major customers are leaving it to us to figure out.  I'm baffled, and they simply want it fixed, or will buy elsewhere (very substantial revenue).  The major fear is that the number of customers in this state keeps growing, and they'll all leave.

I really think you should reach out to a client having these concerns and trying to understand better what it is they fear. I mean are they blocking h264 videos in general? Because potentially every h264 file (or WebM or flv for that matter) can be crafted to exploit a vulnerability. So a service offering non public video collections (like yours seem to be) is actually a secure way to allow videos while the stuff floating around on the Web is potentially dangerous. I mean you could even get different virus scanners and scan your files for exploits if that calms them down

Of course we've done all that....they're schools - no budget to spend time/money helping us identify whatever is blocking the stream, so are just as happy to move to another provider.  It's very frustrating, but thanks :)

The thing is: what is another provider going to do about that issue? MP4 (the container) is very closely modeled after the QuickTime file structure. So mediainfo / Ffmpeg will regard it as a mp4 / Mov container. There is nothing anyone can do about it. WebM has known exploits as has FLV (and most probably MPEG dash as well.) so transcoding your stuff will only calm them down until they learn about the other exploits as well. In the meanwhile creating considerable costs  for you. Personally I would move away from using a flash based player though for several reasons, Security only being one.

The CISCO advisory is helpful. It says that the vulnerabiity is linked to exploiting rnet boxes in MP4. Those are not a mandatory spec of the MP4 file format. In fact, ffmpeg does not write those, so any MP4 files rewrapped with ffmpeg should be exploit-shielded. If the MP4s are still being flagged then your malware detector has a very broad trigger - maybe it's just looking at the extension.

@Mulvya Well, its not "our" detector...its Universities scattered around the western hemisphere, lol.  We've been using Sorenson Squeeze to do the encoding, but there are a decade worth of legacy files that are in use.  Do you know a way to excluding the rnet boxes when encoding, and/or better yet how to remove them with FFMPEG?

If you run the command in Duvrai's answer, the output won't have that box because FFmpeg's code has no provision to write it. Assuming that the output isn't then altered by something else, that should be it.

Seems to me I tried that long ago with no luck, but will give it a go again...at least you've answered a question thats been haunting me for several years now - it's the rnet box, now I know what's triggering their detectors!!!

Can you link to one of the files triggering the error? And the text or screenshot of the specific warning that is thrown.

God I wish it was that easy...wouldn't be here if it was, lol.  Files are on Cloudfront, the Detectors are "God knows where", and its taken me this many years just to get the vague details of the problem from a customer.  But I really, REALLY appreciate the offer.  Maybe one day if I can get those specifics, I'll hunt you down, lol.

If you put your suggestions/directions as an answer, I'll certainly accept it!!

You can strip most of the metadata off your files using ffmpeg:
ffmpeg -i oldfile.mp4 -c copy newfile.mp4

This will copy the first audio and video streams to a new mp4.

Thx, but just tried it and the "format_long_name": "QuickTime / MOV", remains

Maybe I am wrong but isn't the mp4 container Practically the same as a QuickTime file and therefore thrown into one (meta-data) box with "MOv"?

You are almost exactly right.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
Batch processing in Camtasia Studio or others
I am making some tutorial videos for which I need to have same production setting. Like
1. Noise cancellation. Camtasia studio has a option where it automatically cancels the noise.
2. Intro and Conclusion. I want to add some intro slide/video before the starting of the video and same with the conclusion. Though I can do it individually it will take quite significant time adding to each and than rendering.
Is there an options where by default I can have these actions performed on my every video and batch process them. Or if some other software which can do the same.

so Batch processing is very possible in Camtasia Studio.
Here are my personal step-by-setp instrcutions:

Import the videos you wish to Bacth Render into a new Camtasia Studio project file.
Add the first video to the Timeline and then save it as a Camtasia Studio Project file.
Remove that video from the timeline and import the other video you imported onto the timeline and save it as a different Camtasia Studio Project file.
(You can repeat these steps as many times as you need to to have all videos you wish to Batch render)
Find the 'Tools' tab and hover the cursor down to 'sharing' and a 'Batch production' should be avaliable to click. Click it.
Click on the 'Add files/projects' button and select the files you made earlier.
Click "Next" after you have selected all the videos you wish to Batch Render.
Choose a preset from the top drop down menu.
Clcik "Next".
You can choose the location the rendered videos will be saved to and if you want to have each video into sub-folders.
Click on the "Finish" button.
Your videos should be rendering.

I hope I helped and hope you have a nice day :)


text:
Garage Band alternative for windows
Is there any software for windows which can perform live audio modification during recording. I have a samson go usb mic but still records are a bit lacking in terms of the professional audio quality like a hint of a reverb etc.
I know garage band for Mac has ability to have these effects in real time to your audio. Any software for windows or other alternative to have that high bass cool sounding audio for podcasts/screencasts.

One that comes to mind is Presonus Studio One vr3 It is about $50 and is a full featured digital audio workstation. There is also sonar, protools and ableton live but I believe they are all quite a bit more expensive.
Good luck!

I recently switched from GarageBand to Ableton Live, partially because Live is known for its smooth realtime performance.  Live is geared for on stage performances so it should do fine with effects you add in realtime.  I've been bitten by GarageBand before because there have been some latencies when recording, switching instruments, etc.
Live is definitely higher end software, but you can pick up the basic package for around $100 (closer to $80 if you get it on sale) for both macOS[1] and Windows[2].  It's a bit tricky to learn at first but rewarding once you get the hang of it.

I need for windows.

@garg10may it is compatible with macOS and Windows.  I added links in my answer.


text:
Container Type that doesn't corrupt on Encoding Crash
I've been produce videos on YouTube for a few years. I understand a vast majority of encoding options for x264 (My preferred encoder).
I used to use MPEG-4 containers (.mp4) with my videos, however my system isn't the most powerful and the encoder will sometimes crash mid-encoding, causing the file to be unreadable because of how MPEG-4 file data is organized.
So I switched to using FLV as the container, and remuxing it to MPEG-4 after recording is done. FLV's organization of the data allows the file to be read, even if the file was never completed. I don't understand much about the actual formats, but Id suspect it's an absence of a footer in the format for FLV.
The problem I'm having with FLV, is that when I used MP4, I record with multiple audio tracks, so that I can edit them independently. FLV does not support multiple audio streams.
I'm wondering if there is a container for x264, that's still high quality, allows for multiple audio tracks, and can still be read if encoding crashes.
I am recording with a program called OBS-Studio (OBS Multi-Platform), which allows the following containers for x264: FLV, MP4, MOV, MKV, TS
Are any of those last 3 formats capable of such functionality. I have tried a few days of research and can't find anything regarding this.

Yes, TS is capable of doing what you are asking. Weather OBS is, is another question (that I do not know the answer to). mkv MAY be also to as well. But mp4 and mov can not do this.

OBS is able to use multiple channels with formats that support it. So if TS can, then thanks. So you're saying that TS files would still be readable if the recording program stopped responding?

TS files are meant for streaming, so don't use global headers.

Meant to add: so an aborted encode will still play.


text:
How to repeat an action against all clips in a sequence in Premiere Pro CC
I have a large number of individual clips in one sequence of varying lengths. I want to shorten them all, regardless of where in the footage to a certain length (lets say 0 to 10 seconds. If it less than 10 seconds, lets leave it or cut). Going through all of these clips and shortening them manually would take a lot of time.
What I'm looking for is a way to apply the an action (in this case shortening the video, but the action could be arbitrary) to all of the clips, either by selecting all of the clips at once, or by running each clip through a macro where it applies the action with one click (or shortcut).
Is there a way to do this in Adobe Premiere or should I look for a different tool and perform this batch action outside of Adobe Premiere?
Here is a screenshot example of the series of clips.

Edit:
I was able to do what I wanted using ffmpeg and a Ruby script that I created. Here is a video showing the script in action:

Although I was able to solve the problem at hand, I think the original question still stands:  Can you repeat and action (somewhat complex action) against multiple clips in Adobe Premiere in batch or select multiple fashion?

Adobe has included a scripting framework in most of its apps, (you may have noticed a tool called extendscript toolbox, that's the IDE for it). Unfortunately they neglected to document Premiere's scripting API, so you have to work it out yourself / using the internet.
So yes, you could indeed develop a script to do this within Premiere. After all, why spend hours doing something by hand when in only a few weeks you can develop a script to do it automatically?


text:
which are the good camcorder or DSLR to make video tutorials or MOOC to show on wide screen using projector?
I need your help to find best video recording equipment for shooting videos for online video dissemination and projector based.
Please help me to know that what is the difference between shooting videos using
Sony HXR NX1 Video Camera
Panasonic HC-W850K Digital HD Camcorder (Black)
Logitech C920 HD Pro Webcam (Black)
Nikon D5200 24.1MP Digital SLR Camera (Black)
Kodak PlayTouch Video Camera
How can i find recorded videos using each of this camera to compare output of each of camera and to know about limitation.
Can we shoot following videos using above camera?
10 Common Expressions in English

Matriz inversa, traspuesta y adjunta BACHILLERATO matematicas

Introduction to Limits (mathbff)

CA Ankita Mehta Patni - IPCC law lecture

Interview Question: Tell Me Something About Yourself?

Lecture1 - Introduction to Digital Circuits

Lecture - 1 Introduction to Data Structures and Algorithms

What is SharePoint? | lynda.com overview

HarvardX: CS50x3 Introduction to Computer Science

Lec 1 | MIT 6.00 Introduction to Computer Science and Programming, Fall 2008

Calligraphy_Devanagari_Letters

Thanks

How are you planning to record sound?

The SONY HXR NX1 is a staple of capturing professional-grade content that can be produced on its own or incorporated into other productions.  Yes, there are higher-end cameras, but this is a solid choice for a pro-level classroom.  I have seen this camera in many classrooms.  With a good operator, and a decent sound-recording system, you will be in the top quintile of production.
The Panasonic HC-850K has a marketing gimmick of being able to produce two video views at once, such as a wide view and a zoomed-in view.  I have not used this camera, but its relatively low price and very modern technology make it a sensible choice for somebody looking to prototype a solution, learn the limits of the camera, and then buy what's really needed without losing too much investment.
The Logitech C920 HD Pro Webcam is suitable if the scope of your subject is basically just sitting in front of it.  If your talking head talks while seated in front of a computer, great.  But if your talking head talks and walks (such as in front of a lecture board), it won't suit.  Similarly, if your demonstration requires aiming the camera at anything more interesting than a talking head, you will likely find the ergonomics of the webcam to be not worth the hassle.
A Nikon D5200 24.1MP Digital SLR Camera (and any other SLR) is probably a terrible choice for your application.  These cameras really are optimized for still shooting.  Yes, they do shoot video.  Yes, the video sounds like it has a good spec.  But the reality is they come with all sorts of limitations (such as a maximum 29 minute recording time).  And you need to get much more expensive and much less capable lenses to fill a sensor size you don't need/can't use for video.  DSLR video is always at least one step below a similarly priced true video camera.  And the lenses cost extra, compared with many video cameras, which have them built-in.
The Kodak PlayTouch Video Camera (and similar) are popular for "flipped" classrooms.  I.e., classrooms where both teachers and students can contribute video content to the overall experience.  If your MOOC idea involves student-contributed content, then giving everybody a level playing field can be a good idea.  But if you want to "produce" something, the limitations of these cameras will drive your producer crazy.

I have one more sub question in this.
I have listed few videos samples. can we shoot those using these cameras.


text:
Avid Media Composer Not Importing MP4s
I just installed Avid Media Composer 8.4.1, and am trying to edit some screen captured MP4s H.264 format I recorded with OBS.
However, when I try to import,transcode or link to file the video layer isn't there and I only get the audio. Also I have no AMA option.
I've made several projects thinking maybe the file configurations were different then the project's but that hasn't helped. Am I missing a plugin or something, because I can import these same files into Adobe Premiere Pro just fine?
Any help is appreciated, thanks.
If it helps my specs are:
AMD FX-8350 4.2GHz 8-core CPU
Gigabyte GeForce GTX 960 4GB GPU
16 GB of G.Skill Ripjaws 1600 DDR3 Memory
and 2 Western Digital Black 1TB 64MB Internal HDD

For what it's worth, I had to work with MP4s generated by OBS and Vegas Pro wouldn't display the video. Had to change import plugin used by Vegas. So, in your case, I'd suggest re-encoding to MP4 using Handbrake or similar.

Thanks, I'll give it a try. I just don't get why, when OBS uses the same H.264 encode as everyone else, so many NLEs have such a problem with it's MP4 files.

Sounds to me like your h264 compression is not digestible by the Media Composer you've installed.

The problem is that your video files are encoded using variable frame rate, which is typical of screen recorders. Premiere is trying to kind of grunt through it, but on longer clips you'll probably notice that you get some synch drift with the audio.
Transcoding for a constant frame rate file, either going back to H.264 (where you might lose some quality) or to something more editing-friendly, like DNxHD. ffmpeg can handle this pretty easily. Just be aware of the limited number of video formats that DNxHD supports.

mp4/h264 files are super compressed files and require a lot of horse-power to read. that's why a lot of machines and programs have trouble with them. also, they suck if you are trying to do precise synch-based work. work with proper codecs, ProRes or DNxHD.


text:
Why is my video freezing after uploading to YouTube / Vimeo?
I have a HD video that plays fine locally on my computer. But when uploading it to YouTube or Vimeo and then playing it there, it will have a section where the video is frozen and no sound is playing at all. Both video and sound may resume after this section, but not for all uploads I tried.
What is causing this malfunction?
Details:

In the same YouTube / Vimeo upload, the freezing was always at the same time when playing it multiple times. So it seems to be an issue with the video data, not with the playback software.

When comparing different uploads, the freezing never happened at exactly the same time, but often would last from around 5:30 (±10 s) to around 7:30 (±10 s). It seems to always be located somewhat later in the video, not right at the start.

The issue will not happen with short (~30 s) videos, even when these contain the exact clip that would freeze when inside a longer video.

YouTube greeted me one time with a message "Processing 99%. Processing is taking longer than expected. Hold tight." But when visiting the video's link, the video was already there and watchable in SD resolution (that is, processing had finished).

On one video, the frame where the freeze started was only visible properly in the upper half while its lower half had been replaced with vertical stripes, colored according to the last line of pixels shown of the upper half.

I am using the Firefox browser and have some extensions installed and enabled, including AdGuard.

There is a known bug in the AdGuard browser extension since at least June 2019 that causes this behavior.
Disable the AdGuard extension and re-upload your video to solve this.
According to my test, it seems you have to really disable the extension for the whole browser (and for good measure, restart your browser afterwards). Just using a Firefox Private Window did not help, even though the extension was set to be disabled in Private Windows.
As of this time, I also cannot exclude an issue with Firefox itself (Firefox 89 here). What always works is using Incognito Mode in Chrome.
Source: There are several reports from around the web about this being the cause of the issue:

Locally perfect video shows uploaded audio and video freeze spots (June 2019)
Freezing frames after upload to YT, Vimeo with Adguard on (August 2019)
What is the cause of static and freezing in an uploaded video? (September 2019)

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Ways to open a corrupted .avi?
I recorded some game footage using MSI afterburner and accidentally closed afterburner before stopping the recording and now I can't open the resulting file. MPC, VLC, Sony Vegas can't open it. MPC says "cannot render the file" others just don't react. The size of the file is 150Gb which is what I would expect. I want to extract/convert the data from the file somehow so that I can edit it in Sony Vegas. What should I try?
I tried using bandi-fix. It says that the file is not an avi file.
My MSI Afterburner settings :

The issue with repairing avi files is that in your case you used Motion JPEG compression not H264. Motion JPEG requires an ending bit of code at the end of the file. H264 builds the video in blocks and if the video is cut off then only the last block is bad and thus lost. The only way that I have found that may yield a result is opening it in a video editor, throwing it into a timeline and cutting off the end and re rendering it out into a new file. This doesn't always work as most editors won't import the file, but it is worth a try. The short answer is that if this does not work then you are probably out of luck. Sorry for the bad news.

If an editor could open it there would have been no problem. But thanks for the insight on how mjpg works.


text:
Auto upload (ftp) video file once it's finished encoding
I'm in a live production, and I'm clipping hundreds of short videos all day every day. What I'd like to do is use some application to set a watch folder, and as soon as I hit stop on the encoder, and the file is complete, it automatically uploads to a root directory on a specified ftp site.
I've tried using winscp, autover, and many others, but I keep running into several issues: 1) If I set a watch directory, and the file starts encoding, it's changing file size every second, so the application basically tries to do a new upload every 1 second on a file that's not even complete. So that doesn't work. And 2) The ftp has a cron job that pulls the file out of the root once the upload is complete, so it disappears from the remote, so some of the apps detect this as a change and try to reupload all the past videos.
What I'm looking for is an app that I can point to a folder, and say "Don't upload old files that aren't changing in size, don't try to sync directories, just wait for new files to show up, and keep checking their size every 5 seconds, after 5 seconds pass and the size hasn't changed, upload to this ftp."
But so far I'm striking out. Any help would be appreciated.
My clipping machines are Windows 7, but I also use Windows 8.1 / 10.

What OS are you using?

using Windows. My clipping machines are win7, but I also use other laptops that are 8.1/10. I'll edit that into the original post.

Maybe someone will chime in with an app suggestion that directly fulfills your need, but here's a temporary workaround - a bit convoluted, but should work.

Create two folders A and B.
Set folder A as the destination folder in the encoder.
Apply a suffix to all the output files being generated, something innocuous like ENC e.g. Clip2015-09-25-23232-ENC.mov - this step assumes that there may be other non-actionable files in the folder. Skip if not so.
Set up a batch job that runs periodically, whose first command is to rename all files with the suffix, like by adding a prefix or another suffix. And whose 2nd command is to move all files with the new prefix to folder B
While the encoder is working on a file, it has a lock on it, and so only completed files will get renamed. And only those will be moved to B.
Use any of your aforementioned FTP apps to watch folder B and transfer files.

This is a great suggestion! Thoughts:
3. Each folder would contain ONLY video files, nothing else.
5. If the file has a lock on it (which makes sense) how can you identify this state? And why don't the auto-upload apps ID this? Are there any apps out there without writing a script that can ID this state? The reason I'm asking is I'd like to be able to come up with an out of the box solution that I can send around to other staff members without having to require they know how to modify scripts.
-- Overall though, the move from one folder to another is a great idea.

The lock prevents other apps/processes from modifying or deleting the file, but not from reading it - so a local or remote copy will still work. The rename trick works because it modifies the file and hence requires the encoder to be done with it.

Your task needs that the app which identifies the lock state pass along a list to the file transfer app - specifically, the folder's set of unlocked files. So, while a search throws up many apps which identify if a file is locked and who's locked it, don't see one that can interoperate with the FTP app or carry out move operation. A script seems to be needed.

In addition to @Mulvya answer:
In order not to count on inability of renaming of file, you can check it's "last modified" value. If difference between current time and "last modified" time is greater by some value, then move it into folder B.


text:
Photoshop CC video render has no sound
On Photoshop CC 2015.0.0 I can play my video and hear the camera audio soundtrack. When I render the resultant MP4 has no sound. My movie consists of Nikon .MOV files, and some text overlays and is 35 minutes long. Render settings are shown below.

What am I missing?
[Edit] Preset options shown below.

The "Adobe Media Encoder" drop-down also contains Photoshop Image Sequence (which will save a series of JPEGs).

There are no settings related to audio in that dialog box. What other options do you see in the dropdown menu currently set to 'Adobe Media Encoder'

@Mulvya, one other option - "Photoshop Image Sequence" - which, AFAIK generates a series of JPEGs.

Ok, I have the same options in CS6 and it works here i.e. I get audio when rendering to MP4. I suggest opening some other video with audio in CC and rendering that to MP4. Check if there's still no sound.

Adobe released Photoshop CC 2015.0.1 this evening and it seems to have fixed the problem. (I had tried again with a short clip and couldn't get any sound.)

So, unfortunately, I don't really know what the problem was, but this patch seems to have fixed it.


text:
How can I quickly reduce .mpg files?
I recently imported a few personal videos I had on VHS or video 8mm tapes using Roxio Easy VHStoDVD equipment and software onto a Mac.
But here's the thing: the files are in .mpg format, very large, and I am wondering how I could possibly reduce them.
The encoding containers are:
Video Format: MPEG-2 Video
Audio Format: MPEG Layer 2, 48000 Hz
I tried placing them in an After Effects or Premiere Pro timeline to export in a mp4/H.264 file, but neither AE nor PP would read the file properly.
I opened one of them with QuickTime, thinking the Export feature might work, but it was incredibly slow and would have taken me several weeks to get it all done.
I'm looking for a solution that can be quick (or even batched) and that would output a H.264 / mp4 file - ideally somewhere around 5-10 Mbps and deinterlaced.
When using Handbrake, the files coming out are sometimes larger than the original files, and Handbrake doesn't allow cropping black letterbox bars on the sides (not necessary but would be a plus).

If you're comfortable with the command-line, FFmpeg will do the job.
Since these are VHS rips, 5-10 mbps is way overkill when using the H.264 codec.
Suggested command:
ffmpeg -i rip.mpg -vf yadif,scale=iw*sar:ih,setsar=1 -crf 18 -c:a aac -b:a 128k rip.mp4

This will deinterlace the video, then convert it to a square pixel representation. Audio codec is AAC @ 128 kbps. Video bitrate control method is CRF, which strives to allocate bits as per content complexity i.e. tries to maintain uniform quality throughout. 18 is a good value for SD content. Lower values produce better quality (and larger files) but shouldn't be necessary here.

You can create a batch file to automate the conversions or use a GUI like Avanti, which has a job control manager.

There's lots of detail missing here, but your best solution might be a program like Handbrake, or if you're comfortable at the command line, ffmpeg. "Quick" is relative, but with Handbrake you can queue your files, or have it convert an entire directory unattended. I use it daily, often letting it run overnight.
You can google for the latest ffmpeg build for your platform (Windows? Mac? Linux?).

What details could I add? Let me know I will


text:
Positioning subtitles in Premiere Pro CC
In the process of producing a video, we are creating subtitles.
We have decided to align the text object's vertical center at 10% of the height of the frame as seen on this mockup:

In Photoshop and After Effects, it is easy to add Guides to your workspace area with the shortcut ⌘ + R.
For example, for a video 3840 x 2160 in size, one would drag a Guide to 1944px down on the frame (height in pixels minus 10%), and align text objects to the middle with Snap to Guide feature:

However, we are stuck with a Premiere Pro CC workflow for the moment, which doesn't have the Guides feature. Moreover, it seems that Premiere Pro has two different ways of handling origin points of layers whether it's a Video layer or a Text layer (which both has a "Motion" and a "Transform" panel with positions):

How do I position text objects in Premiere Pro so that the vertical center of the text element is at 10% of the height of the video as showed on image 1?
(At the moment, we are using a "Guide" layer where a line was drawn in photoshop at the right position, but we cannot keep this imprecise process going.)

Do the math
If you want to align your text using percentage offsets or any other 'round' number in pixels, you just need to perform some simple calculations. For example, 10% from the bottom of a 3840 x 2160 canvas:
2160 - (2160/10) = 1944

Since you want your text to be vertically centered on the line at 10%, you will have to modify this by half your font-size, for example for a font-size of 24px:
2160 - (2160/10) - (24/2) = 1932

So if you haven't changed the default anchor point (0, 0) which is in the upper left corner of the canvas, set the text position to (1920, 1932). This only works with center-aligned text, since in this case Premiere uses the horizontal center of the text instead of the lower left boundary as the point of origin.
If you are using Legacy Titles or an older version of Premiere Pro CC which doesn't have the new Essential Graphics panel, each of your titles will be a singular clip in the timeline; in this case, use the Position Parameter of the Motion effect to position the text. If you're using the current version of Premiere Pro and have access to the Essential Graphics toolkit, you can use text as a part of any graphic layer, in which case you can use the Position Parameter of the Transform setting of the Text (see Screenshot for clarification).

By now you're probably thinking that you shouldn't have to do that much math to position your captions, and you would be right. Which leads to my main point ...
Don't do the math
It's tempting to use percentages of the screen or 'round' numbers to position things such as titles, but it's really not a good habit. No reader is gonna care that you aligned the titles pixel-perfectly, all they care about is that it's easily readable. The right alignment, size and safe margins for your text depend on your target audience (old people with bad eyesight need larger text), what kind of devices your video will be watched on (CRT-TVs for some reason? you better stay within the title-safe area) and factors like this, so those factors should be considered when positioning your text, not some arbitrary geometric value that doesn't have any significance.
Workflow

However, we are stuck with a Premiere Pro CC workflow for the moment, which doesn't have the Guides feature.

Now this is just a question of streamlining your workflow. In Photoshop you might use manually positioned guides and have Snap to Guides toggled on so you can just drag and drop the text to the bottom and have it snap in place. With Premiere, you have several other options to make sure all your text is positioned alike (which is important indeed!), for example:

Copy the text layers and change the text, this way you retain all settings including position.
Copy just the effects and paste them over your text clips (this will work well with the old Legacy Title system).
Use Master Styles (Tutorials here and here; I haven't actually used the new Essential Graphics workflow much so far, so you'll have to play around with it a bit, but I'm sure you will find plenty of options to set different styles and defaults).

The optimal workflow for your title creation depends on the rest of your editing workflow, your version of Premiere Pro and your personal preference. Make sure to invest the time to find the optimal route based on those factors, even if the amount of time you save per added title is small - it will pay off over time.


text:
How match this broadcast standards with Premiere and ffmpeg
I have to export an MXF file for a program that have certain limitations:

Conform to SMPTE 274M, “1920 x 1080 Scanning with no visible video impairment such as blocking errors or pixelization artefacts.
  Luminance and color difference signals must not exceed the bounds of legal gamut. Video technical standards are fully detailed in ITU-R
  BT.709.5.
For the video levels, sync and blanking must be in accordance with EBU recommendations, the component video levels must not exceed
  700mV ±3% for the luminance channel and ±350 mV for the color
  difference channels.  No excursions below black level can be tolerated
  in the luminance, never below 0mV.

I marked in bold the parts where I'm not confident with.
Let's say that I have already exported an intermediate ProRes or DNxHD file and I want it to be used as input in the timeline for the new export as the definitive MXF.
How can I meet that requests with Premiere ? I saw under the Color Correction filter category some plugins like Video Limiter and Broadcast Colors but the amount of tweaks given seems poor to me and I can't find values expressed in mV ..

What I am missing ?
My request is how to do it with Premiere.. and if is possible do the same also with ffmpeg, thanks!!
I'm already working in rec 709 environment:
MediaInfo says:
Color primaries             : BT.709
Transfer characteristics    : BT.709
Matrix coefficients         : BT.709
matrix_coefficients_Origina : BT.709
This is my ProRes input.

To legalize video with the Video Limiter:

Set the Reduction Axis to Chroma and Luma.
Set the Signal Minimum to 0% (=0 mV).
Set the Signal Maximum to 103% (=700 mV + 3%).

The rest of the settings may take some experimentation to find something that looks good for your project.
I strongly recommend double checking you are within limits with a good gamut visualization. I'm partial to the Tektronix split diamond display, but other test equipment vendors have other good versions. If you are going to be delivering a lot of files, a file-based QC system will also be able to check for legal colors and some can even do the correction.
Something to take in to consideration, depending on the broadcaster you are delivering to, they may not enforce the gamut requirements all that strictly. I know that most in the US don't, unless you are severely and noticeably out of gamut.

Thanks for your reply, I'm delivering to an european broadcaster, hence the pal setting I was trying to use in the broadcast colors filter. For what concern the other settings I have idea how to set them. I'm not part of the creative process of making the movie. I had only to join audio and video plus check the correct levels before delivery the final file. I also can't at all use hardware tools, all I can do is software with my workstation. Can you extend your reply trying to match also the other settings like: Reduction Method (i guess i have to use compress all) and Tonal Range Definition ?

Out of curiosity, what Broadcast Colors effect do? Should I use both Video Limiter and Broadcast Colors or just only the Limiter to obtain my purpose ? thanks!

The Broadcast Colors effect has been deprecated. It was for NTSC and PAL gamuts and probably won't give you good results with HD. As far as I know for the other Video Limiter settings, there aren't any specific settings to guarantee legal colors. You'll need to experiment based on the look of your project. There are software "meters" out there that are better than using a waveform monitor, but you can use a waveform in parade mode or isolating individual channels to confirm legality.

Interesting the consideration for Broadcast Colors, I will avoid using it then. My job this time was to do some post on titles and graphics but as I said I'm not part of the creative process that's why I'm looking for a file based checker or software to limit automatically everything inside the requested values. Is not something that I want to do frame per frame manually.. that's just crazy. I have to conform something like 25 episodes each time of a series, you can understand that what I set inside that parameters must be certain and not a thing that I can experiment each time :\

It definitely isn't something you need to do frame by frame, but blind application of legalizers can dramatically affect the overall look. For delivering that much material, consider looking at commercial products like Tektronix Aurora, Interra Baton, or Telestream Vidchecker. One of those is likely to be the software that the broadcaster will be using to QC what you deliver.

Sorry to ask again but I tried to apply your solution. If I switch to Chroma and Luma, it happens that 4 settings appears, there's no "Signal Max" and "Signal Min" but "Luma Min", "Luma Max", "Chroma Min" and "Chroma Max". I do believe that I have to set Luma Min to 0% and Luma Max to 103% but I have no idea how to set Chroma Min and Chroma Max to meet the QC requirements.

±350 mV for the color channels is the full range. The spec doesn't seem to specify accuracy, so you could probably get away with the same 3% margin of error. 0 and 103 would probably be good values and that matches with post linked to in the answer.

Normally chroma inside the video limiter ranges from -30% to 130%, if I put the lower limit to 0 instead of -30% the bars already start to become terrible looking. I think that the values should be different than 0-103 this time :(

As per pg 12 of this BBC document,
TECHNICAL STANDARDS FOR DELIVERY OF TELEVISION PROGRAMMES TO BBC

The limits of signal levels are defined by reference to a nominal
  black level and a nominal white level. Black level comprises R, G and
  B all at zero (or 0% or 0mV) and white level is all three components
  at 100 % or 700mV.
In a picture signal, each component is allowed to range between 0 and
  100% (or 0mV and 700mV). This equates to digital sample levels 16 and
  235 (8-bit systems) or 64 and 940 (10 bit systems).

You don't mention which encoder you wish to use, but my fallback answer is that if the input to ffmpeg is studio/limited range i.e. 16-235 luma and BT.709, so will the output.
You can use either the waveform (visual) or signalstats (text) filter to check for out-of-range values.

I updated the answer with my orginal prores input (bt.709 indeed). At this point maybe is better split the ffmpeg topic in a new question that I will link here.

This is the link to the new question: https://video.stackexchange.com/questions/21878/check-first-then-enforce-and-match-various-broadcaster-requests-with-ffmpeg


text:
Correct workflow in Adobe Premiere for work with interlaced content
I have in input a DNxHD 120 in mov container 25fps interlaced upper field, I have to do various kind of edits, cuts, replace some pieces with after effects compositions and at the end of all the job export everything as a MXF 25fps again interlaced upper field.
Until now I always worked only with progressive contents so I'm unsure if what I'm doing is correct:

I imported the footage into the project
Created a new sequence based on what i think is the correct format: 1080 25fps interlaced upper field
Started cutting, pasting and replaced some after effects comps
Export with media encoder using the DNxHD SD 1080i 50 (i wonder why i can't find a 1080i 25 preset), however even if is writtend 50 it seems i can pick 25 fps.

Is all this correct ? I mean what's the best practice ? I'm keeping everything interlaced upper field. I think Premiere is a professional software able to handle all the footage in interlaced without problems.
or
Should I instead convert and make everything progressive first and then export again back in interlaced? (i fear this solution is not very good)
I also have this error if i try to rotobrush the footage:

This is starting to confuse me even more, why i should use a 50fps ?

interlacing means half resolution fields at double the frame rate. Hence the 50fps.

As for how to work... it all depends on what your final destination is. Are you working on a piece to be broadcasted, or for the Web? In the latter case, the final product should be progressive. If the former... the in turn it depends on your source material, which seems to be interlaced.
So you should:

Create an interlaced project, "1080i50". The "50", in this case,
doesn't mean "frames per second", but "fields per second" (2 fields
= 1 frame).
Work as you would normally in Premiere.
Export it in an interlaced format too. "1080i50" sounds good, but again, that
depends on the final destination of your piece.

Regarding the after effects warning do you have some ideas ?

It's been a while since I've had to work with interlaced content, so I don't remember offhand, but doing a quick Google search finds this: https://forums.adobe.com/thread/730692


text:
Extract all audio channels as separate wave file from a multichannel file
I have this file, and would be cool use ffmpeg for extract all audio channels to separate files..
I know how to extract a single channel at time in a way like:
ffmpeg -i input.mov -map 0:1 -c:a copy output.mov

However this will work for the first channel only.
Aside with for $i 0 to 15, is there a way to extract all the audio channels at one in a specific directory?
ffprobe says:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\myfile.mov':
  Metadata:
    creation_time   : 2016-04-25T14:10:57.000000Z
    timecode        : 10:00:00:00
  Duration: 01:30:36.32, start: 0.000000, bitrate: 193036 kb/s
    Stream #0:0(eng): Video: prores (apch / 0x68637061), yuv422p10le(bt709, progressive), 1920x1080, 174295 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 25 tbn, 25 t
bc (default)
    Metadata:
      creation_time   : 2016-04-25T14:10:57.000000Z
      handler_name    : Apple Alias Data Handler
      encoder         : Apple ProRes 422 (HQ)
    Stream #0:1(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
    Metadata:
      creation_time   : 2016-04-25T14:10:57.000000Z
      handler_name    : Apple Alias Data Handler
      reel_name       : Unnamed
      timecode        : 10:00:00:00
    Stream #0:2(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, 16 channels, s32 (24 bit), 18432 kb/s (default)
    Metadata:
      creation_time   : 2016-04-25T14:10:57.000000Z
      handler_name    : Apple Alias Data Handler

Unsupported codec with id 0 for input stream 1

EDIT: It should be something like this..
ffmpeg -i input.mov -filter_complex \
"[0:a]pan=mono|c0=c0[a0]; \
 [0:a]pan=mono|c0=c1[a1]; \
 [0:a]pan=mono|c0=c2[a2]; \
 [0:a]pan=mono|c0=c3[a3]; \
 [0:a]pan=mono|c0=c4[a4]; \
 [0:a]pan=mono|c0=c5[a5]; \
 [0:a]pan=mono|c0=c6[a6]; \
 [0:a]pan=mono|c0=c7[a7]; \
 [0:a]pan=mono|c0=c8[a8]; \
 [0:a]pan=mono|c0=c9[a9]; \
 [0:a]pan=mono|c0=c10[a10]; \
 [0:a]pan=mono|c0=c11[a11]" \
 [0:a]pan=mono|c0=c12[a12]" \
 [0:a]pan=mono|c0=c13[a13]" \
 [0:a]pan=mono|c0=c14[a14]" \
 [0:a]pan=mono|c0=c15[a15]" \

-c copy -c:a pcm_s24le
-map 0 -map -0:a -map "[a0]" audio_00.wav -map "[a1]" audio_01.wav -map "[a2]" audio_02.wav -map "[a3]" audio_03.wav \
-map "[a4]" audio_04.wav -map "[a5]" audio_05.wav -map "[a6]" audio_06.wav -map "[a7]" audio_07.wav \
-map "[a8]" audio_08.wav -map "[a9]" audio_09.wav -map "[a10]" audio_10.wav -map "[a11]" audio_11.wav
-map "[a12]" audio_12.wav -map "[a13]" audio_13.wav -map "[a14]" audio_14.wav -map "[a15]" audio_15.wav

Not possible...

@Mulvya hello Mulvya, it seems to be possible looking this answer: https://superuser.com/questions/964629/splitting-one-stream-12-channel-audio-into-separate-mono-channels

Sorry, I didn't understand at first. I thought you wanted an automatic way to route separate streams into separate outputs. Your example command uses -map 0:1 which maps a stream, not a channel. There's -map_channel which just calls pan. You still have to manually probe # of channels and compose the filtergraph.

@Mulvya I see, so I should write in another language a script that could match the # of channels and write the ffmpeg command to be executed, ffmpeg can't do it by itself, is that what you meant ?

Yes, that's right.

@Mulvya ok probably I will create it, however could you help me with an example of map_channels or map to different files ? I wrote an example in the main question, please give a look at it :) ( i wonder about the map_channels solution tho )

Why not use the channelsplit filter?
First, get audio streams:
ffprobe "$f" 2>&1 | grep Stream | grep Audio
Stream #0:1(eng): Audio: dts (DTS-HD MA), 48000 Hz, 7.1, s32p (24 bit) (default)
Stream #0:2(eng): Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s

Choose Stream #0:1 and get layout:
ffmpeg -layouts 2>&1 | grep "7.1"
7.1            FL+FR+FC+LFE+BL+BR+SL+SR
7.1(wide)      FL+FR+FC+LFE+BL+BR+FLC+FRC
7.1(wide-side) FL+FR+FC+LFE+FLC+FRC+SL+SR
7.1(top)       FL+FR+FC+LFE+BL+BR+TFL+TFR

Choose:
7.1            FL+FR+FC+LFE+BL+BR+SL+SR
Use:
"[0:1]channelsplit=channel_layout=7.1[FL][FR][FC][LFE][BL][BR][SL][SR]"
Note that stream 0:1 is in [] . This is how to specify a specific stream out of more than one stream. Note that the channel order follows the chosen layout.
Extract channels as W64 wavs. This insures that output files greater than 4GB don't trigger the error 'Filesize ####### invalid for wav, output file will be broken' . This format is compatible with most DAWs.
ffmpeg -y -i "$f" -vn -sn -map_chapters -1 \
-filter_complex "[0:1]channelsplit=channel_layout=7.1[FL][FR][FC][LFE][BL][BR][SL][SR]" \
-c:a pcm_s32le -map "[FL]" FL.w64 \
-c:a pcm_s32le -map "[FR]" FR.w64 \
-c:a pcm_s32le -map "[FC]" FC.w64 \
-c:a pcm_s32le -map "[LFE]" LFE.w64 \
-c:a pcm_s32le -map "[BL]" BL.w64 \
-c:a pcm_s32le -map "[BR]" BR.w64 \
-c:a pcm_s32le -map "[SL]" SL.w64 \
-c:a pcm_s32le -map "[SR]" SR.w64

For me the -map_channel option did the trick:
get the file layout using ffprobe multichannelinputfile.mov
ffprobe version 4.1 Copyright (c) 2007-2018 the FFmpeg developers
  built with Apple LLVM version 10.0.0 (clang-1000.11.45.5)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gpl --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-opencl --enable-videotoolbox
  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
[aac @ 0x7f903d01fa00] Assuming an incorrectly encoded 7.1 channel layout instead of a spec-compliant 7.1(wide) layout, use -strict 1 to decode according to the specification instead.
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'set1permeke.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 0
    compatible_brands: qt
    creation_time   : 2019-01-05T22:00:13.000000Z
    com.apple.quicktime.make: Apple
    com.apple.quicktime.model: MacBookPro15,1
    com.apple.quicktime.software: Mac OS X 10.13.6 (17G4015)
    com.apple.quicktime.creationdate: 2019-01-05T21:58:54+0100
  Duration: 00:57:02.28, start: 0.000000, bitrate: 23693 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1040 [SAR 1:1 DAR 24:13], 22756 kb/s, 60 fps, 60 tbr, 6k tbn, 12k tbc (default)
    Metadata:
      creation_time   : 2019-01-05T22:00:13.000000Z
      handler_name    : Core Media Video
      encoder         : H.264
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 7.1, fltp, 928 kb/s (default)
    Metadata:
      creation_time   : 2019-01-05T22:00:13.000000Z
      handler_name    : Core Media Audio
[aac @ 0x7f903d019600] Assuming an incorrectly encoded 7.1 channel layout instead of a spec-compliant 7.1(wide) layout, use -strict 1 to decode according to the specification instead.`

I then mapped all the audio channels to separate files for easier editing in my DAW:
ffmpeg -i multichannelinputfile.mov -map_channel 0.1.0 ch0.wav -map_channel 0.1.1 ch1.wav -map_channel 0.1.2 ch2.wav -map_channel 0.1.3 ch3.wav
and so on producing the required separate wav files.

If you have a lot of channels (e.g. 32): printf -v channelmap " -map_channel 0.1.%s -c copy 'OUTPUT_CHANNEL_%02d.wav'" {0..31}{,}; eval ffmpeg -i INPUT.WAV $channelmap

@kaosbeat Can you show the ffprobe command you actually used, to make your answer stand-alone?

@QuantumMechanic it's just "ffprobe filename.mov", It'll try and update it in the answer

"The -map_channel option is deprecated and will be removed. It can be replaced by the 'pan' filter, or in some cases by combinations of 'channelsplit', 'channelmap', 'amerge' filters."

authors: Валерий Заподовников


text:
After Effects CC and Premiere CC Live Text after CC 2018
I'm still using the 2018 version of Premiere and AE, I do know that they introduced the mogrt and other features to fast place block of graphics developed in ae and to be changed in premiere.
Now the 2018 version had the ability to change the texts in realtime via directlink.
I'm talking about this function:

Has this option been deprecated?
What if I'm working in premiere with various instances of graphics and suddenly I want to change the graphics in ae and go back in premiere ?
Given that the mogrt have to be saved outside ae and imported back in premiere, the ability to edit the file in ae and have premiere automatically updated is still here?
Or... do you have to finish completely the graphics in ae, export as file and work in premiere hoping that you will never need to change something in the ae graphic?
Thanks


text:
What CRF or settings I should choose for h265 in order to achieve a similiar quality of h264?
I'm doing some experiments with HEVC x265.
I have a raw footage and the quality of details of h264 with same CRF setting looks better than h265.
Shouldn't be the opposite?
Maybe my setup isn't the best: I'm using ffmpeg for transcoding and vlc for review the videos, then i copy the screen content and compare the screens on a program like photoshop.
FFmpeg commands I using are the following:
ffmpeg -i input.mp4 -c:v libx264 -crf 30 -c:a copy output_h264.mkv

and
ffmpeg -i input.mp4 -c:v libx265 -crf 30 -c:a copy output_h265.mkv

I used 30 as CRF for testing purposes because the artifacts are more visible :)
Could the loss of quality be caused by VLC and its experimental support in deconding h265? Maybe something more visible at lower bitrates?

The CRF scales for x264 and x265 do not correspond. x265 CRF 28 is supposed to be equivalent to x264 CRF 23. But x265 is not yet as mature in its development as x264, so take that CRF equivalence with a pinch of salt.
That said, you can try to establish your own calibration between the current versions of the encoding libraries in your ffmpeg by running the following command, which executes two popular video quality metrics:
ffmpeg -i encoded-video.mp4 -i reference-video.mp4 -lavfi "ssim;[0:v][1:v]psnr" -f null -

The final lines of the console output will contain:
[Parsed_ssim_0 @ 000000000039ad80] SSIM Y:0.984483 U:0.980458 V:0.980921 All:0.983219 (17.751712)
[Parsed_psnr_1 @ 0000000000398320] PSNR y:42.63 u:43.19 v:44.09 average:42.90 min:42.07 max:46.16

So, run the command once with the x264 output and once with x265 and compare with different x265 outputs, till you get similar measures. Of course, these metrics aren't perfect but you can use them as a rough guide to establish equivalence.

Hmm interesting, may i ask why this scales doesn't correspond? Is a wanted design with a bigger amount of CRF values or could be considered this way because libx265 is still not mature enough in ffmpeg?

An addition to the previous comment. In ffmpeg documentation that you linked is said that x265 crf 28 is roughly equivalent to x264 crf 23. So, if generally the CRF of h265 are "better" qualitatively speaking than the x264 ones how is possible that the encode results of x265 is worst than x264 with same CRF ? Still a vlc bad decoding + libx265 too young?

28 and 23 are the default CRF values of x265 and x264 respectively, hence the supposed equivalence. The short answer to the deviation from expected performance is that x265 is still under "heavy development". Nothing to do specifically with libx265 included with ffmpeg  See http://forum.doom9.org/showthread.php?t=170986 and http://compression.ru/video/codec_comparison/hevc_2015/MSU_HEVC_comparison_2015_free.pdf

I see, so because of this heavy development status even if I decide to move from ffmpeg and libx265 to another encoder the results will not change so much right? There aren't some commercial products based on x265 nowadays? Should have been already almost completed in all its parts!

If you look at the PDF I linked in the last comment, there are many encoders out there - most proprietary. My observation is confined to standalone x265 or its deployment, whether in ffmpeg or anything else. Those other encoders might be better - I haven't studied that PDF closely.

What's the x265 equivalent of x264 crf 18?

Around 21.......


text:
VLC Alternative for fine review media with possibly frames control and detailed codec informations
Some people around the web say that VLC is the cinderella of the video players, they say it make too much automatically picked video filters and conversions that not decode properly the media in the best way.
While I'm not sure about what this persons are talking about the reason why I use VLC is without doubt the capability of being able to play audio/video with almost every codec and in whatever container without extra setup even by running just VLC in portable mode from a folder.
The same folks suggests XMBC but I don't need a full screen remote style video player, what I would like instead is a program capable of:

play practically everything without codec installation
fine playback controls to move across frames and keyframes ( a nice interface )
fast and handy codec informations to read in "one sight" Container, Streams, their Codecs and Bitrate used, then all the other useful info
if there are uncertain condition like a color conversion or something like that have a menu that allows you to try various options without force the user to have a certain choice.
free but highly appreciated OPEN SOURCE and MULTIPLATFORM
well optimized
No fancy Skins, possibly no skin support at all, this is to be intended as pro users program we like the os standard windows.

Bonus:

metadata full edit and managing
video proofing with gamut warnings and settings like photoshop for display in rec 709 or other color spaces
if the video is in a RAW supported format es: RED, CinemaDNG, ArriRAW would be nice have some minor extra controls to shift the exposure during the play and check also for clipped areas with red (highlights) and blue (blacks)

In short a VLC with Steroids for media review, able to show you all the flaws and things to check after you exported a video from your common tools/apps.
Would be cool if a program like this would exists :)
PS: Vlc has a codec info windows, but it could be improved, also the bitrate is not calculated in the same better way of ffprobe. Also vlc have not a nice and handy frame browsing interface, it also doesn't allow stuff like scrubbing on the timebar holding shift like you do in VirtualDub and so on. I'm searching for a program that offer the best sides of all this softwares.

I haven't used VLC as my primary player since 2007. I switched over initially to KMPlayer and then Potplayer. Potplayer allows fairly flexible splitter and codec assignment for decoding. It also sports a whole host of video and audio processing filters. In fact, I believe that one can use Avisynth filters to process the video during playback, too.

Thank you, I will give a look on it however I think could be needed test it into a separate environment because of: https://www.virustotal.com/en/file/32e34b4902b015506117ed430fee9fd0643c828d9f12dcaa19aea442dba7f181/analysis/
The codec window is nicer than VLC one and informative, advanced playback controls are still not at the level I'm looking for and not open/multiplatform but it's a nice suggestion. Let's see what the community suggest, for now upvote!

Use the 32-bit version. I would ignore the virus flags; I have had no issues in the 3-4 years I've used it. What advanced playback controls do you want?

Next Frame, Previous Frame, Next x Frames, Previous x Frames, time expressed in timecode, customizable hotkeys for jump to next or previous frame, precise fine tuning of the speed without having to mess on a generic "faster" or "slower", goto frame or time directly on the same interface, hotkey mouse related to scrub on keyframes like in VirtualDub and even something better/nicer you have on professional tools. I'm aiming for a professional video review software not just a simple player but with the same principles of VLC.

Press 'Tab' for time code expressed in frames and other details. Press 'F' for next frame, 'D' for previous frame. 'G" for jump to specific frame or timestamp. Ctrl+Shift+Left or Right to jump to previous or next keyframe. You can also customize keys to jump 'x' seconds forward or back.

Explore the menu and the preferences. In most cases, it's more powerful and flexible than VLC. You can get skins where more of these functions are exposed as buttons in the interface. The default skin is meant to be minimalistic.

I see, i will but, for the sake of curiosity I'm still in wait of some alternatives. Maybe this topic could be moved to Software Recommendations ? Actually is a software request !


text:
h264 and h265 keyint params settings
Fiddling with the h264 and h265 params I found both keyint and min-keyint settings.
Setting keyint shouldn't force the codec library to use exactly that frame interval?
Do min-keyint have something to do with scene detection and if set it take priority over keyint plain setting ?
TL;DR: I found that h265 default settings are keyint=250 and min-keyint=25 ... what I should expect from that? A fixed length GOP or a variable length one?

See these two links:
1) MeGUI/x264 Settings for an explanation of the parameters like keyint.
2) About --keyint --min-keyint and --scenecut for a discussion at Doom9 about how they interact, specifically

--keyint is the maximum interval. x264 will insert key frames earlier if it deems them beneficial, e.g. due to a scene change. From my
  experience the majority of key frames are in place because of the
  properties of the video, not because keyint was reached. The larger
  --keyint is the smaller the impact on overall key frame placement should be.

Oh well I see, the name of the setting could have been max-keyint so ;D all would have been more clear this way..

You can enforce fixed GOP size by setting both to same value.

Oh yes, nice solution :)


text:
Using h264 in loseless mode brings small unexpected results
I got curious on ffmpeg screen capture capabilities and started messing around with a simple realtime capture test in h264.
ffmpeg -f dshow -i video="screen-capture-recorder" -video_size 1920x1080 -framerate 30 -c:v libx264 -crf 0 -preset ultrafast capture.mkv

Based on what is said on ffmpeg h264 documentation with the -qp 0 or -crf 0 options libx264 should work in lossless mode.

You can use -qp 0 or -crf 0 to encode a lossless output. Use of -qp is recommended over -crf for lossless because 8-bit and 10-bit x264 use different -crf values for lossless.

This is also repeated in the realtime capture section help when talking about an optional re-encoding with a slower preset to try saving some size:

Note that since the initial recording was lossless, and the re-encode is lossless too, no quality loss is introduced in this process in any way.

Based on this I trusted the guide and assumed using -qp 0 I would achieve a fully lossless workflow ;)
However I found it introduce some loss in particular situations.
So I made another test with the huffyuv codec with this code:
ffmpeg -f dshow -i video="screen-capture-recorder" -video_size 1920x1080 -framerate 30 -c:v huffyuv capture.mkv

the results:

Screen 1: h264 in lossless mode
Screen 2: huffyuv
Based on screens huffyuv is perfect, a true lossless codec while h264 instead compress something here and I'm unable to understand why if it should be setup in a lossless mode.
(huffyuv is identical to a bitmap screenshot of the desktop, I would achieve the same with h264)
Can someone help me figuring it out?

Edit: Adding some ffmpeg dumps as required in comments ;)
h264 run:
ffmpeg -f dshow -i video="screen-capture-recorder" -video_size 1920x1080 -framerate 30 -c:v libx264 -qp 0 -preset ultrafast capture.mkv
ffmpeg version N-73411-g5233f25 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.9.2 (GCC)
  configuration: --arch=x86_64 --target-os=mingw32 --cross-prefix=/home/user/san
dbox/mingw-w64-x86_64/bin/x86_64-w64-mingw32- --pkg-config=pkg-config --enable-g
pl --enable-libsoxr --enable-fontconfig --enable-libass --enable-libutvideo --en
able-libbluray --enable-iconv --enable-libtwolame --extra-cflags=-DLIBTWOLAME_ST
ATIC --enable-libzvbi --enable-libcaca --enable-libmodplug --extra-libs=-lstdc++
 --extra-libs=-lpng --enable-libvidstab --enable-libx265 --enable-decklink --ext
ra-libs=-loleaut32 --enable-libx264 --enable-libxvid --enable-libmp3lame --enabl
e-version3 --enable-zlib --enable-librtmp --enable-libvorbis --enable-libtheora
--enable-libspeex --enable-libopenjpeg --enable-gnutls --enable-libgsm --enable-
libfreetype --enable-libopus --disable-w32threads --enable-frei0r --enable-filte
r=frei0r --enable-libvo-aacenc --enable-bzlib --enable-libxavs --enable-libopenc
ore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-libschroed
inger --enable-libvpx --enable-libilbc --enable-libwavpack --enable-libwebp --en
able-libgme --enable-dxva2 --enable-libdcadec --enable-avisynth --enable-static
--disable-shared --extra-cflags= --prefix=/home/user/sandbox/mingw-w64-x86_64/x8
6_64-w64-mingw32 --extra-libs=-lpsapi --enable-nonfree --enable-libfdk-aac --dis
able-libfaac --enable-nvenc --enable-runtime-cpudetect
  libavutil      54. 28.100 / 54. 28.100
  libavcodec     56. 46.101 / 56. 46.101
  libavformat    56. 40.100 / 56. 40.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 20.100 /  5. 20.100
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.100 /  1.  2.100
  libpostproc    53.  3.100 / 53.  3.100
leaving aero onInput #0, dshow, from 'video=screen-capture-recorder':
  Duration: N/A, start: 362931.503000, bitrate: N/A
    Stream #0:0: Video: rawvideo, bgr0, 1920x1080, 30 tbr, 10000k tbn, 30 tbc
No pixel format specified, yuv444p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
[libx264 @ 00000000004c7e00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 00000000004c7e00] profile High 4:4:4 Predictive, level 4.0, 4:4:4 8-b
it
[libx264 @ 00000000004c7e00] 264 - core 144 r2533 c8a773e - H.264/MPEG-4 AVC cod
ec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=0 r
ef=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=0 mixed_ref=0 me_range=16 chro
ma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=0 chroma_qp_offset=0
threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 blur
ay_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 sce
necut=0 intra_refresh=0 rc=cqp mbtree=0 qp=0
Output #0, matroska, to 'capture.mkv':
  Metadata:
    encoder         : Lavf56.40.100
    Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), yuv444p, 1920x1080,
q=-1--1, 30 fps, 1k tbn, 30 tbc
    Metadata:
      encoder         : Lavc56.46.101 libx264
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
Press [q] to stop, [?] for help
frame=   11 fps=0.0 q=0.0 size=    2421kB time=00:00:00.20 bitrate=99163.6kbits/
frame=   22 fps= 22 q=0.0 size=    2538kB time=00:00:00.73 bitrate=28368.6kbits/
frame=   33 fps= 22 q=0.0 size=    2647kB time=00:00:01.26 bitrate=17116.4kbits/
frame=   46 fps= 23 q=0.0 size=    2770kB time=00:00:01.80 bitrate=12608.4kbits/
frame=   58 fps= 23 q=0.0 size=    2842kB time=00:00:02.23 bitrate=10427.1kbits/
frame=   71 fps= 23 q=0.0 size=    2908kB time=00:00:02.80 bitrate=8508.6kbits/s
frame=   83 fps= 23 q=0.0 size=    2977kB time=00:00:03.26 bitrate=7467.0kbits/s
frame=   96 fps= 24 q=0.0 size=    3085kB time=00:00:03.80 bitrate=6649.8kbits/s
frame=  108 fps= 24 q=0.0 size=    3195kB time=00:00:04.30 bitrate=6084.5kbits/s
frame=  120 fps= 24 q=0.0 size=    3309kB time=00:00:04.80 bitrate=5645.8kbits/s
frame=  133 fps= 24 q=0.0 size=    3398kB time=00:00:05.33 bitrate=5219.0kbits/s
frame=  147 fps= 24 q=0.0 size=    3492kB time=00:00:05.86 bitrate=4876.1kbits/s
frame=  160 fps= 24 q=0.0 size=    3568kB time=00:00:06.36 bitrate=4591.4kbits/s
frame=  173 fps= 24 q=0.0 size=    3660kB time=00:00:06.86 bitrate=4366.2kbits/s
frame=  186 fps= 25 q=0.0 size=    3720kB time=00:00:07.36 bitrate=4136.5kbits/s
frame=  187 fps= 24 q=-1.0 Lsize=    3737kB time=00:00:07.63 bitrate=4010.9kbits
/s
video:3735kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing
overhead: 0.052628%
[libx264 @ 00000000004c7e00] frame I:1     Avg QP: 0.00  size:1345491
[libx264 @ 00000000004c7e00] frame P:186   Avg QP: 0.00  size: 13327
[libx264 @ 00000000004c7e00] mb I  I16..4: 100.0%  0.0%  0.0%
[libx264 @ 00000000004c7e00] mb P  I16..4: 16.5%  0.0%  0.0%  P16..4:  0.3%  0.0
%  0.0%  0.0%  0.0%    skip:83.3%
[libx264 @ 00000000004c7e00] coded y,u,v intra: 6.1% 3.8% 3.9% inter: 0.2% 0.1%
0.1%
[libx264 @ 00000000004c7e00] i16 v,h,dc,p: 96%  4%  0%  0%
[libx264 @ 00000000004c7e00] kb/s:4008.11
[dshow @ 00000000004bf760] real-time buffer [screen-capture-recorder] [video inp
ut] too full or near too full (545% of size: 3041280 [rtbufsize parameter])! fra
me dropped!
Exiting normally, received signal 2.
Terminate batch job (Y/N)?

huffyuv run:
ffmpeg -f dshow -i video="screen-capture-recorder" -video_size 1920x1080 -framerate 30 -c:v huffyuv capture.mkv
ffmpeg version N-73411-g5233f25 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.9.2 (GCC)
  configuration: --arch=x86_64 --target-os=mingw32 --cross-prefix=/home/user/san
dbox/mingw-w64-x86_64/bin/x86_64-w64-mingw32- --pkg-config=pkg-config --enable-g
pl --enable-libsoxr --enable-fontconfig --enable-libass --enable-libutvideo --en
able-libbluray --enable-iconv --enable-libtwolame --extra-cflags=-DLIBTWOLAME_ST
ATIC --enable-libzvbi --enable-libcaca --enable-libmodplug --extra-libs=-lstdc++
 --extra-libs=-lpng --enable-libvidstab --enable-libx265 --enable-decklink --ext
ra-libs=-loleaut32 --enable-libx264 --enable-libxvid --enable-libmp3lame --enabl
e-version3 --enable-zlib --enable-librtmp --enable-libvorbis --enable-libtheora
--enable-libspeex --enable-libopenjpeg --enable-gnutls --enable-libgsm --enable-
libfreetype --enable-libopus --disable-w32threads --enable-frei0r --enable-filte
r=frei0r --enable-libvo-aacenc --enable-bzlib --enable-libxavs --enable-libopenc
ore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-libschroed
inger --enable-libvpx --enable-libilbc --enable-libwavpack --enable-libwebp --en
able-libgme --enable-dxva2 --enable-libdcadec --enable-avisynth --enable-static
--disable-shared --extra-cflags= --prefix=/home/user/sandbox/mingw-w64-x86_64/x8
6_64-w64-mingw32 --extra-libs=-lpsapi --enable-nonfree --enable-libfdk-aac --dis
able-libfaac --enable-nvenc --enable-runtime-cpudetect
  libavutil      54. 28.100 / 54. 28.100
  libavcodec     56. 46.101 / 56. 46.101
  libavformat    56. 40.100 / 56. 40.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 20.100 /  5. 20.100
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.100 /  1.  2.100
  libpostproc    53.  3.100 / 53.  3.100
leaving aero onInput #0, dshow, from 'video=screen-capture-recorder':
  Duration: N/A, start: 362514.497000, bitrate: N/A
    Stream #0:0: Video: rawvideo, bgr0, 1920x1080, 30 tbr, 10000k tbn, 30 tbc
[huffyuv @ 0000000000380ae0] using huffyuv 2.2.0 or newer interlacing flag
[huffyuv @ 0000000000377280] using huffyuv 2.2.0 or newer interlacing flag
[huffyuv @ 00000000003b0fc0] using huffyuv 2.2.0 or newer interlacing flag
[huffyuv @ 00000000003b1700] using huffyuv 2.2.0 or newer interlacing flag
[huffyuv @ 0000000000357a00] using huffyuv 2.2.0 or newer interlacing flag
Output #0, matroska, to 'capture.mkv':
  Metadata:
    encoder         : Lavf56.40.100
    Stream #0:0: Video: huffyuv (HFYU / 0x55594648), rgb24, 1920x1080, q=2-31, 2
00 kb/s, 30 fps, 1k tbn, 30 tbc
    Metadata:
      encoder         : Lavc56.46.101 huffyuv
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> huffyuv (native))
Press [q] to stop, [?] for help
frame=   12 fps=0.0 q=0.0 size=   23668kB time=00:00:00.50 bitrate=386999.4kbits
frame=   22 fps= 22 q=0.0 size=   44696kB time=00:00:00.96 bitrate=379033.1kbits
frame=   35 fps= 23 q=0.0 size=   72074kB time=00:00:01.46 bitrate=402750.2kbits
frame=   49 fps= 24 q=0.0 size=  101620kB time=00:00:02.00 bitrate=416236.4kbits
frame=   63 fps= 25 q=0.0 size=  131190kB time=00:00:02.50 bitrate=429712.0kbits
frame=   78 fps= 26 q=0.0 size=  162896kB time=00:00:03.03 bitrate=439829.0kbits
frame=   83 fps= 26 q=0.0 Lsize=  175587kB time=00:00:03.23 bitrate=444776.1kbit
s/s
video:175582kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxin
g overhead: 0.002479%
[dshow @ 000000000034f420] real-time buffer [screen-capture-recorder] [video inp
ut] too full or near too full (545% of size: 3041280 [rtbufsize parameter])! fra
me dropped!
Exiting normally, received signal 2.
Terminate batch job (Y/N)?

note: even if I have accepted the answer for general purposes I tend to use the soluction provided by @paul-b-mahol with the libx264rgb encoder.

You should show the complete console outputs from each ffmpeg command.

@LordNeckbeard done!

Thanks. What are you using to play back the H.264 video?

@LordNeckbeard just VLC :(

The result is probably due to an auto-inserted scaler performing chroma subsampling conversion from yuv444p to yuv420p for playback. I don't know why that needs to occur so you can watch it (I never found the playback side of things very interesting, so therefore I remain ignorant on in this particular case).

So for example if i would bring both files into Adobe Premiere or After Effects for editing the files should do the same? Was a problem of vlc? tl;dr: What I'm interested to understand is if xh264 with -qp0 or -crf 0 is to be considered really lossless and a possible full alternative to huffyuv or ProRes 444

It's an artifact of the player, not the encoder.
I used the command below to generate a RGB format capture in HuffYUV
ffmpeg -f dshow -video_size 1920x1080 -framerate 30 -i video="screen-capture-recorder" -c:v huffyuv -t 5 cap.mkv

Then transcoded the file to
x264 lossless RGB
ffmpeg -i cap.mkv -c:v libx264rgb -crf 0 -preset ultrafast h264rgb.mkv

HuffYUV YUV 4:2:2
ffmpeg -i cap.mkv -c:v huffyuv -pix_fmt yuv422p huffyuv.mkv

x264 lossless YUV 4:2:2
ffmpeg -i cap.mkv -c:v libx264 -crf 0 -preset ultrafast -pix_fmt yuv422p h264yuv.mkv

Then, using the SSIM metric, compared the HuffYUV and x264 RGB files
ffmpeg -i h264rgb.mkv -i cap.mkv -filter_complex ssim -f null -

which resulted in
SSIM R:1.000000 (inf) G:1.000000 (inf) B:1.000000 (inf) All:1.000000 (inf)

And the HuffYUV and x264 YUV files
ffmpeg -i h264yuv.mkv -i huffyuv.mkv -filter_complex ssim -f null -

Result
SSIM Y:1.000000 (inf) U:1.000000 (inf) V:1.000000 (inf) All:1.000000 (inf)

So, x264 does produce lossless output.

Hellow. You need 4:4:4 pixel format and High444 profile in libx264 or h264_nvenc or other h264 encoder. And I guess that qp 0 is better then crf 0. For example:
-c:v h264_nvenc -qp 0 -pix_fmt yuv444p -profile:v high444p

For screenrecording gdigrab is the best way.
P.S.: I use Nvidia HWacel of my GeForce1660 Ti Max-Q. It's very fast!


text:
Which software a dubbing studio use for subtitles and closed captioning workflow?
Many video production and dubbing studios offer services of closed captioning, subtitles and so on. Their audience is generally big broadcast networks.
I was wondering, what kind of software this professionals do they use and which is their workflow?
I don't think they use programs like premiere with this weird interface:

Do they use even common free prosumer software like the ones used by subbers who create srt files like Subtitle Edit ?

Given they have to produce this for many series episodes, do they use custom heavy automatition tools, or is possible use also manual tools?
How is possible learn something about the topic?
Where I can start if tomorrow someone would ask me to work inside a company that have some big networks as customer and need to produce for them closed captioning and subtitles ?

Products like Telestream's

@Mulvya Thanks for the hint, I will give a look. But for the sake of learning I'm still in wait for a long written answer however to mark the topic answered :)

Everywhere I have worked uses proprietary software, but many professionals use Swift:
http://www.grassvalley.com/products/swift_create

The link provided in this answer is not longer actvie. Swift Create is now listed as "Discontinued" with "LTPS" support.

Since AI is not in the picture I have been using some tools in last few months. I run several channels on youtube. I use wavel.ai which could be useful for you too. It works best for my short videos but I have tried for videos up to the length of 5 min. Does my job pretty much. Sometimes I do need to dabble with their editor to correct a few things. Hope it was helpful.

Most episodic (network and cable) TV is captioned by service bureaus who use proprietary software. Some of the big players are VITAC, NCI, and WGBH, and there are several more. They all provide various levels of service, and some rely more heavily on automation / voice recognition etc than others. This is all offline captioning and the goal is accuracy in copy, placement and timing.
The other main thread (and skill) is live writing or real-time captioning, which is done with stenowriters (chord typing) as used by court reporters. These are always delayed by some time because of the need to hear, interpret and input. It's almost always done remotely, with the caption writer networked into a local encoder. The same bureaus usually offer both live and offline.
To learn more, check out the links above -- and google for more -- then maybe contact the providers that look interesting to you.