U
    	h\                     @   sJ   d dl Zd dlZd dlZd dlmZ d dlmZmZ G dd dej	Z	dS )    N)settings)
migrationsmodelsc                   @   s  e Zd ZdZeejgZej	dde
jdddfde
jdddfd	e
jejd
ddd
dfde
jddddfde
jdddgddddfde
jddddfde
jddd d!d"d#gd$d%d&fd'e
jd(d)d*gd+d,d&fd-e
jdd.d/fg	d0d1dgd2d3ej	d4de
jdddfde
jdddfd	e
jejd
ddd
dfde
jd5dddfd6e
jd7d8ddfd9e
jd:d;d<dfd=e
jd>d?ejjd@ejjdAgdBfdCe
jdDdEddfdFe
jdGdHddfde
jdIdJdKgdLdMddfdNe
jdOdPdQdRdSdTdUdVdWg	dXdYddfdZe
jd[d\d]gd^d_ddfd`e
jdadbd<dfgdcdddgd2d3ej	dede
jdddfde
jdddfd	e
jejd
ddd
dfde
jdfdgddfdhe
jdidgddfdje
jdkdldmfdne
jddodpfdqe
jdddrdsfdte
jdudvdmfdwe
jdxdyejjd@ejjdzgdBfd{e
jd<d|ejjd@ejjdggdBfd}e
jd~dejjd@ejjdgdBfde
jd<dejjd@ejjdgdBfde
jdejj
jjd'ejdfgdeddgd2d3ej	dde
jdddfde
jdddfd	e
jejd
ddd
dfde
jdddddddgdddddfde
jddddfde
jddddfde
jddd/fde
jddd/fde
jdddpfde
jddddfde
jdeddfde
jdddejj
jj ddfde
jdejj
jjdddfde
jdddejj
jj ddfgdddgd2d3ej	dde
jdddfde
jdddfd	e
jejd
ddd
dfde
jddvdmfde
jddldmfde
jddfde
j!dejjdejjdgdfde
j"ddddfde
jdddfde
jddddsfde
jdejj
jjdddfgddddgd2d3ej#de
j$dhgdd͍d΍ej#de
j$dqgdd͍d΍ej#de
j$dgdd͍d΍ej#de
j$ddgdd͍d΍ej#de
j$dgdd͍d΍ej#de
j$dgdd͍d΍ej%ddhd֍ej#de
j$ddgdd͍d΍ej#de
j$dgdd͍d΍ej#de
j$dgdd͍d΍gZ&dS )	MigrationTAudioConfiguration
created_atz&Timestamp when this record was created)auto_now_add	help_text
updated_atz,Timestamp when this record was last modified)auto_nowr	   idFz!Unique identifier for this record)defaulteditabler	   primary_key	serializenamez!Name for this audio configuration2   )r	   
max_lengthuniquecodec)aacAAC)mp3MP3)opusOpusr   zAudio codec to use for encoding   )choicesr   r	   r   bitrate128kz$Audio bitrate (e.g., '128k', '256k'))r   r	   r   sample_rate)i@  z8 kHz)i>  z16 kHz)i"V  z	22.05 kHz)iD  z44.1 kHz)逻  z48 kHz)i w z96 kHzr!   zAudio sample rate in Hz)r   r   r	   channels)   Mono)   Stereo)   z5.1 Surroundr%   zNumber of audio channels	normalizez+Apply audio normalization (loudnorm filter))r   r	   zAudio ConfigurationzAudio Configurations)verbose_nameverbose_name_pluralordering)r   fieldsoptionsVideoConfigurationz!Name for this video configuration
resolution1280x720z!Video resolution (width x height)aspect_ratioz16:9zVideo aspect ratio
   
frame_rate   z%Video frame rate in frames per secondr#   x   )r   r	   
validatorsmin_bitrate2000kz%Minimum video bitrate (e.g., '2000k')max_bitrate4000kz%Maximum video bitrate (e.g., '4000k'))h264zH.264)h265zH.265)vp9VP9r;   zVideo codec to use for encodingpreset)	ultrafastz
Ultra Fast)	superfastz
Super Fast)veryfastz	Very Fast)fasterFaster)fastFast)mediumMedium)slowSlow)slowerSlower)veryslowz	Very SlowrG   z+Encoding preset for speed/quality trade-offprofile)baselineBaseline)mainMain)highHighrQ   zVideo profile settinglevelz3.1z(Video level setting (e.g., '3.1', '4.0')zVideo ConfigurationzVideo ConfigurationsChannelz#Human-readable name for the channeld   slugz'URL-friendly identifier for the channelhls_urlz Source HLS stream URL to capturei  )r	   r   descriptionz+Optional description of the channel content)blankr	   	is_activez(Whether this channel is currently active)db_indexr   r	   output_directoryz&Directory path for stream output files   segment_durationr'   z'Duration of each HLS segment in seconds<   max_segmentsz.Maximum number of segments to keep in playlistretry_attempts   z+Number of retry attempts on capture failureretry_intervalz&Seconds to wait between retry attemptsi,  
created_byzUser who created this channel)r	   	on_deleterelated_nametoChannelsStreamSessionstatus)activeActive)inactiveInactive)pendingPending)
processing
Processing)	completed	Completed)failedFailed)	cancelled	Cancelledrq   zCurrent status of this record)r   r]   r   r	   r   
started_atzWhen the stream capture started)r[   r	   nullended_atzWhen the stream capture endedsegments_processedr   z)Number of segments successfully processederrors_countz.Number of errors encountered during processing
last_errorzLast error message encountered
process_idz System process ID for monitoring)r[   r	   r   
statisticsz"Additional statistics and metadata)r[   r   r	   audio_configz)Audio configuration used for this sessionzstreams.audioconfiguration)r[   r	   r|   rg   ri   channelzChannel this session belongs tosessionszstreams.channelvideo_configz)Video configuration used for this sessionzstreams.videoconfigurationzStream SessionzStream Sessionsz-started_at
HLSSegmentfilenamezName of the segment file	file_pathzFull path to the segment filesequence_numberz#Sequence number in the HLS playlist)r	   durationz"Duration of the segment in secondsg?g      N@)r	   r6   	file_sizez!Size of the segment file in bytesprocessed_atzWhen the segment was processedis_availablez/Whether the segment file is currently availablesessionz&Stream session this segment belongs tosegmentszstreams.streamsessionzHLS SegmentzHLS SegmentsZstreams_cha_slug_acfc87_idx)r,   r   )
model_nameindexZstreams_cha_is_acti_d5e6f4_idxZstreams_cha_created_2d0498_idxZ
hlssegmentZstreams_hls_session_88fff8_idxZstreams_hls_process_c66196_idxZstreams_hls_is_avai_48584a_idx)r   r   )r   unique_togetherZstreamsessionZstreams_str_channel_daa7a9_idxZstreams_str_started_1fdea0_idxZstreams_str_status_b56c2c_idxN)'__name__
__module____qualname__initialr   swappable_dependencyr   AUTH_USER_MODELdependenciesCreateModelr   DateTimeField	UUIDFielduuiduuid4	CharFieldPositiveIntegerFieldBooleanFielddjangocorer6   MinValueValidatorMaxValueValidator	SlugFieldURLField	TextField
ForeignKeydbdeletionCASCADE	JSONFielddictSET_NULL
FloatFieldPositiveBigIntegerFieldAddIndexIndexAlterUniqueTogether
operations r   r   H/var/www/html/JingleDetector/src/apps/streams/migrations/0001_initial.pyr   
   s  
	
		RY		  		
} 		 	
| 		    		



{   	 	
V]          r   )
django.core.validatorsr   django.db.models.deletionr   django.confr   	django.dbr   r   r   r   r   r   r   <module>   s
   