Existem apenas algumas taxas de quadros de vídeo padrão?


11

No vídeo digital moderno, um arquivo de vídeo pode ser marcado com qualquer taxa de quadros arbitrária? Ou apenas algumas taxas de quadros específicas são amplamente suportadas? Por "moderno", quero dizer jogadores de software como Quicktime, VLC, Roku, consoles de jogos etc. Estou curioso para saber o que os próprios padrões de vídeo dizem que são permitidas taxas de quadros e, em seguida, o que realmente funciona na prática.

Entendo que 24 fps, 25 fps, 30 fps, 50 fps e 60 fps são padrões amplamente suportados. O HandBrake também oferece 5, 10 e 15; são essas opções padrão? Posso usar qualquer número de FPS que desejar? E as taxas não inteiras como 23.976 e 29.97; eles são realmente tratados de forma diferente por software que 24 e 30? Também vejo referências a "taxa de quadros variável" nos fluxos H.264; isso realmente funciona e, se sim, o que o usa?

Minha pergunta específica é qual é a melhor maneira de codificar algumas digitalizações de filmes de 8 mm. A fonte é de 16 qps, o padrão de filme de 8 mm. No momento, estou dobrando todos os outros quadros para aumentá-lo para 24 qps, o que funciona bem, mas estou me perguntando por que não posso simplesmente marcar o vídeo como 16 qps. FWIW Eu produzi arquivos H.264 mp4 com o Handbrake a 15 fps e descobri que eles eram reproduzidos apenas corretamente no VLC. O Mac Quicktime os reproduziu muito rápido, provavelmente 24 fps.

Respostas:


11

Existem várias taxas de quadros "padrão", mas existem tantas que o suporte a taxas de quadros arbitrárias é mais fácil do que o suporte específico a muitas taxas específicas. Isto é especialmente verdade para players de software, como o VLC.

Existe cada vez mais suporte para VARIABLE fps. (VFR, taxa de quadros variável). É aqui que o intervalo entre os quadros no mesmo vídeo não é constante. Muitos formatos de arquivo de contêiner de vídeo (como Matroska ( .mkv) ou MPEG-4 ( .mp4intimamente relacionados aos da Apple .mov)) nem mesmo armazenam um número FPS, mas uma base de tempo (por exemplo, 1/30 de segundo) e depois cada quadro tem um registro de data e hora como um múltiplo dessa base de tempo. Acontece que o intervalo entre cada quadro é um ou um pequeno número inteiro de unidades da base de tempo em um vídeo CFR (taxa de quadros constante).

Filmagens de câmeras de segurança com quadros quase duplicados eliminados seriam um caso de uso óbvio para o VFR. Mais ainda, se estiver sendo compactado com um codec de vídeo simplista que não tira proveito da redundância temporal (com quadros inter (p e b)). (brinque com ffmpeg -vf mpdecimatepara soltar quadros quase duplicados. Use -vsync 2se estiver produzindo para mp4, porque, por algum motivo, não é o padrão para o muxer, mas é para mkv.)

Outro caso são os smartphones modernos. Por exemplo, o Moto G de meu irmão (2ª geração) grava vídeos VFR. Reduz a taxa de quadros quando o sensor precisa de mais luz. Parte da saída da execução de mediainfo em um mp4 criado pelo software do telefone, gravada dentro de casa:

Bit rate                                 : 9 999 Kbps
Width                                    : 1 280 pixels
Height                                   : 720 pixels
Display aspect ratio                     : 16:9
Rotation                                 : 90°
Frame rate mode                          : Variable
Frame rate                               : 16.587 fps
Minimum frame rate                       : 14.985 fps
Maximum frame rate                       : 30.030 fps

A reprodução de um único fluxo de vídeo VFR não é difícil. O software apenas prepara o próximo quadro para exibição, dorme até que seja exibido, depois acorda e o exibe.

As coisas ficam um pouco mais complicadas quando você leva em conta o fato de que os humanos só podem ver os quadros de vídeo quando um monitor os exibe. Existem monitores VFR, mas ainda são raros. (google para g-sync freesync).

Alterar a imagem exibida enquanto está sendo digitalizada para o monitor resulta em um rasgo feio do vídeo (geralmente visto ao jogar um jogo com o vsync desativado). Isso limita o player a alterar a imagem exibida em 50 ou 60Hz. (Os CRTs suportam taxas de vrefresh arbitrárias, dentro de um intervalo, mas é complicado preparar os modos com todos os intervalos corretos, para que a maioria das pessoas use apenas algumas taxas de atualização fixas. E agora as pessoas têm LCDs que suportam apenas uma taxa de atualização fixa de qualquer maneira. de qualquer forma, os monitores freesync são mais difundidos. Estou realmente ansioso por isso :)

Portanto, com taxas de quadros de vídeo que não sejam múltiplos ou um fator da taxa de atualização do monitor, alguns quadros serão exibidos para três atualizações do monitor e outros para 2, por exemplo, mesmo se o vídeo tiver 25FPS constantes (em um monitor de 60Hz).

As coisas ficam mais complicadas quando você deseja trabalhar com vários clipes e desaparecer entre eles, imagem na imagem ou vários outros efeitos. É muito mais fácil escrever um software de edição de vídeo se você puder assumir que todos os clipes têm um novo quadro ao mesmo tempo. (Eles forçam o alinhamento do clipe a encaixar nos quadros inteiros).

É por isso que os NLEs (como kdenlive ou pitivi, para escolher exemplos aleatórios de software livre) têm maior probabilidade de forçá-lo a um FPS fixo e soltar / duplicar quadros de seus clipes para fazê-los corresponder à taxa de quadros. O CFR que você escolher pode ser arbitrário, mas geralmente precisa ser constante para todo o "projeto".

(Algum NLEs funciona totalmente com clipes VFR e produz saída VFR nesse caso?)

Então, em resumo, uma vez que tenhamos monitores e sistemas operacionais de sincronização variável, a única coisa que nos impedirá será a edição de vídeo, eu acho. E radiodifusão, já que aparentemente o CFR também é um grande negócio para isso?

Caso você esteja se perguntando, as taxas de quadro não-inteiras irritantes 29.970 (na verdade 30000/1001) e 23.976 (na verdade 24000/1001, de telecining) são culpa da NTSC colorida. procure por 1.001 . Se eles estivessem dispostos a arriscar que alguns aparelhos P&B não pudessem lidar com uma frequência extra de 0,1% para a subportadora de áudio, o mundo teria sido poupado dessa bobagem. (Acho que vi outro artigo em algum lugar que fazia parecer que muitos sets teriam sido bons, mas eles não tinham certeza sobre a compatibilidade perfeita. A Wikipedia faz parecer que nenhum dos sets teria uma subportadora de áudio 0,1% maior. fatos.)

No entanto, taxas de quadros irritantes são um dos pecados menores da transmissão. É realmente um entrelaçamento que tem sido a ruína da qualidade do vídeo em telas modernas (todos os pixels acesos de uma vez), e isso não teria mudado. Ainda não entendi por que o entrelaçamento foi mantido para HDTV. Por que 1080i60 já foi definido, em vez de usar 720p60 para obter a mesma resolução temporal para esportes e outras coisas? É semelhante a 1920x540p60, mas com um deslocamento vertical estúpido entre campos pares e ímpares que exige muita computação na extremidade de recebimento para que não pareça horrível.

editar:

Para o seu caso de uso, sugiro absolutamente arquivar no FPS nativo. Não jogue fora nenhuma informação descartando quadros. Não duplique os quadros e aumente os arquivos (ou faça com que o codificador h.264 gaste mais tempo observando as duplicatas e produzindo um quadro cheio de macroblocos de salto que leva apenas 20 bytes para todo o quadro).

No futuro, quando esperamos que todos tenhamos exibições de freesync que possam reproduzir qualquer taxa de quadros, você desejará desfazer o pullup para 24fps para que o vídeo seja reproduzido de maneira mais suave! Ou se o freesync de alguma forma não captar, ou se a tela que vem depois dos LCDs for CFR, a conversão da taxa provavelmente será melhor realizada no momento da reprodução. Não é como se os 24fps tocassem perfeitamente em um monitor de 60Hz. (Eu não noto visualmente o fato de que alguns quadros são exibidos para 3 * 1/60, enquanto outros são exibidos para 2 * 1/60, mas é verdade).

Se você está tendo problemas com o Quicktime, IDK. Talvez verifique se o Handbrake está criando arquivos com a taxa de quadros correta definida no fluxo de bits h.264 e no contêiner. (Sim, os cabeçalhos h.264 aparentemente podem armazenar uma taxa de quadros, separada do que o contêiner diz. Consulte os documentos mkvmerge --fix-bitstream-timing-information. E tente usá-lo --default-duration 16fpspara criar um arquivo mkv. Em seguida, muxe de volta para mp4 e veja se isso corrige o quicktime? ) Ou talvez exista uma maneira de fazer isso com as ferramentas mp4. Veja por exemplo: /ubuntu/370692/how-to-change-the-framerate-of-a-video-without-reencoding

Posso garantir que a taxa de quadros arbitrária mp4 é válida e até a taxa de quadros variável mp4 é válida. Se o Quicktime jogar errado, pode ser culpa do Quicktime. Ou talvez a culpa do Handbrake tenha cometido um erro no arquivo. Normalmente, apenas uso o ffmpeg diretamente, porque sou um ninja da linha de comando.


2

Para responder à sua pergunta - sim, geralmente você pode codificar um arquivo de vídeo em qualquer taxa de quadros que desejar. (Embora alguns softwares possam optar por limitá-lo para simplificá-lo.) A questão é: o formato de entrega escolhido o suporta e o dispositivo de reprodução o suporta?

Se você tem um filme de 8 mm a 16 qps, eu o codificaria a 16 qps se soubesse que os dispositivos de reprodução que eu queria suportar poderiam lidar com isso. Caso contrário, eu provavelmente usaria um software que suportava fluxo óptico (às vezes chamado de estimativa de movimento) para codificá-lo a 24 fps, que provavelmente é a taxa de quadros mais próxima a ser suportada por software de codificação, software de decodificação e a maioria dos hardwares de reprodução.

O software (ou hardware) que suporta o fluxo óptico gera quadros intermediários com base no movimento dos objetos no seu vídeo. Em vez de repetir um quadro ou mesclar dois quadros, ele gera um novo quadro que geralmente fica bem próximo do que seria realmente gravado se você tivesse gravado na taxa de quadros de saída.


Eu codificaria na taxa de quadros nativa, para evitar jogar fora qualquer informação ou duplicar qualquer quadro para criar trabalho extra para um codec. Além disso, no futuro, esperamos que todos tenham exibições de freesync que possam reproduzir qualquer taxa de quadros. Caso contrário, a conversão da taxa é provavelmente melhor realizada no momento da reprodução, esp. se estamos falando de prazos de arquivo.
Peter Cordes

2

Pela história, 24 FPS vêm do kino (filmes). O filme estava em fita fotográfica e a velocidade foi selecionada para suavizar os movimentos.

25 FPS vêm da frequência de energia na Europa, 50 Hz (50 FPS é da mesma fonte, mas na verdade o dobro). Na verdade, a TV na Europa era de 50 FPS, mas meio quadro, eles estão entrelaçados

30 FPS vêm da frequência de energia nos EUA, 60 Hz (60 FPS é da mesma fonte, mas na verdade o dobro). Na verdade, a TV nos EUA tinha 60 FPS, mas meio quadro, eles estão entrelaçados

O 16 FPS não é tão difundido como padrão para fins profissionais; talvez seja por isso que ele não está sendo usado na maioria dos softwares atuais. Além disso, esses FPS não "suavizam" o suficiente o movimento rápido. Eu tenho uma idéia maluca de como você pode fazer 16 FPS para combinar melhor com 24. Juts obtém todos os quadros pares e ímpares e faz algo como a média entre eles :)


Obrigado pela ajuda, mas não responde à minha pergunta. Estou ciente das origens de 24, 25, 50 e 60. O que estou perguntando é se se espera que outras taxas de quadros funcionem.
21414 Nelson

1

Existem padrões de vídeo para televisão e filmes compatíveis com a maioria dos vídeos. Muitas vezes, um computador pode exibir vídeo de várias taxas de quadros; no entanto, algumas TVs podem ter problemas com taxas de quadros ímpares, pois podem usar circuitos de exibição mais especializados. Mesmo em um computador, a taxa de quadros realmente exibida pode não corresponder à do arquivo de vídeo, dependendo das taxas de atualização suportadas pelo monitor.

Sim, as taxas de quadros não inteiros são exibidas de maneira diferente. Eles são conhecidos como drop frame e existem principalmente por motivos herdados. Quando reproduzido, um quadro é eliminado (do código de tempo) de vez em quando para compensar a diferença de tempo e os quadros são espalhados na taxa adequada para mantê-lo suave. Isso tem mais a ver com as coisas de sincronização nos formatos herdados e com a prevenção de problemas de sincronização que não são mais relevantes.

Você pode usar taxas de quadros fora do padrão e deve reproduzir bem em PCs, mas não está em conformidade com o vídeo padrão para coisas como Bluray e pode não ser bem reproduzido em algumas TVs. (E mesmo naqueles em que trabalha, provavelmente fará um pull down em tempo real para se adaptar a uma taxa de quadros padrão, onde, como um pulldown feito com antecedência, provavelmente resultaria em melhor qualidade.)


@ user1118321 sim, e obrigado por apontar que poderia ser mais claro.
AJ Henderson

-1

Sua pergunta não é sobre taxas comuns, é sobre qual taxa você deve usar para digitalizar seu filme. A resposta: você deve usar a taxa original, se possível, porque deseja preservar a fonte em formato digital. Em seguida, você pode convertê-lo para qualquer taxa de quadros necessária para visualização. Antigamente, normalmente significava 24fps para apresentação teatral e 29,97fps, entrelaçados para vídeo. Atualmente, você pode fazer quase tudo, mas precisa de uma boa fonte, que corresponda ao original da maneira mais limpa possível.


Não, minha pergunta era sobre taxas comuns. E foi respondido adequadamente anos atrás.
1212 Nelson

-3

Algumas outras notas. Primeiro, 48 qps está se tornando mais popular e comum graças ao Hobbit e agora ao suporte do YouTube para a taxa de quadros. Em segundo lugar, 30 fps é geralmente 29,97 fps e 60 é geralmente cerca de 59,94.


2
Na verdade, 30 nem sempre significa 29,97. Às vezes, é realmente 30. O mesmo vale para 24. 23,98, 24, 29,97, 30, 50, 59,94 e 60 são taxas de quadros perfeitamente válidas e comumente usadas. Os que possuem casas decimais devem ser compatíveis com a transmissão televisiva em vários países, mas ainda são válidos também nas redes. Alguns fabricantes de câmeras de vídeo "mentem" sobre suas taxas de quadros, no entanto. Uma câmera marcada como 24p pode realmente entregar 23,98, em um esforço para poupar o consumidor da dor de cabeça causada por problemas de bandas e pelos detalhes técnicos por trás dela.
Jason Conrad

@JasonConrad As taxas de quadros nem sempre são decimais arredondadas, mas para a maioria das câmeras de consumidor são.
KC McLaughlin

@KCMcLaughlin - na verdade, está se tornando cada vez mais provável nos dispositivos de varredura progressiva descartar o quadro suspenso e apenas aumentar as taxas de quadros inteiros. 29.97 e 23.976 são puramente legados neste momento e foram cada vez mais substituídos por taxas de quadros inteiros puras.
AJ Henderson

@KCMcLaughlin Color NTSC nunca foi 29,97fps. Foi e ainda é 30000/1001. Da mesma forma, o conteúdo 24p telecinado no NTSC colorido será realmente 24000/1001. Além disso, minha câmera digital (lumix) grava 30fps, não 30 / 1.001. O A / V seria dessincronizado se eu reproduzisse um número diferente de quadros por 48 exemplos de áudio.
Peter Cordes
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.