Programa em C# windows forms .NET Framework 4.7.2
Com o objetivo de realizar:
•Download em massa de vídeos do coub com alguns 'filtros' de busca, e unifica todos os vídeos, com uma 'intro' e um 'fim'.
•INICIAR (TUDO)
Executa todas as funções abaixo.
Ou utilize cada função, com botões separados.
•Pegar_links
Faz um get no coub com o link personalisado da busca, e retorna um json.
(Warning. This API is no longer supported and deprecated since Feb 1, 2021.) 'ainda está funcionando'
•Baixar_Coub
Baixa os arquivos referente aos link's armazenados na variavel links_coub, gerados com a função acima,
•Copiar_intro_fim
Copia 2 arquivos de vídeo localizados na pasta do executavel para pasta video, que serão usados na frente e no final do vídeo.
São copiados com os nomes:
intro.mp4 -> \videos\1.mp4
fim.mp4 -> \videos\z.mp4
•Nomes_arquivos
Salva os nomes dos arquivos .mp4 da pasta /videos em nome_dos_arquivos.txt
salva em ordem alfabetica tendo o (intro)1.mp4 como primeiro e (fim)z.mp4 em ultimo.
•Unir_videos
Unifica todos esses vídeos conforme a ordem listada no arquivo: nome_dos_arquivos.txt
utilizando o ffmpeg mantendo o aspect ratio original individualmente de cada vídeo.
•Apagar_arquivos
Apaga todos os arquivos da pasta /videos.
Botão cosole
•Newtonsoft.Json https://www.nuget.org/packages/Newtonsoft.Json/
O arquivo ffmpeg tem que estar na mesma pasta do Coub_Mass_Download.exe, juntamente com todos os outros arquivos.
Para funcionar é necessario baixar todo o conteudo da pasta: DOWNLOAD
-Coub__Mass_Download.exe
-ffmpeg.exe
-fim.mp4
-intro.mp4
Tentei unificar os vídeos com diferentes taxa de atualização 'fps', porem, mesmo renderizando com formatos específicos e parametros de encoding não tive bons resultados para criar um arquivo compativel da intro.mp4 e fim.mp4, tentei parametros diferentes no ffmpeg tambem sem exito. Então encodei a 'intro' e 'fim' usando a propria função Unir_videos, no nome_dos_arquivos.txt inclui apenas a intro.mp4 e repeti o processo com o fim.mp4, gerando o output.mp4 desse unico arquivo que renomeie para o nome anterior, e assim ele ficou igual aos demais que são baixados do coub e não teve problemas de desincronia dos frames do vídeo e do áudio, ou qualquer corrupção dos arquivos.
Comando ffmpeg da função Unir_vídeos:
ffmpeg -safe 0 -f concat -i videos/nome_dos_arquivos.txt -vf scale=iwmin(1280/iw,720/ih):ihmin(1280/iw,720/ih),pad=1280:720:(1280-iwmin(1280/iw,720/ih))/2:(720-ihmin(1280/iw,720/ih))/2 output.mp4";
A logo foi criada no photoshop, e a intro/fim no sony vegas.
Nesta pasta tem algumas imagens
- Esse programa usa o FFmpeg, uma estrutura de multimídia gratuita que é licenciada sob a LGPLv2.1 license contendo vários codecs de áudio e vídeo, suportando tarefas de muxing, demuxing e transcodificação em muitos formatos de mídia.
This is a FFmpeg Win32 static build by Kyle Schwarz.
Zeranoe's FFmpeg Builds Home Page: http://ffmpeg.zeranoe.com/builds/
This build was compiled on: , at: 22:01:02
FFmpeg version: 2014-02-04 git-e708424
libavutil 52. 63.100 / 52. 63.100
libavcodec 55. 49.101 / 55. 49.101
libavformat 55. 29.101 / 55. 29.101
libavdevice 55. 7.100 / 55. 7.100
libavfilter 4. 1.102 / 4. 1.102
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
libpostproc 52. 3.100 / 52. 3.100
This FFmpeg build was configured with:
--enable-gpl
--enable-version3
--disable-w32threads
--enable-avisynth
--enable-bzlib
--enable-fontconfig
--enable-frei0r
--enable-gnutls
--enable-iconv
--enable-libass
--enable-libbluray
--enable-libcaca
--enable-libfreetype
--enable-libgsm
--enable-libilbc
--enable-libmodplug
--enable-libmp3lame
--enable-libopencore-amrnb
--enable-libopencore-amrwb
--enable-libopenjpeg
--enable-libopus
--enable-librtmp
--enable-libschroedinger
--enable-libsoxr
--enable-libspeex
--enable-libtheora
--enable-libtwolame
--enable-libvidstab
--enable-libvo-aacenc
--enable-libvo-amrwbenc
--enable-libvorbis
--enable-libvpx
--enable-libwavpack
--enable-libx264
--enable-libxavs
--enable-libxvid
--enable-zlib
This build was compiled with the following external libraries:
bzip2 1.0.6 http://bzip.org/
Fontconfig 2.10.95 http://freedesktop.org/wiki/Software/fontconfig
Frei0r 20130909-git-10d8360 http://frei0r.dyne.org/
GnuTLS 3.2.8.1 http://gnutls.org/
libiconv 1.14 http://gnu.org/software/libiconv/
libass 0.10.2 http://code.google.com/p/libass/
libbluray 0.5.0 http://videolan.org/developers/libbluray.html
libcaca 0.99.beta18 http://caca.zoy.org/wiki/libcaca
FreeType 2.5.2 http://freetype.sourceforge.net/
GSM 1.0.13-4 http://packages.debian.org/source/squeeze/libgsm
iLBC 20120913-git-b5f9b10 https://github.com/dekkers/libilbc/
Modplug-XMMS 0.8.8.4 http://modplug-xmms.sourceforge.net/
LAME 3.99.5 http://lame.sourceforge.net/
OpenCORE AMR 0.1.3 http://sourceforge.net/projects/opencore-amr/
OpenJPEG 1.5.1 http://www.openjpeg.org/
Opus 1.1 http://opus-codec.org/
RTMPDump 20131205-git-dc76f0a http://rtmpdump.mplayerhq.hu/
Schroedinger 1.0.11 http://diracvideo.org/
libsoxr 0.1.1 http://sourceforge.net/projects/soxr/
Speex 1.2rc1 http://speex.org/
Theora 1.1.1 http://theora.org/
TwoLAME 0.3.13 http://twolame.org/
vid.stab 0.98 http://public.hronopik.de/vid.stab/
VisualOn AAC 0.1.3 https://github.com/mstorsjo/vo-aacenc
VisualOn AMR-WB 0.1.2 https://github.com/mstorsjo/vo-amrwbenc
Vorbis 1.3.4 http://vorbis.com/
vpx 1.3.0 http://webmproject.org/
WavPack 4.70.0 http://wavpack.com/
x264 20140121-git-956c8d8 http://videolan.org/developers/x264.html
XAVS svn-r55 http://xavs.sourceforge.net/
Xvid 1.3.2 http://xvid.org/
zlib 1.2.8 http://zlib.net/
The source code for this FFmpeg build can be found at: http://ffmpeg.zeranoe.com/builds/source/
This build was compiled on Debian jessie/sid (64-bit): http://www.debian.org/
GCC 4.8.2 was used to compile this FFmpeg build: http://gcc.gnu.org/
This build was compiled using the MinGW-w64 toolchain: http://mingw-w64.sourceforge.net/