Recording/Streaming questions

I’ve been messing around with recording/streaming, and I noticed that everything it’s encoding is at 60fps. Is there any way to force that down to 30fps? I’m mostly concerned about bandwidth usage when streaming (my ISP imposes a cap, so the more wiggle room I can create the better).

EDIT: I figured I’d throw this here instead of making a new thread.

I’m running into a problem trying to record NES (FCEU) and SNES (SNES9x/-Next) games. It will generate a video file with a size of 0 bytes and not actually record anything. I don’t have this problem with GB/C (gambatte) or GBA (VBA-Next) games.

Yes, there is. Please read: https://github.com/Themaister/RetroArch/wiki/FFmpeg-recording-and-live-streaming

I’m running into a problem trying to record NES (FCEU) and SNES (SNES9x/-Next) games. It will generate a video file with a size of 0 bytes and not actually record anything. I don’t have this problem with GB/C (gambatte) or GBA (VBA-Next) games.

That is strange. Paste log.

Thanks!

I won’t bother posting the whole log, the error it gave me is:

[libx264 @ 068c20c0] height not divisible by 2 (256x239)

Self-explanitory. Strangely enough, changing the pixel format to yuv422p fixes the problem. But this also brings me to another question:

Is there any way to specify an exact output resolution? Setting the scale factor to 2 slows down encoding too much, and I also want to set the output to a 4:3 resolution (320x240 or 400x300).

Yes, yuv422p doesn’t subsample vertically, so you don’t need divisible by two resolutions.

Use the --size parameter. The video aspect ratio depends on the aspect ratio you’ve configured for regular playing. You should really encode using square pixels, and let the muxer aspect ratio do the job telling the media player how to display it. It’s not really a good idea either to encode with non-integer scale if you can avoid it.

If you’re encoding with libx264, I suggest you use the ‘threads’ option, as well as video_preset = superfast, or something if you’re constrained on CPU power.

Ah, I wasn’t actually aware of this (until now I’ve had no experience with anything but yuv420p).

That makes sense. I’ll give this a try and see how it works.

I have been making use of these, yeah.

Is there a config option for VBR quality? I’m looking for an equivalent to ffmpeg’s -q command line option. Setting vcodec to flv gives me way better performance than libx264, but it doesn’t seem to support video_crf and looks like absolute garbage at whatever the default quality setting is.

You could try video_q … It might be a global option though, so might have to add special cases for those :\

Just tried video_q, no luck.