Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Multimedia
Kdenlive
Commits
758009ce
Commit
758009ce
authored
Mar 30, 2021
by
Jean-Baptiste Mardelle
Browse files
Ensure new transcoding profiles appear even if user already has some custom ones
parent
f32f9d9f
Changes
6
Hide whitespace changes
Inline
Side-by-side
data/kdenlivetranscodingrc
View file @
758009ce
[Transcoding]
DNxHD 1080i 25 fps 185 Mb/s=-s 1920x1080 -r pal -top -1 -flags +ilme+ildct -vb 185000k -threads 0 -vcodec dnxhd -acodec
copy
%1.mov;High quality encoding
DNxHD 1080p 25 fps 185 Mb/s=-s 1920x1080 -r 25 -vb 185000k -threads 0 -vcodec dnxhd -acodec
copy
%1.mov;High quality encoding
DNxHD 1080p 24 fps 175 Mb/s=-s 1920x1080 -r 24 -vb 175000k -threads 0 -vcodec dnxhd -acodec
copy
%1.mov;High quality encoding
DNxHD 1080p 23.976 fps 175 Mb/s=-s 1920x1080 -r 23.976 -vb 175000k -threads 0 -vcodec dnxhd -acodec
copy
%1.mov;High quality encoding
DNxHD 1080i 25 fps 120 Mb/s=-s 1920x1080 -r pal -top -1 -flags +ilme+ildct -vb 120000k -threads 0 -vcodec dnxhd -acodec
copy
%1.mov;High quality encoding
DNxHD 1080p 25 fps 120 Mb/s=-s 1920x1080 -r 25 -vb 120000k -threads 0 -vcodec dnxhd -acodec
copy
%1.mov;High quality encoding
DNxHD 1080p 24 fps 115 Mb/s=-s 1920x1080 -r 24 -vb 115000k -threads 0 -vcodec dnxhd -acodec
copy
%1.mov;High quality encoding
DNxHD 1080p 23.976 fps 115 Mb/s=-s 1920x1080 -r 23.976 -vb 115000k -threads 0 -vcodec dnxhd -acodec
copy
%1.mov;High quality encoding
DNxHD 1080i 30 fps 220 Mb/s=-s 1920x1080 -r ntsc -top -1 -flags +ilme+ildct -vb 220000k -threads 0 -vcodec dnxhd -acodec
copy
%1.mov;High quality encoding
DNxHD 1080p 30 fps 220 Mb/s=-s 1920x1080 -r 30 -vb 220000k -threads 0 -vcodec dnxhd -acodec
copy
%1.mov;High quality encoding
DNxHD 1080i 30 fps 145 Mb/s=-s 1920x1080 -r ntsc -top -1 -flags +ilme+ildct -vb 145000k -threads 0 -vcodec dnxhd -acodec
copy
%1.mov;High quality encoding
DNxHD 1080p 30 fps 145 Mb/s=-s 1920x1080 -r 30 -vb 145000k -threads 0 -vcodec dnxhd -acodec
copy
%1.mov;High quality encoding
DNxHD 720p 23.976 fps 90 Mb/s=-s 1280x720 -r 24000/1001 -vb 90000k -threads 0 -vcodec dnxhd -acodec
copy
%1.mov;High quality encoding
DNxHD 720p 23.976 fps 60 Mb/s=-s 1280x720 -r 24000/1001 -vb 60000k -threads 0 -vcodec dnxhd -acodec
copy
%1.mov;High quality encoding
DNxHD 720p 50 fps 175 Mb/s=-s 1280x720 -r 50 -vb 175000k -threads 0 -vcodec dnxhd -acodec
copy
%1.mov;High quality encoding
DNxHD 720p 50 fps 115 Mb/s=-s 1280x720 -r 50 -vb 115000k -threads 0 -vcodec dnxhd -acodec
copy
%1.mov;High quality encoding
DNxHD 720p 59.94 fps 220 Mb/s=-s 1280x720 -r 60000/1001 -vb 220000k -threads 0 -vcodec dnxhd -acodec
copy
%1.mov;High quality encoding
DNxHD 720p 59.94 fps 145 Mb/s=-s 1280x720 -r 60000/1001 -vb 145000k -threads 0 -vcodec dnxhd -acodec
copy
%1.mov;High quality encoding
DNxHD 1080i 25 fps 185 Mb/s=-s 1920x1080 -r pal -top -1 -flags +ilme+ildct -vb 185000k -threads 0 -vcodec dnxhd -acodec
pcm_s16le -ar 48000
%1.mov;High quality encoding
DNxHD 1080p 25 fps 185 Mb/s=-s 1920x1080 -r 25 -vb 185000k -threads 0 -vcodec dnxhd -acodec
pcm_s16le -ar 48000
%1.mov;High quality encoding
DNxHD 1080p 24 fps 175 Mb/s=-s 1920x1080 -r 24 -vb 175000k -threads 0 -vcodec dnxhd -acodec
pcm_s16le -ar 48000
%1.mov;High quality encoding
DNxHD 1080p 23.976 fps 175 Mb/s=-s 1920x1080 -r 23.976 -vb 175000k -threads 0 -vcodec dnxhd -acodec
pcm_s16le -ar 48000
%1.mov;High quality encoding
DNxHD 1080i 25 fps 120 Mb/s=-s 1920x1080 -r pal -top -1 -flags +ilme+ildct -vb 120000k -threads 0 -vcodec dnxhd -acodec
pcm_s16le -ar 48000
%1.mov;High quality encoding
DNxHD 1080p 25 fps 120 Mb/s=-s 1920x1080 -r 25 -vb 120000k -threads 0 -vcodec dnxhd -acodec
pcm_s16le -ar 48000
%1.mov;High quality encoding
DNxHD 1080p 24 fps 115 Mb/s=-s 1920x1080 -r 24 -vb 115000k -threads 0 -vcodec dnxhd -acodec
pcm_s16le -ar 48000
%1.mov;High quality encoding
DNxHD 1080p 23.976 fps 115 Mb/s=-s 1920x1080 -r 23.976 -vb 115000k -threads 0 -vcodec dnxhd -acodec
pcm_s16le -ar 48000
%1.mov;High quality encoding
DNxHD 1080i 30 fps 220 Mb/s=-s 1920x1080 -r ntsc -top -1 -flags +ilme+ildct -vb 220000k -threads 0 -vcodec dnxhd -acodec
pcm_s16le -ar 48000
%1.mov;High quality encoding
DNxHD 1080p 30 fps 220 Mb/s=-s 1920x1080 -r 30 -vb 220000k -threads 0 -vcodec dnxhd -acodec
pcm_s16le -ar 48000
%1.mov;High quality encoding
DNxHD 1080i 30 fps 145 Mb/s=-s 1920x1080 -r ntsc -top -1 -flags +ilme+ildct -vb 145000k -threads 0 -vcodec dnxhd -acodec
pcm_s16le -ar 48000
%1.mov;High quality encoding
DNxHD 1080p 30 fps 145 Mb/s=-s 1920x1080 -r 30 -vb 145000k -threads 0 -vcodec dnxhd -acodec
pcm_s16le -ar 48000
%1.mov;High quality encoding
DNxHD 720p 23.976 fps 90 Mb/s=-s 1280x720 -r 24000/1001 -vb 90000k -threads 0 -vcodec dnxhd -acodec
pcm_s16le -ar 48000
%1.mov;High quality encoding
DNxHD 720p 23.976 fps 60 Mb/s=-s 1280x720 -r 24000/1001 -vb 60000k -threads 0 -vcodec dnxhd -acodec
pcm_s16le -ar 48000
%1.mov;High quality encoding
DNxHD 720p 50 fps 175 Mb/s=-s 1280x720 -r 50 -vb 175000k -threads 0 -vcodec dnxhd -acodec
pcm_s16le -ar 48000
%1.mov;High quality encoding
DNxHD 720p 50 fps 115 Mb/s=-s 1280x720 -r 50 -vb 115000k -threads 0 -vcodec dnxhd -acodec
pcm_s16le -ar 48000
%1.mov;High quality encoding
DNxHD 720p 59.94 fps 220 Mb/s=-s 1280x720 -r 60000/1001 -vb 220000k -threads 0 -vcodec dnxhd -acodec
pcm_s16le -ar 48000
%1.mov;High quality encoding
DNxHD 720p 59.94 fps 145 Mb/s=-s 1280x720 -r 60000/1001 -vb 145000k -threads 0 -vcodec dnxhd -acodec
pcm_s16le -ar 48000
%1.mov;High quality encoding
Fix MPEG-1=-sameq -acodec copy -vcodec mpeg1video %1.mpg;Fix unplayable MPEG-1 files;;vcodec=mpeg1video
Fix Ogg Theora=-sameq -vcodec libtheora -acodec copy %1.ogv;Fix unplayable OGG Theora files;;vcodec=theora
ProRes 422 Proxy=-vcodec prores_ks -profile:v 0 -acodec pcm_s16le -ar 48000 -ac 2 %1.mov;High quality encoding
...
...
src/dialogs/kdenlivesettingsdialog.cpp
View file @
758009ce
...
...
@@ -298,8 +298,6 @@ KdenliveSettingsDialog::KdenliveSettingsDialog(QMap<QString, QString> mappable_a
connect
(
m_configTranscode
.
button_delete
,
&
QAbstractButton
::
clicked
,
this
,
&
KdenliveSettingsDialog
::
slotDeleteTranscode
);
connect
(
m_configTranscode
.
profiles_list
,
&
QListWidget
::
itemChanged
,
this
,
&
KdenliveSettingsDialog
::
slotDialogModified
);
connect
(
m_configTranscode
.
profiles_list
,
&
QListWidget
::
currentRowChanged
,
this
,
&
KdenliveSettingsDialog
::
slotSetTranscodeProfile
);
connect
(
m_configTranscode
.
profile_name
,
&
QLineEdit
::
textChanged
,
this
,
&
KdenliveSettingsDialog
::
slotEnableTranscodeUpdate
);
connect
(
m_configTranscode
.
profile_description
,
&
QLineEdit
::
textChanged
,
this
,
&
KdenliveSettingsDialog
::
slotEnableTranscodeUpdate
);
connect
(
m_configTranscode
.
profile_extension
,
&
QLineEdit
::
textChanged
,
this
,
&
KdenliveSettingsDialog
::
slotEnableTranscodeUpdate
);
connect
(
m_configTranscode
.
profile_parameters
,
&
QPlainTextEdit
::
textChanged
,
this
,
&
KdenliveSettingsDialog
::
slotEnableTranscodeUpdate
);
...
...
@@ -1201,7 +1199,7 @@ void KdenliveSettingsDialog::slotCheckAudioBackend()
void
KdenliveSettingsDialog
::
loadTranscodeProfiles
()
{
KSharedConfigPtr
config
=
KSharedConfig
::
openConfig
(
QStandardPaths
::
locate
(
QStandardPaths
::
AppDataLocation
,
QStringLiteral
(
"kdenlivetranscodingrc"
)
)
,
KConfig
::
CascadeConfig
);
KSharedConfig
::
openConfig
(
QStringLiteral
(
"kdenlivetranscodingrc"
),
KConfig
::
CascadeConfig
,
QStandardPaths
::
AppDataLocation
);
KConfigGroup
transConfig
(
config
,
"Transcoding"
);
// read the entries
m_configTranscode
.
profiles_list
->
blockSignals
(
true
);
...
...
@@ -1240,11 +1238,15 @@ void KdenliveSettingsDialog::saveTranscodeProfiles()
void
KdenliveSettingsDialog
::
slotAddTranscode
()
{
if
(
!
m_configTranscode
.
profiles_list
->
findItems
(
m_configTranscode
.
profile_name
->
text
(),
Qt
::
MatchExactly
).
isEmpty
())
{
bool
ok
;
QString
presetName
=
QInputDialog
::
getText
(
this
,
i18n
(
"Enter preset name"
),
i18n
(
"Enter the name of this preset"
),
QLineEdit
::
Normal
,
QString
(),
&
ok
);
if
(
!
ok
)
return
;
if
(
!
m_configTranscode
.
profiles_list
->
findItems
(
presetName
,
Qt
::
MatchExactly
).
isEmpty
())
{
KMessageBox
::
sorry
(
this
,
i18n
(
"A profile with that name already exists"
));
return
;
}
QListWidgetItem
*
item
=
new
QListWidgetItem
(
m_configTranscode
.
profile_name
->
text
()
);
QListWidgetItem
*
item
=
new
QListWidgetItem
(
presetName
);
QString
profilestr
=
m_configTranscode
.
profile_parameters
->
toPlainText
();
profilestr
.
append
(
" %1."
+
m_configTranscode
.
profile_extension
->
text
());
profilestr
.
append
(
';'
);
...
...
@@ -1267,7 +1269,6 @@ void KdenliveSettingsDialog::slotUpdateTranscodingProfile()
return
;
}
m_configTranscode
.
button_update
->
setEnabled
(
false
);
item
->
setText
(
m_configTranscode
.
profile_name
->
text
());
QString
profilestr
=
m_configTranscode
.
profile_parameters
->
toPlainText
();
profilestr
.
append
(
" %1."
+
m_configTranscode
.
profile_extension
->
text
());
profilestr
.
append
(
';'
);
...
...
@@ -1297,7 +1298,7 @@ void KdenliveSettingsDialog::slotEnableTranscodeUpdate()
return
;
}
bool
allow
=
true
;
if
(
m_configTranscode
.
profile_name
->
text
().
isEmpty
()
||
m_configTranscode
.
profile_extension
->
text
().
isEmpty
())
{
if
(
m_configTranscode
.
profile_extension
->
text
().
isEmpty
())
{
allow
=
false
;
}
m_configTranscode
.
button_update
->
setEnabled
(
allow
);
...
...
@@ -1307,7 +1308,6 @@ void KdenliveSettingsDialog::slotSetTranscodeProfile()
{
m_configTranscode
.
profile_box
->
setEnabled
(
false
);
m_configTranscode
.
button_update
->
setEnabled
(
false
);
m_configTranscode
.
profile_name
->
clear
();
m_configTranscode
.
profile_description
->
clear
();
m_configTranscode
.
profile_extension
->
clear
();
m_configTranscode
.
profile_parameters
->
clear
();
...
...
@@ -1316,7 +1316,6 @@ void KdenliveSettingsDialog::slotSetTranscodeProfile()
if
(
!
item
)
{
return
;
}
m_configTranscode
.
profile_name
->
setText
(
item
->
text
());
QString
profilestr
=
item
->
data
(
Qt
::
UserRole
).
toString
();
if
(
profilestr
.
contains
(
QLatin1Char
(
';'
)))
{
m_configTranscode
.
profile_description
->
setText
(
profilestr
.
section
(
QLatin1Char
(
';'
),
1
,
1
));
...
...
src/dvdwizard/dvdwizardvob.cpp
View file @
758009ce
...
...
@@ -636,7 +636,7 @@ void DvdWizardVob::slotTranscodeFiles()
m_warnMessage
->
animatedHide
();
// Find transcoding info related to selected DVD profile
KSharedConfigPtr
config
=
KSharedConfig
::
openConfig
(
QStandardPaths
::
locate
(
QStandardPaths
::
AppDataLocation
,
QStringLiteral
(
"kdenlivetranscodingrc"
)
)
,
KConfig
::
CascadeConfig
);
KSharedConfig
::
openConfig
(
QStringLiteral
(
"kdenlivetranscodingrc"
),
KConfig
::
CascadeConfig
,
QStandardPaths
::
AppDataLocation
);
KConfigGroup
transConfig
(
config
,
"Transcoding"
);
// read the entries
QString
profileEasyName
;
...
...
src/mainwindow.cpp
View file @
758009ce
...
...
@@ -3545,7 +3545,7 @@ void MainWindow::buildDynamicActions()
ts
=
new
KActionCategory
(
i18n
(
"Transcoders"
),
m_extraFactory
->
actionCollection
());
KActionCategory
*
ats
=
new
KActionCategory
(
i18n
(
"Extract Audio"
),
m_extraFactory
->
actionCollection
());
KSharedConfigPtr
config
=
KSharedConfig
::
openConfig
(
QStandardPaths
::
locate
(
QStandardPaths
::
AppDataLocation
,
QStringLiteral
(
"kdenlivetranscodingrc"
)
)
,
KConfig
::
CascadeConfig
);
KSharedConfig
::
openConfig
(
QStringLiteral
(
"kdenlivetranscodingrc"
),
KConfig
::
CascadeConfig
,
QStandardPaths
::
AppDataLocation
);
KConfigGroup
transConfig
(
config
,
"Transcoding"
);
// read the entries
QMap
<
QString
,
QString
>
profiles
=
transConfig
.
entryMap
();
...
...
src/project/cliptranscode.cpp
View file @
758009ce
...
...
@@ -89,7 +89,7 @@ ClipTranscode::ClipTranscode(QStringList urls, const QString ¶ms, QStringLis
}
else
{
// load Profiles
KSharedConfigPtr
config
=
KSharedConfig
::
openConfig
(
QStandardPaths
::
locate
(
QStandardPaths
::
AppDataLocation
,
QStringLiteral
(
"kdenlivetranscodingrc"
)
)
,
KConfig
::
CascadeConfig
);
KSharedConfig
::
openConfig
(
QStringLiteral
(
"kdenlivetranscodingrc"
),
KConfig
::
CascadeConfig
,
QStandardPaths
::
AppDataLocation
);
KConfigGroup
transConfig
(
config
,
"Transcoding"
);
// read the entries
QMap
<
QString
,
QString
>
profiles
=
transConfig
.
entryMap
();
...
...
src/ui/configtranscode_ui.ui
View file @
758009ce
...
...
@@ -6,8 +6,8 @@
<rect>
<x>
0
</x>
<y>
0
</y>
<width>
319
</width>
<height>
3
06
</height>
<width>
444
</width>
<height>
3
88
</height>
</rect>
</property>
<layout
class=
"QGridLayout"
name=
"gridLayout"
>
...
...
@@ -64,65 +64,48 @@
<string/>
</property>
<layout
class=
"QGridLayout"
name=
"gridLayout_2"
>
<item
row=
"0"
column=
"0"
>
<widget
class=
"QLabel"
name=
"label"
>
<property
name=
"text"
>
<string>
Name
</string>
</property>
</widget>
</item>
<item
row=
"0"
column=
"1"
colspan=
"2"
>
<widget
class=
"QLineEdit"
name=
"profile_name"
/>
<item
row=
"1"
column=
"1"
>
<widget
class=
"QLineEdit"
name=
"profile_extension"
/>
</item>
<item
row=
"
1
"
column=
"0"
>
<item
row=
"
0
"
column=
"0"
>
<widget
class=
"QLabel"
name=
"label_2"
>
<property
name=
"text"
>
<string>
Description
</string>
</property>
</widget>
</item>
<item
row=
"1"
column=
"1"
colspan=
"2"
>
<item
row=
"3"
column=
"0"
colspan=
"3"
>
<widget
class=
"QPlainTextEdit"
name=
"profile_parameters"
/>
</item>
<item
row=
"0"
column=
"1"
colspan=
"2"
>
<widget
class=
"QLineEdit"
name=
"profile_description"
/>
</item>
<item
row=
"
2
"
column=
"0"
>
<item
row=
"
1
"
column=
"0"
>
<widget
class=
"QLabel"
name=
"label_3"
>
<property
name=
"text"
>
<string>
Extension
</string>
</property>
</widget>
</item>
<item
row=
"2"
column=
"1"
>
<widget
class=
"QLineEdit"
name=
"profile_extension"
/>
</item>
<item
row=
"2"
column=
"2"
>
<item
row=
"1"
column=
"2"
>
<widget
class=
"QCheckBox"
name=
"profile_audioonly"
>
<property
name=
"text"
>
<string>
Audio only
</string>
</property>
</widget>
</item>
<item
row=
"
3
"
column=
"0"
colspan=
"3"
>
<item
row=
"
2
"
column=
"0"
colspan=
"3"
>
<widget
class=
"QLabel"
name=
"label_4"
>
<property
name=
"text"
>
<string>
Parameters
</string>
</property>
</widget>
</item>
<item
row=
"4"
column=
"0"
colspan=
"3"
>
<widget
class=
"QPlainTextEdit"
name=
"profile_parameters"
/>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>
QLineEdit
</class>
<extends>
QLineEdit
</extends>
<header>
klineedit.h
</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment