@jjlmoya/utils-audiovisual 1.18.0 → 1.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,205 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+ import type { VideoMergerUI, VideoMergerLocaleContent } from '../index';
4
+
5
+ const slug = 'sla-ihop-videor-online';
6
+ const title = 'Slå Ihop Videor Online: Sammanfoga flera videor snabbt och gratis';
7
+ const description = 'Slå ihop och sammanfoga flera videor till en enda gratis, online och lokalt. Inga vattenstämplar, inga uppladdningar, 100% privat i din webbläsare.';
8
+
9
+ const ui: VideoMergerUI = {
10
+ uploadTitle: "Ladda upp dina videofiler",
11
+ uploadFormats: "Dra och släpp videor eller klicka för att välja dem",
12
+ privacyNote: "Dina videor bearbetas 100% lokalt. Inget laddas upp till internet.",
13
+ addMoreBtn: "Lägg till fler videor",
14
+ mergeBtn: "Slå ihop videor nu",
15
+ mergingStatus: "Slår ihop videor...",
16
+ downloadBtn: "Ladda ner sammanslagen video",
17
+ resetBtn: "Börja om",
18
+ emptyList: "Dra eller välj videor för att börja slå ihop dem.",
19
+ listTitle: "Ordning för videor att slå ihop",
20
+ optionsTitle: "Utmatningsinställningar",
21
+ optionResolution: "Upplösning",
22
+ optionFps: "Bilder per sekund (FPS)",
23
+ optionsQualityNote: "Den slutliga upplösningen kommer att justeras samtidigt som det ursprungliga bildförhållandet bevaras i letterbox-format om videorna har olika dimensioner.",
24
+ faqTitle: "Vanliga Frågor om att Slå Ihop Videor",
25
+ bibliographyTitle: "Bibliografi och Referenser",
26
+ resolutionWarning: "Varning: Vissa videor har olika upplösningar och kommer automatiskt att anpassas."
27
+ };
28
+
29
+ const faq: VideoMergerLocaleContent['faq'] = [
30
+ {
31
+ question: "Är det säkert att ladda upp mina videor i detta verktyg?",
32
+ answer: "Ja, det är helt säkert. Verktyget fungerar till 100% lokalt i din webbläsare. Dina videor överförs aldrig via internet eller sparas på någon server.",
33
+ },
34
+ {
35
+ question: "Vad händer om mina videor har olika dimensioner?",
36
+ answer: "Vårt verktyg skalar automatiskt om videorna för att passa den utdataupplösning du väljer. För proportioner som inte stämmer överens exakt, kommer svarta marginaler (letterboxing) att läggas till för att bevara det ursprungliga bildförhållandet.",
37
+ },
38
+ {
39
+ question: "Bevaras ljudet från videorna när de slås ihop?",
40
+ answer: "Ja. Ljudspåren från varje video fångas upp och mixas sekventiellt i perfekt synkronisering med varje bildsegment.",
41
+ },
42
+ ];
43
+
44
+ const howTo: VideoMergerLocaleContent['howTo'] = [
45
+ {
46
+ name: "Välj eller dra dina videor",
47
+ text: "Ladda alla videofiler du vill slå ihop direkt från din dator eller mobil.",
48
+ },
49
+ {
50
+ name: "Ordna ordningen",
51
+ text: "Ordna de uppladdade videorna med upp- eller ner-knapparna i listan för att bestämma uppspelningssekvensen.",
52
+ },
53
+ {
54
+ name: "Justera alternativ",
55
+ text: "Välj den utdataupplösning och bildhastighet (FPS) du vill ha för din sammanslagna video.",
56
+ },
57
+ {
58
+ name: "Slå ihop och exportera",
59
+ text: "Tryck på sammanfogningsknappen. Vänta tills realtidsbearbetningen är klar och ladda ner den resulterande filen.",
60
+ },
61
+ ];
62
+
63
+ const seo: VideoMergerLocaleContent['seo'] = [
64
+ {
65
+ type: 'summary',
66
+ title: '100% Lokal Professionell Videosammanfogning',
67
+ items: [
68
+ 'Realtidsbearbetning direkt i din webbläsare',
69
+ 'Stöder flera videor av olika storlekar och format (MP4, WEBM, MOV)',
70
+ 'Valbar utdataupplösning (720p, 1080p, 2K, 4K)',
71
+ 'Ljudspår kombineras perfekt sekventiellt'
72
+ ]
73
+ },
74
+ { type: 'title', text: 'Slå Ihop Videor Online Gratis: Obegränsad Enkelhet och Integritet', level: 2 },
75
+ { type: 'paragraph', html: 'Undrar du <strong>hur man slår ihop två videor till en</strong> utan krångel? Du behöver inte längre ladda ner tunga program eller betalappar. Vårt verktyg för att <strong>slå ihop videor online gratis</strong> låter dig foga samman alla klipp du behöver på några sekunder. Eftersom det fungerar 100% lokalt behöver du inte ladda upp dina filer till någon server, vilket garanterar absolut integritet och låter dig <strong>slå ihop stora videor</strong> utan att behöva vänta på uppladdningar.' },
76
+
77
+ { type: 'title', text: 'Sammanfoga Videor Utan Vattenstämpel', level: 3 },
78
+ { type: 'paragraph', html: 'En av de största nackdelarna med andra applikationer är att de förstör ditt innehåll. Hos oss kan du <strong>sammanfoga videor online utan vattenstämpel</strong>. Filen du laddar ner kommer att vara exakt din skapelse, ren, professionell och redo att delas på YouTube, Instagram, TikTok eller för personligt bruk.' },
79
+
80
+ { type: 'stats', items: [
81
+ { value: '100%', label: 'Privat och Lokalt', icon: 'mdi:shield-check' },
82
+ { value: '0MB', label: 'Ingen Uppladdningsdata', icon: 'mdi:upload-off' },
83
+ { value: '4K', label: 'Maximal Upplösning', icon: 'mdi:video-high-definition' }
84
+ ], columns: 3 },
85
+
86
+ { type: 'title', text: 'Vanliga Användningsområden för att Slå Ihop Videor', level: 3 },
87
+ { type: 'comparative', items: [
88
+ {
89
+ title: 'Sociala Medier',
90
+ description: 'Snabb sammanfogning av stories, TikToks eller reels till en enda video',
91
+ icon: 'mdi:instagram',
92
+ points: [
93
+ 'Slå ihop små klipp inspelade med mobilen',
94
+ 'Förbered sekventiellt innehåll för Instagram eller YouTube',
95
+ 'Sammanfogning utan irriterande vattenstämplar'
96
+ ]
97
+ },
98
+ {
99
+ title: 'Presentationer',
100
+ description: 'Sammanfoga introduktioner och demoinspelningar',
101
+ icon: 'mdi:presentation',
102
+ points: [
103
+ 'Slå ihop ett animerat intro med huvudpresentationen',
104
+ 'Sammanfoga korta mjukvarudemos',
105
+ 'Ren export i standard MP4/WEBM-format'
106
+ ],
107
+ highlight: true
108
+ },
109
+ {
110
+ title: 'Familjekompilationer',
111
+ description: 'Slå ihop flera videor från dina semestrar eller fester',
112
+ icon: 'mdi:home-heart',
113
+ points: [
114
+ 'Skapa en enda video med alla festens ögonblick',
115
+ 'Gruppera reseminnen kronologiskt',
116
+ 'Enkelt att dela då det är en enda fil'
117
+ ]
118
+ },
119
+ {
120
+ title: 'Utbildningsvideor',
121
+ description: 'Foga samman korta träningskapitel eller lektioner',
122
+ icon: 'mdi:school',
123
+ points: [
124
+ 'Gruppera små oberoende handledningar',
125
+ 'Lägg till ett avslutande klipp till dina lektioner',
126
+ 'Strukturera din kurs på ett professionellt sätt'
127
+ ]
128
+ }
129
+ ], columns: 2 },
130
+
131
+ { type: 'title', text: 'Den Bästa Appen för att Slå Ihop Videor från Webbläsaren', level: 2 },
132
+ { type: 'paragraph', html: 'Detta är inte bara ännu en webbsida; det är en riktig <strong>app för att slå ihop videor</strong> som fungerar direkt från din webbläsare tack vare moderna HTML5-video-API:er. Du kan <strong>slå ihop MP4-videor</strong>, WEBM med mera, blanda upplösningar (vårt system tillämpar letterboxing automatiskt om dimensionerna varierar) och välja bildhastighet (FPS) för din slutliga export.' },
133
+
134
+ { type: 'title', text: 'Jämförelse av Tillvägagångssätt för Sammanfogning', level: 3 },
135
+ { type: 'table', headers: ['Funktioner', 'Vårt Lokala Verktyg', 'Klassiska Online-konverterare', 'Professionella Redigerare'], rows: [
136
+ ['Integritet', 'Total (Bearbetas på din enhet)', 'Låg (Kräver uppladdning till server)', 'Total (Installerat på din enhet)'],
137
+ ['Nätverksförbrukning', 'Noll (Inga gigabyte-uppladdningar)', 'Mycket hög (Upp- och nedladdning)', 'Noll'],
138
+ ['Vattenstämpel', 'NEJ (100% ren)', 'Ja (I gratisversioner)', 'NEJ (Om du köper licens)'],
139
+ ['Pris', '100% Gratis', 'Gratis med gränser eller prenumeration', 'Vanligtvis dyrt'],
140
+ ['Inlärningskurva', 'Mycket låg (Dra, ordna och slå ihop)', 'Låg', 'Mycket hög (Kräver utbildning)']
141
+ ] },
142
+
143
+ { type: 'proscons', items: [
144
+ {
145
+ pro: 'Garanterad integritet: Maximal säkerhet eftersom ingen fil lämnar din enhet',
146
+ con: 'Hastigheten för att slå ihop stora videor beror på din lokala dators RAM och processor'
147
+ },
148
+ {
149
+ pro: 'Professionella resultat: 100% gratis, ingen registrering och inga vattenstämplar',
150
+ con: 'Vid sammanfogning av videor med olika dimensioner (vertikalt vs horisontellt) kommer svarta marginaler (letterboxing) att tillämpas'
151
+ },
152
+ {
153
+ pro: 'Mångsidighet: Snabb export med effektiv kodning optimerad för webben och sociala medier',
154
+ con: 'Tillåter inte att du lägger till komplexa övergångar (3D-fades) eller filmiska visuella effekter mellan klipp'
155
+ }
156
+ ], title: 'Fördelar och Överväganden' },
157
+
158
+ { type: 'title', text: 'Börja Slå Ihop Dina Videor Idag', level: 2 },
159
+ { type: 'paragraph', html: 'Det finns inte längre några ursäkter för att ha hundratals oorganiserade videofragment. Ladda upp dina filer, placera dem i önskad ordning och tryck på knappen. Upptäck det snabbaste, säkraste och mest privata sättet att <strong>slå ihop videor online</strong>.' }
160
+ ];
161
+
162
+ const faqSchema: WithContext<FAQPage> = {
163
+ '@context': 'https://schema.org',
164
+ '@type': 'FAQPage',
165
+ mainEntity: faq.map((item) => ({
166
+ '@type': 'Question',
167
+ name: item.question,
168
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
169
+ })),
170
+ };
171
+
172
+ const howToSchema: WithContext<HowTo> = {
173
+ '@context': 'https://schema.org',
174
+ '@type': 'HowTo',
175
+ name: title,
176
+ description,
177
+ step: howTo.map((step) => ({
178
+ '@type': 'HowToStep',
179
+ name: step.name,
180
+ text: step.text,
181
+ })),
182
+ };
183
+
184
+ const appSchema: WithContext<SoftwareApplication> = {
185
+ '@context': 'https://schema.org',
186
+ '@type': 'SoftwareApplication',
187
+ name: title,
188
+ description,
189
+ applicationCategory: 'UtilitiesApplication',
190
+ operatingSystem: 'Web',
191
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
192
+ inLanguage: 'sv',
193
+ };
194
+
195
+ export const content: VideoMergerLocaleContent = {
196
+ slug,
197
+ title,
198
+ description,
199
+ ui,
200
+ seo,
201
+ faq,
202
+ bibliography,
203
+ howTo,
204
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
205
+ };
@@ -0,0 +1,205 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+ import type { VideoMergerUI, VideoMergerLocaleContent } from '../index';
4
+
5
+ const slug = 'videolari-birlestir-online';
6
+ const title = 'Videoları Çevrimiçi Birleştir: Birden fazla videoyu hızlı ve ücretsiz birleştir';
7
+ const description = 'Birden fazla videoyu ücretsiz, çevrimiçi ve yerel olarak tek bir videoda birleştirin ve bir araya getirin. Filigran yok, yükleme yok, tarayıcınızda %100 gizli.';
8
+
9
+ const ui: VideoMergerUI = {
10
+ uploadTitle: "Video dosyalarınızı yükleyin",
11
+ uploadFormats: "Birden fazla videoyu sürükleyip bırakın veya seçmek için tıklayın",
12
+ privacyNote: "Videolarınız %100 yerel olarak işlenir. İnternete hiçbir şey yüklenmez.",
13
+ addMoreBtn: "Daha fazla video ekle",
14
+ mergeBtn: "Videoları şimdi birleştir",
15
+ mergingStatus: "Videolar birleştiriliyor...",
16
+ downloadBtn: "Birleştirilmiş videoyu indir",
17
+ resetBtn: "Baştan başla",
18
+ emptyList: "Birleştirmeye başlamak için videoları sürükleyin veya seçin.",
19
+ listTitle: "Birleştirilecek videoların sırası",
20
+ optionsTitle: "Çıktı ayarları",
21
+ optionResolution: "Çözünürlük",
22
+ optionFps: "Saniyedeki kare sayısı (FPS)",
23
+ optionsQualityNote: "Nihai çözünürlük, videolar farklı boyutlara sahipse orijinal en boy oranı letterbox formatında korunarak ayarlanacaktır.",
24
+ faqTitle: "Video Birleştirme Hakkında Sıkça Sorulan Sorular",
25
+ bibliographyTitle: "Biyografi ve Referanslar",
26
+ resolutionWarning: "Uyarı: Bazı videoların çözünürlükleri farklı ve otomatik olarak uyarlanacak."
27
+ };
28
+
29
+ const faq: VideoMergerLocaleContent['faq'] = [
30
+ {
31
+ question: "Videolarımı bu araca yüklemek güvenli mi?",
32
+ answer: "Evet, tamamen güvenli. Araç, tarayıcınızda %100 yerel olarak çalışır. Videolarınız asla internet üzerinden iletilmez veya herhangi bir sunucuya kaydedilmez.",
33
+ },
34
+ {
35
+ question: "Videolarımın boyutları farklıysa ne olur?",
36
+ answer: "Aracımız, videoları seçtiğiniz çıktı çözünürlüğüne uyacak şekilde otomatik olarak yeniden boyutlandırır. Tam olarak eşleşmeyen oranlar için, orijinal en boy oranını korumak üzere siyah kenar boşlukları (letterboxing) eklenecektir.",
37
+ },
38
+ {
39
+ question: "Videoların sesi birleştirilirken korunuyor mu?",
40
+ answer: "Evet. Her bir videonun ses parçaları yakalanır ve her bir görüntü bölümüyle mükemmel bir senkronizasyon içinde sırayla karıştırılır.",
41
+ },
42
+ ];
43
+
44
+ const howTo: VideoMergerLocaleContent['howTo'] = [
45
+ {
46
+ name: "Videolarınızı seçin veya sürükleyin",
47
+ text: "Birleştirmek istediğiniz tüm video dosyalarını doğrudan bilgisayarınızdan veya cep telefonunuzdan yükleyin.",
48
+ },
49
+ {
50
+ name: "Sırayı düzenleyin",
51
+ text: "Oynatma sırasına karar vermek için listedeki yukarı veya aşağı düğmelerini kullanarak yüklenen videoları sıralayın.",
52
+ },
53
+ {
54
+ name: "Seçenekleri ayarlayın",
55
+ text: "Birleştirilmiş videonun çıktı çözünürlüğünü ve saniyedeki kare sayısını (FPS) seçin.",
56
+ },
57
+ {
58
+ name: "Birleştir ve dışa aktar",
59
+ text: "Birleştirme düğmesine basın. Gerçek zamanlı işlemenin tamamlanmasını bekleyin ve ortaya çıkan dosyayı indirin.",
60
+ },
61
+ ];
62
+
63
+ const seo: VideoMergerLocaleContent['seo'] = [
64
+ {
65
+ type: 'summary',
66
+ title: '%100 Yerel Profesyonel Video Birleştirme',
67
+ items: [
68
+ 'Doğrudan tarayıcınızda gerçek zamanlı işleme',
69
+ 'Farklı boyut ve formatlarda birden fazla videoyu destekler (MP4, WEBM, MOV)',
70
+ 'Seçilebilir çıktı çözünürlüğü (720p, 1080p, 2K, 4K)',
71
+ 'Mükemmel bir şekilde sırayla birleştirilen ses parçaları'
72
+ ]
73
+ },
74
+ { type: 'title', text: 'Videoları Çevrimiçi Ücretsiz Birleştirin: Sınırsız Basitlik ve Gizlilik', level: 2 },
75
+ { type: 'paragraph', html: '<strong>İki videonun nasıl tek bir videoda birleştirileceğini</strong> mi merak ediyorsunuz? Artık ağır yazılımlar veya ücretli uygulamalar indirmenize gerek yok. <strong>Videoları çevrimiçi ücretsiz birleştirme</strong> aracımız, ihtiyacınız olan tüm klipleri saniyeler içinde uç uca eklemenize ve birleştirmenize olanak tanır. %100 yerel çalışarak dosyalarınızı hiçbir sunucuya yüklemek zorunda kalmazsınız, bu da mutlak gizliliği garanti eder ve <strong>büyük videoları</strong> yükleme süresi beklemeden <strong>birleştirmenize</strong> olanak tanır.' },
76
+
77
+ { type: 'title', text: 'Filigransız Video Birleştirme', level: 3 },
78
+ { type: 'paragraph', html: 'Diğer uygulamaların en büyük dezavantajlarından biri, içeriğinizi mahvetmeleridir. Bizimle, <strong>videoları filigran olmadan çevrimiçi birleştirebilirsiniz</strong>. İndirdiğiniz dosya tam olarak sizin eseriniz olacak; temiz, profesyonel ve YouTube, Instagram, TikTok veya kişisel kullanım için paylaşmaya hazır olacak.' },
79
+
80
+ { type: 'stats', items: [
81
+ { value: '%100', label: 'Özel ve Yerel', icon: 'mdi:shield-check' },
82
+ { value: '0MB', label: 'Yükleme Verisi Yok', icon: 'mdi:upload-off' },
83
+ { value: '4K', label: 'Maksimum Çözünürlük', icon: 'mdi:video-high-definition' }
84
+ ], columns: 3 },
85
+
86
+ { type: 'title', text: 'Video Birleştirmek İçin Yaygın Kullanım Alanları', level: 3 },
87
+ { type: 'comparative', items: [
88
+ {
89
+ title: 'Sosyal Medya',
90
+ description: 'Hikayeleri, TikTok\'ları veya reel videolarını hızlıca tek bir videoda birleştirme',
91
+ icon: 'mdi:instagram',
92
+ points: [
93
+ 'Cep telefonunuzla kaydedilen küçük klipleri birleştirin',
94
+ 'Instagram veya YouTube için sıralı içerik hazırlayın',
95
+ 'Sinir bozucu filigranlar olmadan birleştirme'
96
+ ]
97
+ },
98
+ {
99
+ title: 'Sunumlar',
100
+ description: 'Tanıtımları ve demo kayıtlarını tek bir dosyada birleştirin',
101
+ icon: 'mdi:presentation',
102
+ points: [
103
+ 'Hareketli bir introyu sunumun gövdesiyle birleştirin',
104
+ 'Kısa yazılım demolarını birleştirin',
105
+ 'Standart MP4/WEBM formatında temiz dışa aktarım'
106
+ ],
107
+ highlight: true
108
+ },
109
+ {
110
+ title: 'Aile Derlemeleri',
111
+ description: 'Tatillerinizden veya kutlamalarınızdan birden fazla videoyu birleştirin',
112
+ icon: 'mdi:home-heart',
113
+ points: [
114
+ 'Partinin tüm anlarıyla tek bir video oluşturun',
115
+ 'Seyahat anılarını kronolojik olarak gruplandırın',
116
+ 'Tek bir dosyada olduğu için paylaşması kolay'
117
+ ]
118
+ },
119
+ {
120
+ title: 'Eğitim Videoları',
121
+ description: 'Kısa eğitim bölümlerini veya derslerini uca uca ekleyin',
122
+ icon: 'mdi:school',
123
+ points: [
124
+ 'Küçük bağımsız öğreticileri gruplandırın',
125
+ 'Derslerinize bir kapanış klibi ekleyin',
126
+ 'Kursunuzu profesyonelce yapılandırın'
127
+ ]
128
+ }
129
+ ], columns: 2 },
130
+
131
+ { type: 'title', text: 'Tarayıcıdan Video Birleştirmek İçin En İyi Uygulama', level: 2 },
132
+ { type: 'paragraph', html: 'Bu sadece başka bir web sayfası değil; modern HTML5 video API\'leri sayesinde doğrudan tarayıcınızdan çalışan gerçek bir <strong>video birleştirme uygulamasıdır</strong>. <strong>MP4 videolarını</strong>, WEBM\'i ve daha fazlasını birleştirebilir, çözünürlükleri karıştırabilir (boyutlar değişirse sistemimiz otomatik letterboxing uygular) ve nihai dışa aktarımınızın saniyedeki kare sayısını (FPS) seçebilirsiniz.' },
133
+
134
+ { type: 'title', text: 'Birleştirme Yaklaşımlarının Karşılaştırması', level: 3 },
135
+ { type: 'table', headers: ['Özellikler', 'Yerel Aracımız', 'Klasik Çevrimiçi Dönüştürücüler', 'Profesyonel Editörler'], rows: [
136
+ ['Gizlilik', 'Tam (Cihazınızda işlenir)', 'Düşük (Sunucuya dosya yüklenmesini gerektirir)', 'Tam (Cihazınızda yüklü)'],
137
+ ['Ağ Tüketimi', 'Sıfır (Gigabaytlarca yükleme yok)', 'Çok yüksek (Dosya yükleme ve indirme)', 'Sıfır'],
138
+ ['Filigran', 'YOK (%100 temiz)', 'Evet (Ücretsiz sürümlerde)', 'YOK (Lisans alırsanız)'],
139
+ ['Fiyat', '%100 Ücretsiz', 'Sınırlarla ücretsiz veya abonelik', 'Genellikle pahalı'],
140
+ ['Öğrenme Eğrisi', 'Çok düşük (Sürükle, sırala ve birleştir)', 'Düşük', 'Çok yüksek (Eğitim gerektirir)']
141
+ ] },
142
+
143
+ { type: 'proscons', items: [
144
+ {
145
+ pro: 'Garantili gizlilik: Hiçbir dosya cihazınızdan ayrılmadığı için maksimum güvenlik',
146
+ con: 'Büyük videoları birleştirme hızı, yerel bilgisayarınızın RAM\'ine ve işlemcisine bağlıdır'
147
+ },
148
+ {
149
+ pro: 'Profesyonel sonuçlar: %100 ücretsiz, kayıt yok ve filigran yok',
150
+ con: 'Farklı boyutlardaki (dikey vs yatay) videoları birleştirirken, siyah kenar boşlukları (letterboxing) uygulanacaktır'
151
+ },
152
+ {
153
+ pro: 'Çok Yönlülük: Web ve sosyal medya kullanımı için optimize edilmiş verimli kodlama ile hızlı dışa aktarım',
154
+ con: 'Klipler arasında karmaşık geçişler (3B kararmalar) veya sinematik görsel efektler eklemeye izin vermez'
155
+ }
156
+ ], title: 'Avantajlar ve Hususlar' },
157
+
158
+ { type: 'title', text: 'Videolarınızı Bugün Birleştirmeye Başlayın', level: 2 },
159
+ { type: 'paragraph', html: 'Artık yüzlerce dağınık video parçasına sahip olmak için bahaneniz yok. Dosyalarınızı yükleyin, istediğiniz sıraya koyun ve düğmeye basın. <strong>Videoları çevrimiçi birleştirmenin</strong> en hızlı, en güvenli ve en gizli yolunu keşfedin.' }
160
+ ];
161
+
162
+ const faqSchema: WithContext<FAQPage> = {
163
+ '@context': 'https://schema.org',
164
+ '@type': 'FAQPage',
165
+ mainEntity: faq.map((item) => ({
166
+ '@type': 'Question',
167
+ name: item.question,
168
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
169
+ })),
170
+ };
171
+
172
+ const howToSchema: WithContext<HowTo> = {
173
+ '@context': 'https://schema.org',
174
+ '@type': 'HowTo',
175
+ name: title,
176
+ description,
177
+ step: howTo.map((step) => ({
178
+ '@type': 'HowToStep',
179
+ name: step.name,
180
+ text: step.text,
181
+ })),
182
+ };
183
+
184
+ const appSchema: WithContext<SoftwareApplication> = {
185
+ '@context': 'https://schema.org',
186
+ '@type': 'SoftwareApplication',
187
+ name: title,
188
+ description,
189
+ applicationCategory: 'UtilitiesApplication',
190
+ operatingSystem: 'Web',
191
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
192
+ inLanguage: 'tr',
193
+ };
194
+
195
+ export const content: VideoMergerLocaleContent = {
196
+ slug,
197
+ title,
198
+ description,
199
+ ui,
200
+ seo,
201
+ faq,
202
+ bibliography,
203
+ howTo,
204
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
205
+ };
@@ -0,0 +1,205 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
3
+ import type { VideoMergerUI, VideoMergerLocaleContent } from '../index';
4
+
5
+ const slug = 'merge-videos-online';
6
+ const title = '在线合并视频:快速免费拼接多个视频';
7
+ const description = '免费在线将多个视频合并拼接成一个,完全在本地处理。无水印,无需上传,在您的浏览器中100%保护隐私。';
8
+
9
+ const ui: VideoMergerUI = {
10
+ uploadTitle: "上传您的视频文件",
11
+ uploadFormats: "拖放多个视频或点击选择它们",
12
+ privacyNote: "您的视频100%在本地处理。没有任何文件会被上传到互联网。",
13
+ addMoreBtn: "添加更多视频",
14
+ mergeBtn: "立即合并视频",
15
+ mergingStatus: "正在合并视频...",
16
+ downloadBtn: "下载合并后的视频",
17
+ resetBtn: "重新开始",
18
+ emptyList: "拖动或选择视频以开始合并。",
19
+ listTitle: "视频合并顺序",
20
+ optionsTitle: "输出设置",
21
+ optionResolution: "分辨率",
22
+ optionFps: "帧率 (FPS)",
23
+ optionsQualityNote: "如果视频尺寸不同,最终分辨率将自动调整,并使用信箱模式(黑边)保持原始宽高比。",
24
+ faqTitle: "关于视频合并的常见问题",
25
+ bibliographyTitle: "参考资料与链接",
26
+ resolutionWarning: "注意:部分视频分辨率不同,系统将自动进行适配。"
27
+ };
28
+
29
+ const faq: VideoMergerLocaleContent['faq'] = [
30
+ {
31
+ question: "将视频上传到这个工具安全吗?",
32
+ answer: "是的,完全安全。该工具100%在您的浏览器本地运行。您的视频永远不会通过互联网传输,也不会保存在任何服务器上。",
33
+ },
34
+ {
35
+ question: "如果我的视频尺寸不同会怎样?",
36
+ answer: "我们的工具会自动缩放视频以适应您选择的输出分辨率。对于比例不完全匹配的视频,系统将添加黑边(信箱模式)以保留原始宽高比。",
37
+ },
38
+ {
39
+ question: "合并时视频的音频会保留吗?",
40
+ answer: "是的。每个视频的音轨都会被提取,并与每个图像片段完美同步,按顺序混合在一起。",
41
+ },
42
+ ];
43
+
44
+ const howTo: VideoMergerLocaleContent['howTo'] = [
45
+ {
46
+ name: "选择或拖动您的视频",
47
+ text: "直接从您的电脑或手机加载您想要合并的所有视频文件。",
48
+ },
49
+ {
50
+ name: "调整顺序",
51
+ text: "使用列表中的上下按钮对上传的视频进行排序,以决定播放顺序。",
52
+ },
53
+ {
54
+ name: "调整选项",
55
+ text: "选择合并后视频的输出分辨率和帧率(FPS)。",
56
+ },
57
+ {
58
+ name: "合并并导出",
59
+ text: "点击合并按钮。等待实时处理完成,然后下载生成的文件。",
60
+ },
61
+ ];
62
+
63
+ const seo: VideoMergerLocaleContent['seo'] = [
64
+ {
65
+ type: 'summary',
66
+ title: '100%本地专业视频合并',
67
+ items: [
68
+ '直接在您的浏览器中实时处理',
69
+ '支持不同尺寸和格式的多个视频 (MP4, WEBM, MOV)',
70
+ '可选的输出分辨率 (720p, 1080p, 2K, 4K)',
71
+ '音轨完美按顺序组合'
72
+ ]
73
+ },
74
+ { type: 'title', text: '免费在线合并视频:无限的简单与隐私', level: 2 },
75
+ { type: 'paragraph', html: '想知道<strong>如何轻松地将两个视频合并为一个</strong>吗?您不再需要下载笨重的软件或付费应用。我们<strong>免费在线合并视频</strong>的工具可让您在几秒钟内拼接所需的所有剪辑。由于100%在本地工作,您无需将文件上传到任何服务器,这不仅保证了绝对的隐私,还能让您<strong>合并大文件视频</strong>而无需等待上传时间。' },
76
+
77
+ { type: 'title', text: '无水印合并视频', level: 3 },
78
+ { type: 'paragraph', html: '其他应用程序最大的缺点之一就是它们会破坏您的内容。有了我们,您可以<strong>无水印在线合并视频</strong>。您下载的文件将完全是您的创作,干净、专业,可以直接分享到YouTube、Instagram、TikTok或供个人使用。' },
79
+
80
+ { type: 'stats', items: [
81
+ { value: '100%', label: '私密且本地', icon: 'mdi:shield-check' },
82
+ { value: '0MB', label: '无上传数据', icon: 'mdi:upload-off' },
83
+ { value: '4K', label: '最高分辨率', icon: 'mdi:video-high-definition' }
84
+ ], columns: 3 },
85
+
86
+ { type: 'title', text: '视频合并的常见用例', level: 3 },
87
+ { type: 'comparative', items: [
88
+ {
89
+ title: '社交媒体',
90
+ description: '快速将快拍、TikTok或Reels合并为一个视频',
91
+ icon: 'mdi:instagram',
92
+ points: [
93
+ '拼接用手机录制的小片段',
94
+ '为Instagram或YouTube准备连续内容',
95
+ '无烦人水印的合并'
96
+ ]
97
+ },
98
+ {
99
+ title: '演示文稿',
100
+ description: '将介绍和演示录像合并为一个文件',
101
+ icon: 'mdi:presentation',
102
+ points: [
103
+ '将动画片头与演示文稿正文结合',
104
+ '连接简短的软件演示',
105
+ '以标准MP4/WEBM格式干净导出'
106
+ ],
107
+ highlight: true
108
+ },
109
+ {
110
+ title: '家庭影像集',
111
+ description: '合并您假期或庆祝活动的多个视频',
112
+ icon: 'mdi:home-heart',
113
+ points: [
114
+ '将派对的所有精彩瞬间制作成一个视频',
115
+ '按时间顺序归类旅行回忆',
116
+ '合并为一个文件,轻松分享'
117
+ ]
118
+ },
119
+ {
120
+ title: '教育视频',
121
+ description: '拼接简短的培训章节或课程',
122
+ icon: 'mdi:school',
123
+ points: [
124
+ '将独立的小教程分组',
125
+ '为您的课程添加片尾剪辑',
126
+ '专业地构建您的课程'
127
+ ]
128
+ }
129
+ ], columns: 2 },
130
+
131
+ { type: 'title', text: '浏览器端最好的视频合并应用', level: 2 },
132
+ { type: 'paragraph', html: '这不仅是一个网页;得益于现代HTML5视频API,它是一个可以直接在您的浏览器中运行的真正<strong>视频合并应用</strong>。您可以<strong>合并MP4视频</strong>、WEBM等,混合不同分辨率(如果尺寸不同,我们的系统会自动应用信箱模式),并选择最终导出的帧率(FPS)。' },
133
+
134
+ { type: 'title', text: '合并方式比较', level: 3 },
135
+ { type: 'table', headers: ['功能特点', '我们的本地工具', '传统的在线转换器', '专业视频编辑器'], rows: [
136
+ ['隐私安全', '完全(在您的设备上处理)', '低(需要将文件上传到服务器)', '完全(安装在您的设备上)'],
137
+ ['网络消耗', '零(无需上传千兆字节的数据)', '极高(大量上传和下载)', '零'],
138
+ ['水印限制', '无(100%干净)', '有(免费版本通常带有水印)', '无(需要购买许可证)'],
139
+ ['价格成本', '100% 免费', '免费但有诸多限制,或需订阅', '通常非常昂贵'],
140
+ ['学习曲线', '极低(拖拽、排序即可合并)', '较低', '极高(需要专门的培训学习)']
141
+ ] },
142
+
143
+ { type: 'proscons', items: [
144
+ {
145
+ pro: '隐私保障:文件绝不会离开您的设备,安全性最高',
146
+ con: '合并大型视频的速度取决于您本地计算机的内存和处理器性能'
147
+ },
148
+ {
149
+ pro: '专业成果:100%免费,无需注册账号,且没有任何水印',
150
+ con: '在拼接尺寸差异较大(如竖屏与横屏)的视频时,系统会自动添加黑边'
151
+ },
152
+ {
153
+ pro: '广泛适用:采用为网页和社交媒体优化的高效编码,实现快速导出',
154
+ con: '不支持在视频剪辑之间添加复杂的转场(如3D淡入淡出)或电影级视觉特效'
155
+ }
156
+ ], title: '优势与注意事项' },
157
+
158
+ { type: 'title', text: '今天就开始合并您的视频吧', level: 2 },
159
+ { type: 'paragraph', html: '现在,您再也没有理由留着几百个杂乱无章的视频片段了。上传您的文件,按所需的顺序排列,然后点击按钮。体验最快、最安全、最私密的<strong>在线合并视频</strong>方式。' }
160
+ ];
161
+
162
+ const faqSchema: WithContext<FAQPage> = {
163
+ '@context': 'https://schema.org',
164
+ '@type': 'FAQPage',
165
+ mainEntity: faq.map((item) => ({
166
+ '@type': 'Question',
167
+ name: item.question,
168
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
169
+ })),
170
+ };
171
+
172
+ const howToSchema: WithContext<HowTo> = {
173
+ '@context': 'https://schema.org',
174
+ '@type': 'HowTo',
175
+ name: title,
176
+ description,
177
+ step: howTo.map((step) => ({
178
+ '@type': 'HowToStep',
179
+ name: step.name,
180
+ text: step.text,
181
+ })),
182
+ };
183
+
184
+ const appSchema: WithContext<SoftwareApplication> = {
185
+ '@context': 'https://schema.org',
186
+ '@type': 'SoftwareApplication',
187
+ name: title,
188
+ description,
189
+ applicationCategory: 'UtilitiesApplication',
190
+ operatingSystem: 'Web',
191
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
192
+ inLanguage: 'zh',
193
+ };
194
+
195
+ export const content: VideoMergerLocaleContent = {
196
+ slug,
197
+ title,
198
+ description,
199
+ ui,
200
+ seo,
201
+ faq,
202
+ bibliography,
203
+ howTo,
204
+ schemas: [faqSchema as any, howToSchema as any, appSchema],
205
+ };
@@ -0,0 +1,11 @@
1
+ import type { AudiovisualToolEntry, ToolDefinition } from '../../types';
2
+ import { videoMerger } from './entry';
3
+
4
+ export * from './entry';
5
+
6
+ export const VIDEO_MERGER_TOOL: ToolDefinition = {
7
+ entry: videoMerger as unknown as AudiovisualToolEntry,
8
+ Component: () => import('./component.astro'),
9
+ SEOComponent: () => import('./seo.astro'),
10
+ BibliographyComponent: () => import('./bibliography.astro'),
11
+ };