Compare commits
	
		
			2 Commits
		
	
	
		
			f2b77697da
			...
			b738a3106c
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						
						
							
						
						b738a3106c
	
				 | 
					
					
						|||
| 
						
						
							
						
						c58ef4c305
	
				 | 
					
					
						
							
								
								
									
										42
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								README.md
									
									
									
									
									
								
							@@ -1,2 +1,44 @@
 | 
				
			|||||||
# vid_convert
 | 
					# vid_convert
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vid_convert est un script qui utilise ffmpeg pour convertir des vidéos au
 | 
				
			||||||
 | 
					format [H.265](https://fr.wikipedia.org/wiki/H.265/HEVC), avec un audio en 
 | 
				
			||||||
 | 
					[AAC-LC](https://fr.wikipedia.org/wiki/Advanced_Audio_Coding).
 | 
				
			||||||
 | 
					Cela permet d'optimiser le poids du fichier sans baisse visible de
 | 
				
			||||||
 | 
					la qualité avec les paramètres prévus dans le script.
 | 
				
			||||||
 | 
					Le but est de faire un script qui enchaine les différentes opérations, sans
 | 
				
			||||||
 | 
					laisser à l'utilisateur des choix ou des calculs fastidieux à faire.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Le format de sortie est un fichier MPEG-4 (.mp4), lisible sur n'importe quel
 | 
				
			||||||
 | 
					appareil (ou presque) disposant d'une puissance de décodage suffisante.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Le format d'entrée peut être n'importe lequel connu par ffmpeg. Pour les BluRay,
 | 
				
			||||||
 | 
					le 4K, HDR et HDR10+ sont gérés. Concernant le son, pas de prise en charge du
 | 
				
			||||||
 | 
					canal Atmos, mais le multi-canal (5.1, 7.1, ...) est géré. Toutes les pistes
 | 
				
			||||||
 | 
					(vidéo, audios et sous-titres) sont conservées.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Installation et dépendances
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 - [Python](https://www.python.org/) (>= 3.5)
 | 
				
			||||||
 | 
					 - [ffmpeg](https://ffmpeg.org/)
 | 
				
			||||||
 | 
					 - [hdr10plus_tool](https://github.com/quietvoid/hdr10plus_tool)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Utilisation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					./vid_convert.py -h
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Contributions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Les remarques et contributions sont les bienvenues. Par mail, avec un fichier de
 | 
				
			||||||
 | 
					patch si vous le souhaitez.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Licence
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Licence [Expat](https://commons.wikimedia.org/wiki/Template:Expat).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					La licence donne à toute personne recevant le logiciel (et ses fichiers) le
 | 
				
			||||||
 | 
					droit illimité de l'utiliser, le copier, le modifier, le fusionner, le
 | 
				
			||||||
 | 
					publier, le distribuer, le vendre et le « sous-licencier » (l'incorporer
 | 
				
			||||||
 | 
					dans une autre licence). La seule obligation est d'incorporer la notice de
 | 
				
			||||||
 | 
					licence et de copyright dans toutes les copies. 
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -270,6 +270,14 @@ def create_mkv(filename):
 | 
				
			|||||||
            remove(file)
 | 
					            remove(file)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def mkv_to_mp4(filename):
 | 
				
			||||||
 | 
					    options = "-c:a copy -c:v copy -c:s copy -movflags faststart"
 | 
				
			||||||
 | 
					    command = f"ffmpeg -i {filename}_FINAL.mkv {options} -y NEW_{filename}.mp4"
 | 
				
			||||||
 | 
					    result = subprocess.getoutput(command)
 | 
				
			||||||
 | 
					    logging.debug(result)
 | 
				
			||||||
 | 
					    remove(f"{filename}_FINAL.mkv")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if __name__ == '__main__':
 | 
					if __name__ == '__main__':
 | 
				
			||||||
    import argparse
 | 
					    import argparse
 | 
				
			||||||
    parser = argparse.ArgumentParser()
 | 
					    parser = argparse.ArgumentParser()
 | 
				
			||||||
@@ -308,3 +316,4 @@ if __name__ == '__main__':
 | 
				
			|||||||
        convert_video(file, infos, vid_part_time, cropsize, crf, animation)
 | 
					        convert_video(file, infos, vid_part_time, cropsize, crf, animation)
 | 
				
			||||||
        vid_part_time += 300
 | 
					        vid_part_time += 300
 | 
				
			||||||
    create_mkv(file)
 | 
					    create_mkv(file)
 | 
				
			||||||
 | 
					    mkv_to_mp4(file)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user