Desde principios de diciembre, he estado realizando un experimento para promocionar (exageración, si lo desea) mi bot en Twitter. Me gustan los resultados. Quizás a alguien le interese cómo hacer una campaña publicitaria online eficaz con un presupuesto casi nulo. Capturas de pantalla, estadísticas, partes de código e historias a continuación.
Teoría
En mi opinión, la publicidad online pronto dominará activamente los espacios sonoros breves. Cada vez más, las personas comienzan a escuchar Internet y no solo a mirarlo. La radio por Internet, Spotify, iTunes y una serie de otros servicios de escuchas telefónicas se están generalizando rápidamente. Incluso Twitter lanzó al mercado tweets de audio. El crecimiento en el valor del sonido también se ve facilitado por el crecimiento en el número de dispositivos de escucha individuales: los auriculares se han convertido en algo común, lo que significa que la publicidad sonora se puede individualizar y servir a un individuo, según sus preferencias, como la publicidad contextual tradicional.
Práctica
Ya escribí sobre mi bot para soundoji en un artículo sobre Habr .
A principios de diciembre, le agregué la función de actuación de voz para gifs e imágenes. Es decir, debe enviar al bot una imagen como un archivo y luego un mensaje de voz. El bot devolverá un lugar de video corto que se puede insertar en cualquier lugar. Experimentamos con la publicación de videos terminados en Twitter para medir la reacción y el "compromiso" de los usuarios.
Para que el bot funcione correctamente en la red social, se descubrieron y solucionaron algunos problemas durante las pruebas. En particular:
Recorte de tiempo.
. , - , , , . "" . :
.
/ ffmpeg
PWF
-->
cmd
--> system
python os
connect_video_voice
, .
.
def connect_photo_audio(self,imagepath, audiopath, name=urandom(30).hex()):
targetvideotype = "mp4"
cmd(f'ffmpeg -y -loop 1 -i "{imagepath}" -i "{audiopath}" -c:v libx264 -tune stillimage -c:a aac -b:a 192k -pixfmt yuv420p -shortest -vf "scale=trunc(iw/2)2:trunc(ih/2)2" "{self.PWF}/{targetvideotype}/{name}.{targetvideotype}"')
return f'{self.PWF}{targetvideotype}/{name}.{targetvideo_type}'
def connect_video_voice(self,videopath, audiopath, name=urandom(30).hex(),):
sourcevideotype = "mp4"
cmd(f'ffmpeg -streamloop -1 -i "{videopath}" -i "{audiopath}" -shortest -c:v copy -c:a aac -strict experimental -map 0:v:0 -map 1:a:0 -y "{self.PWF}/{sourcevideotype}/{name}.{sourcevideotype}"')
return f'{self.PWF}/{sourcevideotype}/{name}.{sourcevideo_type}'
, , , .
f"ffmpeg -stream_loop -1 -i "{video_path}" -i "{audio_path}" -shortest -c:v copy -c:a aac -strict experimental -map 0:v:0 -map 1:a:0 -y "{self.PWF}/{source_video_type}/{name}.{source_video_type}"
, :
PyTelegramBotAPI
, message.voice
. duration
, .
if message.voice.duration > 60:
self.BOT.send_message(message.fromuser.id, "Your message too long. Max size of message: 1 minute")
return
"" . - , . "" . .
.
, .
get_users_graphic__activity__
, /activity .
, /activity , helper, .
create_graphic_activity
--> , .
limit
--> , . limit
/activity 3 3 .
def get_users_graphic__activity__(self):
if self.MESSAGE.chat.id in HELPERS or self.MESSAGE.chat.id == ADMIN_USER_ID:
graphic = create_graphic_activity()
if graphic:
try:
limit = int(re.sub('\D', '', self.MESSAGE.text))
except Exception:
limit = 7
self.BOT.send_photo(self.MESSAGE.chat.id, photo=create_graphic_activity(limit=limit))
else:
self.BOT.send_message(self.MESSAGE.chat.id, LANGUAGES["commands"]["server_crashed"])
else:
self.BOT.send_message(self.MESSAGE.chat.id,LANGUAGES["commands"]["you_not_have_permissions"])
. - . , .
Quizás algunos anunciantes ya puedan usar mi bot para promocionar sus productos y servicios. Puede incluir su logotipo o imagen de producto en la imagen o agregar un mensaje sonoro con un eslogan. Continuaré mejorando la funcionalidad del programa por ahora. En un futuro cercano, planeo complementar el bot con funciones de nivelación de sonido y tomas de sobrescritura. Si bien no es difícil agregar código para regrabar tomas, igualar la potencia del sonido no es una tarea trivial, ya que para fines publicitarios, simplemente cambiar la potencia del sonido puede ser un factor de "captura".