1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Dokumentation - MPlayer - The Movie Player for Linux</TITLE>
<LINK REL="stylesheet" TYPE="text/css" HREF="../default.css">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
<H1 ALIGN="center">MPlayer - The Movie Player for LINUX</H1>
<H2 ALIGN="center">© 2000-2003 Arpad Gereoffy (A'rpi/ESP-team)<BR>
<A HREF="http://www.mplayerhq.hu">http://www.mplayerhq.hu</A></H2>
<P ALIGN="center">[ Deutsch ]
<A HREF="../documentation.html">[ Englisch ]</A>
<A HREF="../Hungarian/documentation.html">[ Ungarisch ]</A>
<A HREF="../French/documentation.html">[ Französisch ]</A>
<A HREF="../Polish/documentation.html">[ Polnisch ]</A>
<A HREF="../Italian/documentation.html">[ Italienisch ]</A>
<A HREF="../Chinese/documentation.html">[ Chinesisch ]</A></P>
<HR>
<H2>Inhaltsverzeichnis</H2>
<HR>
<UL>
<LI><A HREF="#reading">0. Wie diese Dokumentation zu lesen ist</A></LI>
<LI><A HREF="#introduction">1. Einleitung</A>
<UL>
<LI><A HREF="#history">1.1 Geschichte</A></LI>
<LI><A HREF="#installation">1.2 Installation</A></LI>
<LI><A HREF="#gui">1.3 Was ist mit dem GUI?</A></LI>
<LI><A HREF="#subtitles_osd">1.4 Untertitel und OSD</A>
<UL>
<LI><A HREF="#mpsub">1.4.1 Das MPlayer eigene Untertitelformat (MPsub)</A></LI>
<LI><A HREF="#install_osd">1.4.2 Installation des OSD und der Untertitel</A></LI>
<LI><A HREF="#menu">1.4.3 Das OSD-Menü</A></LI>
</UL>
</LI>
<LI><A HREF="#rtc">1.5 RTC</A></LI>
</UL>
</LI>
<LI><A HREF="#features">2. Features</A>
<UL>
<LI><A HREF="formats.html">2.1 Unterstützte Formate</A>
<UL>
<LI><A HREF="formats.html#video_formats">2.1.1 Videoformate</A>
<UL>
<LI><A HREF="formats.html#mpeg">2.1.1.1 MPEG-Dateien</A></LI>
<LI><A HREF="formats.html#avi">2.1.1.2 AVI-Dateien</A></LI>
<LI><A HREF="formats.html#asf">2.1.1.3 ASF/WMV-Dateien</A></LI>
<LI><A HREF="formats.html#mov">2.1.1.4 QickTime/MOV-Dateien</A></LI>
<LI><A HREF="formats.html#vivo">2.1.1.5 VIVO-Dateien</A></LI>
<LI><A HREF="formats.html#fli">2.1.1.6 FLI-Dateien</A></LI>
<LI><A HREF="formats.html#real">2.1.1.7 RealMedia-(RM)-Dateien</A></LI>
<LI><A HREF="formats.html#nuppelvideo">2.1.1.8 NuppelVideo-Dateien</A></LI>
<LI><A HREF="formats.html#yuv4mpeg">2.1.1.9 yuv4mpeg-Dateien</A></LI>
<LI><A HREF="formats.html#film">2.1.1.10 FILM-Dateien</A></LI>
<LI><A HREF="formats.html#roq">2.1.1.11 RoQ-Dateien</A></LI>
<LI><A HREF="formats.html#ogg">2.1.1.12 OGG-Dateien</A></LI>
<LI><A HREF="formats.html#sdp">2.1.1.13 SDP-Dateien</A></LI>
<LI><A HREF="formats.html#pva">2.1.1.14 PVA-Dateien</A></LI>
<LI><A HREF="formats.html#gif">2.1.1.15 GIF-Dateien</A></LI>
</UL>
</LI>
<LI><A HREF="formats.html#audio_formats">2.1.2 Audioformate</A>
<UL>
<LI><A HREF="formats.html#mp3">2.1.2.1 MP3-Dateien</A></LI>
<LI><A HREF="formats.html#wav">2.1.2.2 WAV-Dateien</A></LI>
<LI><A HREF="formats.html#ogg_vorbis">2.1.2.3 OGG/OGM-Dateien (Vorbis)</A></LI>
<LI><A HREF="formats.html#wma">2.1.2.4 WMA/ASF-Dateien</A></LI>
<LI><A HREF="formats.html#mp4">2.1.2.5 MP4-Dateien</A></LI>
<LI><A HREF="formats.html#cdda">2.1.2.6 CD-Audio</A></LI>
<LI><A HREF="formats.html#xmms">2.1.2.7 XMMS</A></LI>
</UL>
</LI>
</UL>
</LI>
<LI><A HREF="codecs.html">2.2 Unterstützte Codecs</A>
<UL>
<LI><A HREF="codecs.html#video_codecs">2.2.1 Videocodecs</A>
<UL>
<LI><A HREF="codecs.html#divx">2.2.1.1 DivX4/DivX5</A></LI>
<LI><A HREF="codecs.html#libavcodec">2.2.1.2 FFmpegs DivX/libavcodec</A></LI>
<LI><A HREF="codecs.html#xanim">2.2.1.3 XAnim-Codecs</A></LI>
<LI><A HREF="codecs.html#vivo_video">2.2.1.4 VIVO-Video</A></LI>
<LI><A HREF="codecs.html#mpeg">2.2.1.5 MPEG 1/2-Video</A></LI>
<LI><A HREF="codecs.html#ms_video1">2.2.1.6 MS Video1</A></LI>
<LI><A HREF="codecs.html#cinepak">2.2.1.7 Cinepak CVID</A></LI>
<LI><A HREF="codecs.html#realvideo">2.2.1.8 RealVideo</A></LI>
<LI><A HREF="codecs.html#xvid">2.2.1.9 XviD</A></LI>
<LI><A HREF="codecs.html#sorenson">2.2.1.10 Sorenson</A></LI>
</UL>
</LI>
<LI><A HREF="codecs.html#audio_codecs">2.2.2 Audiocodecs</A>
<UL>
<LI><A HREF="codecs.html#software_ac3">2.2.2.1 AC3-Decodierung in Software</A></LI>
<LI><A HREF="codecs.html#hardware_ac3">2.2.2.2 AC3-Decodierung in Hardware</A></LI>
<LI><A HREF="codecs.html#libmad">2.2.2.3 libmad-Unterstützung</A></LI>
<LI><A HREF="codecs.html#vivo_audio">2.2.2.4 VIVO-Audio</A></LI>
<LI><A HREF="codecs.html#realaudio">2.2.2.5 RealAudio</A></LI>
<LI><A HREF="codecs.html#qdesign">2.2.2.6 QDesign codecs</A></LI>
<LI><A HREF="codecs.html#qclp">2.2.2.7 Qualcomm codec</A></LI>
</UL>
</LI>
<LI><A HREF="codecs.html#importing">2.2.3 Win32 Codec Einbindungs-HOWTO</A>
<UL>
<LI><A HREF="codecs.html#importing_vfw">2.2.3.1 VfW-Codecs</A></LI>
<LI><A HREF="codecs.html#importing_directshow">2.2.3.2 DirectShow-Codecs</A></LI>
</UL>
</LI>
</UL>
</LI>
<LI><A HREF="#output">2.3 Ausgabegeräte</A>
<UL>
<LI><A HREF="video.html">2.3.1 Video-Ausgabegeräte</A>
<UL>
<LI><A HREF="video.html#mtrr">2.3.1.1 Einrichten von MTRR</A></LI>
<LI><A HREF="video.html#normal">2.3.1.2 Ausgabetreiber für traditionelle Grafikkarten</A>
<UL>
<LI><A HREF="video.html#xv">2.3.1.2.1 Xv</A>
<UL>
<LI><A HREF="video.html#xv_3dfx">2.3.1.2.1.1 3dfx-Karten</A></LI>
<LI><A HREF="video.html#xv_s3">2.3.1.2.1.2 S3-Karten</A></LI>
<LI><A HREF="video.html#xv_nvidia">2.3.1.2.1.3 nVidia-Karten</A></LI>
<LI><A HREF="video.html#xv_ati">2.3.1.2.1.4 ATI-Karten</A></LI>
<LI><A HREF="video.html#xv_neomagic">2.3.1.2.1.5 NeoMagic-Karten/A></LI>
<LI><A HREF="video.html#xv_trident">2.3.1.2.1.6 Trident-Karten</A></LI>
<LI><A HREF="video.html#xv_powervr">2.3.1.2.1.7 Kyro/PowerVR-Karten</A></LI>
</UL>
</LI>
<LI><A HREF="video.html#dga">2.3.1.2.2 DGA</A></LI>
<LI><A HREF="video.html#sdl">2.3.1.2.3 SDL</A></LI>
<LI><A HREF="video.html#svgalib">2.3.1.2.4 SVGAlib</A></LI>
<LI><A HREF="video.html#fbdev">2.3.1.2.5 Framebuffer-Ausgabe (FBdev)</A></LI>
<LI><A HREF="video.html#mga_vid">2.3.1.2.6 Matrox-Framebuffer (mga_vid)</A></LI>
<LI><A HREF="video.html#tdfxfb">2.3.1.2.7 3dfx-YUV-Unterstützung (tdfxfb)</A></LI>
<LI><A HREF="video.html#opengl">2.3.1.2.8 OpenGL-Ausgabe</A></LI>
<LI><A HREF="video.html#aalib">2.3.1.2.9 AAlib - Ausgabe im Textmodus</A></LI>
<LI><A HREF="video.html#vesa">2.3.1.2.10 VESA - Ausgabe über ein VESA-BIOS</A></LI>
<LI><A HREF="video.html#x11">2.3.1.2.11 X11</A></LI>
<LI><A HREF="video.html#vidix">2.3.1.2.12 VIDIX</A>
<UL>
<LI><A HREF="video.html#vidix_ati"> 2.3.1.2.12.1 ATI-Karten</A></LI>
<LI><A HREF="video.html#vidix_matrox"> 2.3.1.2.12.2 Matrox-Karten</A></LI>
<LI><A HREF="video.html#vidix_trident"> 2.3.1.2.12.3 Trident-Karten</A></LI>
<LI><A HREF="video.html#vidix_3dlabs"> 2.3.1.2.12.4 3DLabs-Karten</A></LI>
</UL>
</LI>
<LI><A HREF="video.html#directfb">2.3.1.2.13 DirectFB</A></LI>
<LI><A HREF="video.html#dfbmga">2.3.1.2.14 DirectFB/Matrox (dfbmga)</A></LI>
</UL>
</LI>
<LI><A HREF="video.html#mpegdec">2.3.1.3 MPEG-Decoderkarten</A>
<UL>
<LI><A HREF="video.html#dvb">2.3.1.3.1 DVB</A></LI>
<LI><A HREF="video.html#dxr2">2.3.1.3.2 DXR2</A></LI>
<LI><A HREF="video.html#dxr3">2.3.1.3.3 DXR3/Hollywood+</A></LI>
</UL>
</LI>
<LI><A HREF="video.html#other">2.3.1.4 Andere Hardwareausgabegeräte</A>
<UL>
<LI><A HREF="video.html#zr">2.3.1.4.1 Zoran JPEG-Decoder</A></LI>
<LI><A HREF="video.html#blinken">2.3.1.4.2 Blinkenlights</A></LI>
</UL>
</LI>
<LI><A HREF="video.html#tv-out">2.3.1.5 TV-out-Unterstützung</A>
<UL>
<LI><A HREF="video.html#tv-out_matrox">2.3.1.5.1 Matrox G400-Karten</A></LI>
<LI><A HREF="video.html#tv-out_matrox_g450">2.3.1.5.2 Matrox G450/G550-Karten</A></LI>
<LI><A HREF="video.html#tv-out_ati">2.3.1.5.3 ATI-Karten</A></LI>
<LI><A HREF="video.html#tv-out_voodoo">2.3.1.5.4 Voodoo 3</A></LI>
<LI><A HREF="video.html#tv-out_nvidia">2.3.1.5.5 nVidia</A></LI>
</UL>
</LI>
</UL>
</LI>
<LI><A HREF="sound.html">2.3.2 Audio-Ausgabegeräte</A>
<UL>
<LI><A HREF="sound.html#sync">2.3.2.1 Audio/Video-Synchronisation</A></LI>
<LI><A HREF="sound.html#experiences">2.3.2.2 Erfahrungen mit und Empfehlungen für Soundkarten</A></LI>
<LI><A HREF="sound.html#af">2.3.2.3 Audio filters</A>
<UL>
<LI><A HREF="sound.html#af_resample">2.3.2.3.1 Up/Downsampling</A></LI>
<LI><A HREF="sound.html#af_channels">2.3.2.3.2 Ändern der Anzahol der Kanäle</A></LI>
<LI><A HREF="sound.html#af_format">2.3.2.3.3 Formatkonvertierung</A></LI>
<LI><A HREF="sound.html#af_delay">2.3.2.3.4 Verzögerung</A></LI>
<LI><A HREF="sound.html#af_volume">2.3.2.3.5 Lautstärkeregelung per Software</A></LI>
<LI><A HREF="sound.html#af_equalizer">2.3.2.3.6 Equalizer</A></LI>
<LI><A HREF="sound.html#af_panning">2.3.2.3.7 Panning-Filter</A></LI>
<LI><A HREF="sound.html#af_sub">2.3.2.3.8 Sub-woofer</A></LI>
<LI><A HREF="sound.html#af_surround">2.3.2.3.9 Surround-sound decoder</A></LI>
</UL>
</LI>
<LI><A HREF="sound.html#plugins">2.3.2.4 Audio plugins (veraltet)</A>
<UL>
<LI><A HREF="sound.html#resample">2.3.2.4.1 Up/Downsampling</A></LI>
<LI><A HREF="sound.html#surround_decoding">2.3.2.4.2 Surround Sound-Decodierung</A></LI>
<LI><A HREF="sound.html#format">2.3.2.4.3 Formatkonvertierung</A></LI>
<LI><A HREF="sound.html#delay">2.3.2.4.4 Verzögerung</A></LI>
<LI><A HREF="sound.html#volume">2.3.2.4.5 Lautstärkeregelung per Software</A></LI>
<LI><A HREF="sound.html#extrastereo">2.3.2.4.6 Extrastereo</A></LI>
<LI><A HREF="sound.html#normalizer">2.3.2.4.7 Lautstärkenormalisierung</A></LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
<LI><A HREF="#tv">2.4 TV-Eingang</A>
<UL>
<LI><A HREF="#tv_compilation">2.4.1 Compilierung</A></LI>
<LI><A HREF="#tv_tips">2.4.2 Tipps zur Benutzung</A></LI>
<LI><A HREF="#tv_examples">2.4.3 Beispiele</A></LI>
</UL>
</LI>
<LI><A HREF="#edl">2.5 Edit Decision Lists (EDL)</A>
<UL>
<LI><A HREF="#edl_using">2.5.1 Benutzung einer EDL-Datei</A></LI>
<LI><A HREF="#edl_making">2.5.2 Erstellen einer EDL-Datei</A></LI>
</UL>
</LI>
</UL>
</LI>
<LI><A HREF="#usage">3. Benutzung</A>
<UL>
<LI><A HREF="#command_line">3.1 Kommandozeile</A></LI>
<LI><A HREF="#control">3.2 Steuerung</A>
<UL>
<LI><A HREF="#controls_configuration">3.2.1 Konfiguration der Steuerung</A>
<UL>
<LI><A HREF="#key_names">3.2.1.1 Tastennamen</A></LI>
<LI><A HREF="#commands">3.2.1.2 Befehle</A></LI>
</UL>
</LI>
<LI><A HREF="#lirc">3.2.2 Steuerung mittels LIRC</A></LI>
<LI><A HREF="#slave">3.2.3 Der "slave"-Modus</A></LI>
</UL>
</LI>
<LI><A HREF="#streaming">3.3 Streaming über das Netzwerk oder pipes</A></LI>
</UL>
</LI>
<LI><A HREF="cd-dvd.html">4. CD/DVD-Sektion</A>
<UL>
<LI><A HREF="cd-dvd.html#drives">4.1 CD-ROM- und DVD-ROM-Laufwerke</A></LI>
<LI><A HREF="cd-dvd.html#dvd">4.2 DVD-Wiedergabe</A></LI>
<LI><A HREF="cd-dvd.html#vcd">4.3 VCD-Wiedergabe</A></LI>
</UL>
</LI>
<LI><A HREF="faq.html">5. FAQ - die häufigsten Fragen und Antworten</A>
<UL>
<LI><A HREF="faq.html#compilation">5.1 Compilierung</A></LI>
<LI><A HREF="faq.html#general">5.2 Allgemeine Fragen</A></LI>
<LI><A HREF="faq.html#playback">5.3 Probleme bei der Wiedergabe</A></LI>
<LI><A HREF="faq.html#driver">5.4 Probleme mit den Video-/Audio-Treibern (vo/ao)</A></LI>
<LI><A HREF="faq.html#dvd">5.5 DVD-Wiedergabe</A></LI>
<LI><A HREF="faq.html#features">5.6 Feature-Wünsche</A></LI>
<LI><A HREF="faq.html#encoding">5.7 Encodieren</A></LI>
</UL>
</LI>
<LI><A HREF="#ports">6. Portierungen</A>
<UL>
<LI><A HREF="#linux">6.1 Linux</A>
<UL>
<LI><A HREF="#debian">6.1.1 Debian-Pakete</A></LI>
<LI><A HREF="#rpm">6.1.2 RPM-Pakete</A></LI>
<LI><A HREF="#arm">6.1.3 ARM</A></LI>
</UL>
</LI>
<LI><A HREF="#bsd">6.2 *BSD</A>
<UL>
<LI><A HREF="#freebsd">6.2.1 FreeBSD</A></LI>
<LI><A HREF="#openbsd">6.2.2 OpenBSD</A></LI>
</UL>
</LI>
<LI><A HREF="#solaris">6.3 Solaris</A></LI>
<LI><A HREF="#sgi">6.4 Silicon Graphics / Irix</A></LI>
<LI><A HREF="#qnx">6.5 QNX</A></LI>
<LI><A HREF="#cygwin">6.6 Cygwin</A></LI>
</UL>
</LI>
<LI><A HREF="encoding.html">7. Encodieren mit MEncoder</A>
<UL>
<LI><A HREF="encoding.html#2pass">7.1 2- oder 3-pass-Encodierung mit MPEG4 ("DivX")</A></LI>
<LI><A HREF="encoding.html#mpeg">7.2 In das MPEG-Format encodieren</A></LI>
<LI><A HREF="encoding.html#rescaling">7.3 Bildgröße skalieren</A></LI>
<LI><A HREF="encoding.html#copying">7.4 Kopieren einzelner Streams</A></LI>
<LI><A HREF="encoding.html#fixing">7.5 AVIs mit defektem Index reparieren</A></LI>
<UL>
<LI><A HREF="encoding.html#appending">7.5.1 Aneinanderhängen mehrerer AVI-Dateien</A></LI>
</UL>
<LI><A HREF="encoding.html#libavcodec">7.6 Encodierung mit der libavcodec-Familie</A></LI>
<LI><A HREF="encoding.html#image_files">7.7 Encodieren einer Menge einzelner Bildern (PNGs oder JPGs)</A></LI>
<LI><A HREF="encoding.html#vobsub">7.8 DVD-Untertitel in eine Vobsub-Datei extrahieren</A></LI>
<LI><A HREF="encoding.html#aspect">7.9 Höhen-Seitenverhältnis beibehalten</A></LI>
</UL>
</LI>
<LI><A HREF="#mailing_lists">Anhang A - Mail-Listen</A></LI>
<LI><A HREF="bugreports.html">Anhang B - Wie man einen Fehler berichtet</A></LI>
<LI><A HREF="#known_bugs">Anhang C - Bekannte Fehler</A></LI>
<LI><A HREF="../skin.html">Anhang D - Skin file format (Englisch)</A></LI>
<UL>
<LI><A HREF="../skin.html#overview">D.1 Overview</A>
<UL>
<LI><A HREF="../skin.html#directories">D.1.1 Directories</A></LI>
<LI><A HREF="../skin.html#images">D.1.2 Images</A></LI>
<LI><A HREF="../skin.html#components">D.1.3 Skin components</A></LI>
<LI><A HREF="../skin.html#files">D.1.4 Files</A></LI>
</UL>
</LI>
<LI><A HREF="../skin.html#skinfile">D.2 The skin file</A>
<UL>
<LI><A HREF="../skin.html#mainwindow">D.2.1 Main window and playbar</A></LI>
<LI><A HREF="../skin.html#subwindow">D.2.2 Subwindow</A></LI>
<LI><A HREF="../skin.html#skinmenu">D.2.3 Skin menu</A></LI>
</UL>
</LI>
<LI><A HREF="../skin.html#fonts">D.3 Fonts</A>
<UL>
<LI><A HREF="../skin.html#symbols">D.3.1 Symbols</A></LI>
</UL>
</LI>
<LI><A HREF="../skin.html#guimessages">D.4 GUI messages</A></LI>
</UL>
</LI>
<LI><A HREF="users_against_developers.html">Anhang E - Aufschrei der Entwickler</A>
<UL>
<LI><A HREF="users_against_developers.html#gcc">E.1 GCC 2.96</A></LI>
<LI><A HREF="users_against_developers.html#binary">E.2 Distribution in compilierter Form</A></LI>
<LI><A HREF="users_against_developers.html#nvidia">E.3 nVidia</A></LI>
<LI><A HREF="users_against_developers.html#barr">E.4 Joe Barr</A></LI>
</UL>
</LI>
<LI><A HREF="../tech/patches.txt">Anhang F - Wie man Patches erstellt (englisch)</A></LI>
</UL>
<HR>
<H1><A NAME="reading">0. Wie diese Dokumentation zu lesen ist</A></H1>
<P>Wenn du die Installation zum ersten Mal durchführst: Pass auf, dass du
alles von hier bis zum Ende der Installationsanleitung durchliest, und folge
den entsprechenden Links. Wenn du immer noch Fragen hast, kehre zum
Inhaltsverzeichnis zurück und suche nach dem Begriff, lies die <A
HREF="faq.html">FAQ</A> oder versuche, mit Hilfe von grep die Dateien zu
durchsuchen.</P>
<P>Die Hauptregel dieser Dokumentation: Wenn es nicht dokumentiert ist,
<U>existiert es nicht</U>. Wenn nichts von einer Möglichkeit der
Audioencodierung von TV-Karten steht, kann man dies auch nicht tun.
Wenn du gut kombinieren kannst, dann ist das hier wirklich gut für dich.
Viel Glück. Du wirst es brauchen :) Ein weiterer guter Ratschlag ist
folgendes Zitat von Chris Phillips, der auf der
<A HREF="http://mplayerhq.hu/pipermail/mplayer-users/">mplayer-users</A>
Mail-Liste folgendes schrieb:</P>
<BLOCKQUOTE>
Vor einiger Zeit habe ich gesagt, dass es einen Unterschied zwischen einem
Neuling und einem Idioten gibt. Egal, wieviel du von einer Sache wirklich
weißt (sei es Linux, Autos, Frauen :D), du solltest IMMER dazu
fähig sein, einen Schritt zurück zu machen und objektiv die Lage
zu betrachten. Andernfalls bist du meiner bescheidenen Meinung nach einfach
nur dumm. Eine Frau, mit der ich zusammen wohne, nahm einmal an, dass der
Staubsauger defekt war, nur weil er nichts mehr aufgesaugt hat. Sie hat
nie daran gedacht, den Staubbeutel zu wechseln, weil sie das nie vorher
gemacht hatte. Und das ist einfach nur doof und kein Fall von 'ich weiß
nicht, was ich tun soll'. Mit etwas nicht vertraut zu sein ist absolut
keine Entschuldigung für a) Faulheit und b) Unwissenheit. Es gibt so
viele Menschen, die das Wort "Fehler" sehen und dann einfach aufhören
zu denken. Tatsächlich scheinen nur wenige auch die Wörter
hinter dem Punkt zu lesen.
</BLOCKQUOTE>
<H1><A NAME="introduction">1. Einleitung</A></H1>
<P>MPlayer ist ein Video-Player für LINUX (er läuft auch auf
vielen anderen Unix-Systemen und <B>nicht-x86</B>-CPUs, siehe <A
HREF="#ports">Sektion 6</A>). Er spielt die meisten MPEG, VOB, AVI, OGG/OGM,
VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo, yuv4mpeg, FILM, RoQ und
PVA-Dateien ab. Dabei kommen viele eingebaute Codecs, Xanim-, RealPlayer und
Win32-DLL-Codecs zum Einsatz. Du kannst dir <B>VideoCDs</B>, <B>SVCDs</B>,
<B>DVDs</B>, <B>3ivx-</B>, <B>RealMedia-</B> und auch <B>DivX-</B>Filme sehen
(und dafür wird nicht einmal die avifile-Bibliotek benötigt). Ein
weiteres großes Feature von MPlayer ist die große Bandbreite
unterstützter Ausgabetreiber. MPlayer funktioniert mit X11, Xv,
DGA, OpenGL, SVGAlib, fbdev, AAlib und DirectFB. Du kannst aber auch GGI und
SDL (und dadurch alle deren Treiber) und einige grafikkartenspezifische
Low-Level-Treiber verwenden - z.B. für Matrox, 3Dfx und Radeon, Mach64
oder Permedia3. Die meinsten von ihnen unterstützen Software- oder
Hardware-Skalierung, sodass du deine Videos im Vollbild genießen kannst.
MPlayer unterstützt auch die Wiedergabe mit einigen
Hardware-MPEG-Decoder-Karten wie der <B><A HREF="video.html#dvb">DVB</A></B>
und der <B><A HREF="video.html#dxr3">DXR3/Hollywood+</A></B>! Und was meinst du
zu den schönen, großen, antialiasten und schattierten Untertiteln
(<B>10 unterstützte Typen</B>) mit europäischen (ISO 8859-1,2,
Ungarisch, Englisch, Tschechisch, usw.), kyrillischen und koreanischen
Schriften? Und das onscreen display (OSD)?</P>
<P>Der Player spielt felsenfest beschädigte MPEG-Dateien (nützlich
für einige VCDs) und schlechte AVI-Dateien, welche auch mit dem bekannten
Windows Media Player nicht mehr abspielbar sind. Auch AVI-Dateien ohne Index
sind abspielbar, und du kannst den Index entweder temporär mit der
<CODE>-idx</CODE>-Option oder permanent mit MEncoder wiederherstellen.
Beides ermöglicht wieder die Suchfunktion! Du siehst also, Stabilität
und Qualität sind die wichtigsten Dinge für mich, aber die
Geschwindigkeit ist genauso beeindruckend.</P>
<P>MEncoder (der Filme encodierende Partner von MPlayer) ist ein
einfacher Filmencodierer, der dazu bestimmt ist, von MPlayer abspielbare
Filme (<B>AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA</B>) in andere
von MPlayer abspielbare Formate umzuwandeln (siehe unten). Er kann
verschiedene Codecs zum Encodieren benutzen (<B>DivX4</B> (mit 1 oder 2
Durchgängen), libavcodec, <B>PCM</B>/<B>MP3</B>/<B>VBR MP3</B>-Audio).
Er verfügt weiterhin über ein mächtiges Pluginsystem für
die Manipulation des Videos.</P>
<H4>Features von MEncoder</H4>
<UL>
<LI>verfügt über die gleiche große Bandbreite von
Eingangsformaten wie MPlayer</LI>
<LI>kann alle von FFmpegs <A HREF="codecs.html#libavcodec">libavcodec</A>
zur Verfügung gestellten Codecs benutzen</LI>
<LI>Videoencodierung direkt von einem V4L-kompatiblen TV-Gerät</LI>
<LI>Encodieren/Multiplexen in ein verschachteltes (interleaved) AVI
mit einem korrekten Index am Ende</LI>
<LI>Erstellen des Audio-Streams von externen Audiodateien</LI>
<LI>Encodieren mit einem, zwei oder drei Durchgängen</LI>
<LI><B>VBR</B> MP3-Audio - <B>WICHTIGER HINWEIS:</B> VBR-MP3-Audio wird
eventuell nicht immer korrekt von Windows-Playern wiedergegeben!</LI>
<LI>PCM-Audio</LI>
<LI>1:1-Streamkopien</LI>
<LI>Audio-/Videosynchronisation basierend auf den PTS (kann mit der Option
<CODE>-mc 0</CODE> deaktiviert werden)</LI>
<LI>Anpassund der Framerate mit der <CODE>-ofps</CODE>-Option (kann z.B. dazu
benutzt werden, 29.95fps-VOBs in 24fps-AVIs umzuwandeln)</LI>
<LI>benutzt unser äußerst mächtiges Pluginsystem (beschneiden
(crop), erweitern (expand), spiegeln (flip), Nachbearbeitung (postprocess),
drehen (rotate), skalieren (scale), RGB/YUV-Konvertierung etc.)</LI>
<LI>kann DVD/Vobsub-Untertitel <B>UND</B> Textuntertitel direkt in das
Bild einbetten</LI>
<LI>kann DVD-Untertitel in das Vobsub-Untertitel extrahieren</LI>
</UL>
<H4>Geplante Features</H4>
<UL>
<LI>noch größere Bandbreite von verfügbaren
En-/Decodier-Formate/-Codecs (z.B. die Erstellung von VOB-Dateien mit
DivX4/Indeo5/VIVO-Streams ;))</LI>
</UL>
<P>MPlayer und MEncoder können unter den Bedingungen der
GNU General Public License Version 2 vertrieben werden.</P>
<H2><A NAME="history">1.1 Geschichte</A></H2>
<P>Es begann vor einem Jahr... Ich (A'rpi) hatte eine eine Menge von Playern
unter Linux ausprobiert (mtv, xmps, dvdview, livid/oms, videolan, xine, xanim,
avifile, xmmp), aber sie hatten alle ihre Probleme. Meist mit speziellen
Dateien oder mit der Audio-Video-Synchronisation. Die meisten waren
unfähig, alle drei - MPEG1, MPEG2 und AVI (DivX) - abzuspielen. Einige
Player hatten auch Probleme mit der Bildqualität und der Geschwindkeit. So
beschloss ich, einen Player zu schreiben/zu modifizieren...</P>
<UL>
<LI><B>mpg12play v0.1-v0.3:</B> Sep 22-25, 2000<BR>
Der erste Versuch, innerhalb von nur 30 Minuten zusammengehackt!
Ich verwendete libmpeg3 von www.heroinewarrior.com bis zu Version 0.3,
aber es gab Bildqualitäts- und Geschwindigkeitsprobleme.</LI>
<LI><B>mpg12play v0.5-v0.87:</B> Sep 28-Oct 20, 2000<BR>
Der MPEG-Codec wurde durch DVDview von Dirk Farin ersetzt. Es war ein
großartiges Programm, aber es war langsam und in C++ geschrieben
(ich hasse C++!).</LI>
<LI><B>mpg12play v0.9-v0.95pre5:</B> Oct 21-Nov 2, 2000<BR>
Als MPEG-Codec wurde libmpeg2 (mpeg2dec) von Aaron Holtzman & Michel
Lespinasse verwendet. Es ist großartiger, optimierter und schneller
C-Code mit perfekter Bildqualität und 100%ig zum MPEG-Standard
kompatibel.</LI>
<LI><B>MPlayer v0.01:</B> Nov 11, 2000<BR>
Der erste MPlayer.</LI>
<LI><B>MPlayer v0.3-v0.9:</B> Nov 18-Dec 4, 2000<BR>
Diese Version war ein Paket aus 2 Programmen: mpg12play v0.95pre6 und mein
neuer, einfacher AVI-Player 'avip', der auf dem Win32-DLL-Loader von
avifile basierte.</LI>
<LI><B>MPlayer v0.10:</B> Jan 1, 2001<BR>
Der MPEG- und AVI-Player in einem einizigen Binary!</LI>
<LI><B>MPlayer v0.11pre Serien:</B><BR>
Einigen neue Entwickler sind beigetreten, und seit 0.11 war MPlayer
Teamarbeit. .ASF-Datei- und OpenDivX-Unterstützung
(siehe www.projectmayo.com) für en-/decoding hinzugefügt.</LI>
<LI><B>MPlayer v0.17 "The IdegCounter"</B> Apr 27, 2001<BR>
Die Release-Version nach 0.11pre nach 4 Monaten schwerer Entwicklung.
Probiere es und sei beeindruckt! Tausende von neuen Features
hinzugefügt... Und natürlich wurde auch der alte Code verbessert,
Fehler entfernt usw.</LI>
<LI><B>MPlayer 0.18 "The BugCounter"</B> Jul 9, 2001<BR>
2 Monate seit 0.17, und hier ist das neue Release. Komplette
ASF-Unterstützung, mehr Untertitel-Formate, libao wurde
eingeführt (wie libvo, aber für Audio),
stabiler denn je, und so weiter. Es ist ein <B>muss</B>!</LI>
<LI><B>MPlayer 0.50 "The Faszom(C)ounter"</B> Oct 8, 2001<BR>
Hmmm. Wieder ein Release. Tonnen von neuen Featues, Beta-Version vom GUI,
Fehler beseitigt, neue vo- und ao-Treiber, Ports auf viele Systeme
inklusive OpenSource-DivX-Codecs und vieles mehr. Probier's!</LI>
<LI><B>MPlayer 0.60 "The RTFMCounter"</B> Jan 3, 2002<BR>
MOV/VIVO/RM/FLI/NUV-Dateiformat-Unterstützung, native CRAM-,
Cinepak-, ADPCM-Codecs und Support für die Binary-Codecs von XAnim;
DVD-Untertitel-Unterstützung, erstes Release des MEncoders,
TV-Grabbing, Cache, liba52, unzählbare Fehlerbehebungen.</LI>
<LI><B>MPlayer 0.90pre10 "The BirthdayCounter"</B> Nov 11, 2002<BR>
Obwohl diese Version kein Release ist werde ich sie hier erwähnen,
da sie genau zwei Jahre nach MPlayer v0.01 herauskam. Herzlichen
Glückwunsch, MPlayer!</LI>
<LI><B>MPlayer 0.90 "?"</B>Datum noch unbekannt</LI>
<LI><B>MPlayer 0.90rc1 "The CodecCounter"</B> Dec 7, 2002<BR>
Schon wieder kein Release, aber MPlayer ist nach den neuen Features
(Unterestützung für Sorenson 3 (QuickTime) und Windows Media 9)
der einzige Player, der alle bekannten Videoformate unterstützt!</LI>
</UL>
<H2><A NAME="installation">1.2 Installation</A></H2>
<P>In diesem Kapitel versuche ich, dich auf dem Weg der Konfiguration und
Compilierung von MPlayer zu begleiten. Es ist nicht einfach, aber auch
nicht unnötig schwer. Wenn dir ein unterschiedliches Verhalten als hier
beschrieben auffällt, versuche bitte diese Dokumentation zu durchsuchen,
und du wirst eine Antwort erhalten. Wenn du Links siehst, folge ihnen bitte und
lies, was sie enthalten. Es wird einige Zeit benötigen, aber es zahlt sich
aus.</P>
<P>Du brauchst ein ziemlich aktuelles System. Unter Linux sind 2.4.x-Kernel
empfohlen.</P>
<H4>Voraussetzungen an die Software</H4>
<UL>
<LI><B>binutils</B> - vorgeschlagene Version ist <B>2.11.x</B>. Diese
Programme sind für das Erzeugen von MMX/3DNow!/usw-Befehlen
verantwortlich und deshalb sehr wichtig.</LI>
<LI><B>gcc</B> - vorgeschlagene Version ist von <B>2.95.3</B>, (eventuell
<B>2.95.4</B>) und <B>3.3</B>. Verwende <B>NIEMALS</B> 2.96 oder 3.0.x! Sie
erzeugen
für MPlayer fehlerhaften Code. Wenn du dich dazu entscheidest,
den 2.96 über Bord zu werfen, dann nimm nicht einfach den 3.0.x, nur
weil er neuer ist! Frühe Versionen von 3.0.x waren sogar schlechter
als 2.96, downgrade also zu 2.95.x (downgrade auch die libstdc++, sie wird
vielleicht von anderen Programmen benötigt) oder up-/downgrade
überhaupt nicht (sei aber in diesem Falle auf Laufzeitfehler
vorbereitet). Wenn du 3.x,x verwenden willst, dann solltest du die neuste
Version ausprobieren. Ältere hatten verschiedene Fehler. Es sollte
also darauf geachtet werden, dass wenigstens 3.1 verwendet wird,
da diese Version getestet wurde und funktionieren sollte. Detaillierte
Information dazu (die Fehler von gcc 2.96 sind immer noch <B>nicht</B>
behoben, sondern wurden nur in MPlayer <B>umgangen</B>) können
in der <A HREF="users_against_developers.html">gcc 2.96-Sektion</A>
und in den <A HREF="faq.html">FAQs</A> gefunden werden.</LI>
<LI><B>XFree86</B> - vorgeschlagene Version ist <B>immer die neueste
(4.2.1)</B>. Normalerweise will das jeder, da XFree86 seit Version 4.0.2
die <A HREF="video.html#xv">XVideo</A>-Erweiterung enthält (auch
bezeichnet als <B>Xv</B>), die benötigt wird, um
Hardware-YUV-Beschleunigung (schnelle Bildanzeige) auf Karten zu benutzen,
die es unterstützen.<BR> Stelle sicher, dass die
<B>Development-Pakete</B> installiert sind, sonst wird es nicht
funktionieren. <BR>Bei einige Grafikkarten wird XFree86 noch nicht einmal
benötigt. Für eine Liste siehe
unten.</LI>
<LI><B>make</B> - vorgeschlagene Version ist <B>immer die neueste</B>
(mindestens 3.79.x). Dies ist normalerweise nicht so wichtig.</LI>
<LI><B>SDL</B> - SDL ist nicht vorgeschrieben, aber es ist in einigen
Fällen hilfreich (bei schlechtem Ton oder Videokarten, welche Probleme
mit dem Xv-Treiber haben). Verwende immer die aktuellste Version,
mindestens aber 1.2.x).</LI>
<LI><B>libjpeg</B> - optionaler (M)JPEG-Decoder, der bei -mf und einigen
QT-/MOV-Dateien benutzt wird. Sowohl für MPlayer als auch
für MEncoder nützlich.</LI>
<LI><B>libpng</B> - empfohlen und Standard-(M)PNG-Decoder. Wird für das
GUI benötigt. Sowohl für MPlayer als auch für
MEncoder nützlich.</LI>
<LI><B>lame</B> - empfohlen, wird benötigt, um mit MEncoder
MP3-Audio zu encodieren. Die empfohlene Version ist <B>immer die neuste</B>
(wenigstens 3.90).</LI>
<LI><B>libogg</B> - optional, wird für das OGG-Dateiformat
benötigt.</LI>
<LI><B>libvorbis</B> - optional, wird für Vorbis-Audio benötigt.
</LI>
<LI><B><A HREF="http://www.live.com/mplayer/">LIVE.COM Streaming
Media</A></B> - optional, wird für die Wiedergabe von RTSP/RTP-Streams
benötigt.</LI>
<LI><B>directfb</B> - optional, von
<A HREF="http://www.directfb.org">http://www.directfb.org</A></LI>
<LI><B>cdparanoia</B> - optional, für CDDA-Unterstützung</LI>
<LI><B>libfreetype</B> - optional, für die Unterstützung von
TrueType-Schriften. Mindestens Version 2.0.9 wird benätigt.</LI>
<LI><B>libxmms</B> - optional, für Unterstützung von
XMMS-Inputplugins. Mindestens Version 1.2.7 oder neuer wird benötigt.
</LI>
</UL>
<H4>Codecs</H4>
<UL>
<LI><B>libavcodec:</B> Dieses Codec-Paket kann mit
H263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1 codierte Filme und mit
WMA (Windows Media AUdio) v1/v2 codierte Audiostreams auf mehreren
Plattformen decodieren. Es ist bekanntermaßen auch als schnellste
Variante für diese Aufgaben. Details können in der
<A HREF="codecs.html#libavcodec">libavcodec</A>-Sektion gefunden werden.
Features:
<UL>
<LI>Decodierung der genannten Codecs auf nicht-x86 Maschinen</B></LI>
<LI>Encodierung mit den meisten der genannten Codecs</LI>
<LI>Dies ist der <B>schnellste verfügbare</B> Codec für
DivX/3/4/5 und andere MPEG4-Typen und wird desshalb sehr empfohlen!
</LI>
</UL>
</LI>
<LI><B>Win32-Codecs:</B> Wenn du planst, MPlayer auf einer x86
Architektur zu verwenden, wirst du sie möglicherweise brauchen. Lade
dir dazu die w32codecs.zip herunter und entpacke sie nach /usr/lib/win32.
<B>Hinweis</B>: Das Avifile-Projekt hat ein ähnliches Codecs-Paket,
aber es unterscheidet sich von unserem. Wenn du also alle
unterstützten Codecs verwenden willst, dann benutze unser Paket. Du
kannst aber auch problemlos unserer Paket für avifile nutzen.
Features:
<UL>
<LI>Du wirst sie möglicherweise brauchen, um Video abzuspielen
oder zu encodieren, das mit verschiedenen
Hardware-Kompressoren wie Tuner-Karten und digitalen Kameras (z.B.
DV, ATI VCR, MJPEG) aufgenommen wurde.</LI>
<LI>Erforderlich, wenn du <B>WMV8- oder WMV9/WMA9-Filme</B> abspielen
willst. Es wird nicht für alte ASFs mit MP41- oder MP42-Video
benötigt (auch wenn VoxWare Audio für diese Dateien
häufig anzutreffen ist und dieses von den Win32-Codecs behandelt
wird), genausowenig für WMV7. Nicht einmal für WMA
(Windows Media Audio) werden sie benötigt - libavcodec hat
einen OpenSource-Decoder dafür.</LI>
</UL>
</LI>
<LI><B>QuickTime-Codecs</B>: Auf der x86-Plattform können diese Codecs
benutzt werden, um Sorenson v1/v3, RPZA und andere QuickTime-Videoformate
sowie QDesign Audiostreams zu decodieren. Installationsanweisungen
finden sich in der Sektion über den
<A HREF="codecs.html#sorenson">Sorenson Videocodec</A>.</LI>
<LI><B>DivX4/DivX5:</B> Informationen zu diesem Codec sind in der Sektion <A
HREF="codecs.html#divx">2.2.1.1</A> erhältlich. Wenn du
MEncoder verwendest, solltest du auch <B>libavcodec</B> (siehe
oben) verwenden, was schneller ist und eine bessere Qualität bietet.
Features:
<UL>
<LI>1-Pass- oder 2-Pass-Encodierung mit
<A HREF="encoding.html">MEncoder</A></LI>
<LI>Du kannst alte <B>DivX3</B>-Film schneller als mit Win32-DLL-Codecs
aber langsamer als mit <B>libavcodec</B> ansehen.</LI>
<LI>Es ist Closed-Source und nur in einer x86-Version verfügbar.</LI>
</UL>
</LI>
<LI><B>XviD:</B> Open Source-Encodierungs-Alternative zu Divx4Linux<BR>
Features:
<UL>
<LI>1-Pass- oder 2-Pass-Encodierung mit
<A HREF="encoding.html">MEncoder</A></LI>
<LI>Es ist Open-Source und nicht nur als x86 Version
verfügbar.</LI>
<LI>Es ist ungefähr zwei mal schneller als DivX4 bei der
Encodierung - und das bei gleicher oder sogar besserer
Qualität.</LI>
</UL>
</LI>
<LI>Die <A HREF="codecs.html#xanim">XAnim-Codecs</A> sind die besten Codecs
(Vollbild, hardwareseitig unterstützter YUV-Zoom), um <B>3ivx</B>- und
Indeo 3/4/5-Filme sowie einige alte Formate abzuspielen. Und sie sind
für verschiedenen Plattformen verfügbar, sodass sie die einzige
Möglichkeit sind, wenn du Indeo-Video auf nicht-x86-Plattformen
abspielen mächtest (nun mal abgesehen von XAnim :). Andere Codecs
wie z.B. der Cinepak-Codec werden am besten mit dem MPlayer eigenen
Cinepak-Decoder wiedergegeben.</LI>
<LI>Für <B>Ogg Vorbis</B>-Audiodecodierung wird eine korrekte
Installation von <CODE>libvorbis</CODE> benötigt. Es sollten, falls
vorhanden, deb/rpm-Pakete werden oder <A
HREF="http://ogg.org/ogg/vorbis/download/vorbis_nightly_cvs.tgz">diese
Sourcen</A> kompiliert werden (dies ist eine täglich erneuerter
tarball des Vorbis CVS).</LI>
<LI>MPlayer kann die Libraries von RealPlayer 8 oder RealONE
verwenden, um Dateien mit <B>RealVideo 2.0 bis 4.0</B> und Sipro/Cook-Audio
wiederzugeben. Eine Installationsanleitung und weitere Informationen finden
sich in der Sektion <A
HREF="formats.html#real">RealMedia-Dateiformat</A>.</LI>
</UL>
<H4>Grafikkarten</H4>
<P>Es gibt allgemein gesprochen zwei Arten von Grafikkarten. Die eine Art
(die neueren Karten) besitzen <B>Hardware-Skalierung und YUV-Beschleunigung</B>,
die anderen nicht.</P>
<H4>YUV-Karten</H4>
<P>YUV-Karten können das Bild anzeigen und auf jede beliebige
Größe skalieren, die noch in ihren Speicher passt. Dabei kommt es zu
sehr <B>sehr geringer CPU-Beslastung</B> (Zoomen erhöht sie nicht!),
weswegen Abspielen im Vollbild gut aussieht und sehr schnell ist.</P>
<UL>
<LI><B>Matrox G200/G400/G450/G550-Karten:</B> Obwohl ein <A
HREF="video.html#vidix">Vidix Treiber</A> zur Verfügung gestellt wird,
wird empfohlen, stattdessen die alten mga_vid-Kernelmodule zu verwenden, da
diese viel besser funktionieren. Näheres zur Installation und dem
Gebrauch findest du in der <A HREF="video.html#mga_vid">mga_vid</A>
Sektion. Es ist wichtig, diese Schritte <B>vor</B> der Kompilierung von
MPlayer vorzunehmen, da ansonsten keine mga_vid-Unterstützung
einkompiliert wird. Du solltest auch die <A
HREF="video.html#tvout_matrox">Matrox TV-out</A>-Sektion lesen.
<U><B>Nicht-Linux-Benutzer</B></U> können nur die Vidix-Treiber
verwenden. Lies dazu die <A HREF="video.html#vidix">Vidix</A>-Sektion.</LI>
<LI><B>3Dfx Voodoo3/Banshee-Karten:</B> Du solltest die Sektion <A
HREF="video.html#tdfxfb">2.3.1.9</A> lesen, um eine möglichst hohe
Geschwindigkeit zu erzielen. Es ist wichtig, diese Schritte <B>vor</B> der
Kompilierung von MPlayer vorzunehmen, da ansonsten keine
3Dfx-Unterstützung eincompiliert wird. Du solltest auch die <A
HREF="video.html#tvout_tdfxfb">3dfx TV-out</A>-Sektion lesen. Wenn X
verwendet wird, solltest du mindestens Version 4.2.0 installiert haben, da
die 3dfx Xv-Treiber in 4.1.0 und den früheren Versionen kaputt
waren!</LI>
<LI><B>ATI-Karten:</B> Der <A HREF="video.html#vidix">Vidix-Treiber</A> wird
für folgende Karten zur Verfügung gestellt: <B>Radeon</B>,
<B>Rage128</B>, <B>Mach64</B> (Rage XL/Mobility, Xpert98). Du solltest auch
die Sektion über <A HREF="video.html#tvout_ati">ATI-Karten</A>
TV-out-Dokumentation lesen, um herauszufinden, ob der jeweilige TV-out der
Karte unter Linux/MPlayer unterstützt wird.</LI>
<LI><B>S3-Karten:</B> Die Savage und Virge/DX Chips besitzen
Hardwarebeschleunigung. Verwende die neueste XFree86 Version, ältere
Treiber sind fehlerhaft. Savage-Chips machen Problem mit YV12-Anzeige,
siehe <A HREF="video.html#xv_s3">S3-Xv-Sektion</A> für Details.
Ältere, Trio-Karten haben keinen oder nur langsamen
Hardwaresupport.</LI>
<LI><B>nVidia-Karten:</B> Solche können eventuell eine gute Wahl
für Videowiedergabe sein. Wenn du weder eine GeForce2 noch eine neuere
Karte hast, dann wird es wahrscheinlich nicht fehlerfrei funktionieren.
<B>Der in XFree86 eingebaute nVidia-Treiber stellt bei manchen Karten keine
YUV-Beschleunigung zur Verfügung!</B> Du musst dir also eventuell die
Closed-Source-Treiber von <A HREF="http://www.nvidia.com/">nvidia.com</A>
herunterladen. Nähere Details findest du in der <A
HREF="video.html#xv_nvidia">nVidia-Xv-Treiber</A>-Sektion. Wenn du den
TV-Ausgang der Karte benutzen willst, dann schau auch in der <A
HREF="video.html#tv-out_nvidia">nVidia-TV-Out-Sektion</A> nach.</LI>
<LI><B>3DLabs GLINT R3 und Permedia3:</B> Ein Vidix-Treiber steht zur
Verfügung (pm3_vid). Du solltest auch die <A
HREF="video.html#vidix">Vidix-Sektion</A> lesen.</LI>
<LI><B>Andere Karten:</B> Du hast keine oben genannte?
<UL>
<LI>Schau, ob dein XFree86-Treiber (und deine Karte)
Hardwarebeschleunigung unterstützt. Siehe <A
HREF="video.html#xv">Xv-Sektion</A> für Details.</LI>
<LI>Wenn nicht, werden die Features deiner Karte unter deinem
Betriebssystem nicht unterstützt :(<BR> Wenn die
Hardware-Skalierung unter Windows läuft, bedeutet dies nicht, dass
das auch unter Linux oder anderen Betriebssysten funktioniert. Es
hängt von den Treibern ab! Die meisten Hersteller erstellen weder
Linux-Treiber, noch geben sie die Chipspezifikationen frei - du bist
also der Unglückliche, wenn du diese Karten verwendest. Lies die
dazu unten 'Nicht-YUV Karten'</LI>
</UL>
</LI>
</UL>
<H4>Nicht-YUV-Karten</H4>
<P>Vollbild kann durch Zoomen durch eine <B>Softwareskalierung</B> (benutze die
Option <CODE>-zoom</CODE> oder <CODE>-vop scale</CODE>) erreicht werden. Aber
sei gewarnt: Es ist <B>langsam</B>! Eventuell reicht es auch schon aus, in
einen kleineren Videomodus zu wechseln, z.B. zu 352x288. Wenn keine
YUV-Beschleunigung zur Verfügung steht, ist diese letztgenannte Methode zu
empfehlen. Bei MPlayer wird dieses mit der <CODE>-vm</CODE>-Option
angeschaltet und funktioniert mit folgenden Karten:</P>
<UL>
<LI><B>Verwendung von</B> XFree86: siehe Details in der
<A HREF="video.html#dga">DGA-Treiber</A> und der
<A HREF="video.html#x11">X11-Treiber</A>. DGA ist empfohlen!
Versuche auch, DGA via SDL zu verwenden. Manchmal funktioniert das
besser.</LI>
<LI><B>Ohne</B> XFree86: versuche die Treiber in folgender Reihenfolge:
<A HREF="video.html#vesa">vesa</A>,
<A HREF="video.html#fbdev">fbdev</A>,
<A HREF="video.html#svgalib">svgalib</A>,
<A HREF="video.html#aalib">aalib</A>.</LI>
</UL>
<P>Einige Karten:</P>
<UL>
<LI><B>Cirrus-Logic-Karten</B>:
<UL>
<LI>GD 7548: In Compaq Armada 41xx-Notebook-Serien eingebaut und getestet.
<UL>
<LI>XFree86 3: Funktioniert im 8/16bpp-Modus. Der Treiber ist aber in
800x600@16bpp zu langsam und fehlerbehaftet. <B>Empfohlen:
640x480@16bpp</B></LI>
<LI>XFree86 4: Der Xserver friert bald nach dem Start ein, es sei
denn, die Beschleunigung ist deaktiviert. Dann wird jedoch alles
langsamer als XFree86 3. Kein XVideo.</LI>
<LI>FBdev: Der Framebuffer kann mit dem
<CODE>clgenfb</CODE>-Kerneltreiber aktiviert werden, obwohl er bei
mir nur im 8bpp-Modus funktioniert hat und somit für
Videowiedergabe unbenutzbar ist. Ich musste vor der Compilierung
den Sourcen des <CODE>clgenfb</CODE> die ID des 7548-Chips
hinzufügen.</LI>
<LI>VESA: Die Karte kann bloss VBE 1.2, sodass der VESA-Framebuffer
nicht verwendet werden kann. Dieses Problem kann nicht mit
UniVBE umgangen werden.</LI>
<LI>SVGAlib: Erkennt ältere Cirrus Chips. Es funktioniert mit
mit <CODE>-bpp 8</CODE>, ist aber ziemlich langsam.</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
<H4>Soundkarten</H4>
<UL>
<LI><B>Soundblaster Live!:</B> Diese Karte kann 4 oder 6 (<B>5.1</B>)
Kanäle (von AC3) anstelle von 2 verwenden. Lies die Sektion über
<A HREF="codecs.html#software_ac3">AC3-Decodierung in Software</A>.
Für die unveränderte Ausgabe der AC3-Daten an den Ausgang
<B>musst</B> du ALSA 0.9 mit der OSS-Emulation verwenden!</LI>
<LI><B>C-Media mit SP/DIF Ausgang:</B> Hardware-AC3-Durchgabe ist mit diesen
Karten möglich; siehe
<A HREF="codecs.html#hardware_ac3">AC3-Decodierung in Hardware</A>.
<LI>Die Features von <B>anderen Karten</B> werden von MPlayer nicht
unterstützt. <U>Es ist empfehlenswert, die <A
HREF="sound.html">Soundkarten-Sektion</A> zu lesen!</U></LI>
</UL>
<H4>Features</H4>
<UL>
<LI>Entscheide dich, ob du das GUI brauchst. Wenn du es braucht, wirf einen
Blick auf die <A HREF="#gui">GUI-Sektion</A> vor dem Kompilieren.</LI>
<LI>Wenn du MEncoder (unsen grossartigen Encoder-für-Alles)
installieren willst, dann lies die <A
HREF="encoding.html">MEncoder-Sektion</A> .</LI>
<LI>Wenn du eine V4L-kompatible <B>TV-Tuner</B>-Karte hast und du mit
MPlayer fernsehen oder encodieren willst, dann lies die <A
HREF="#tv">TV-Input</A>-Sektion.</LI>
<LI>Inzwischen gibt es ein hübsches <B>OSD-Menü</B>, das nur darauf
wartet, ausprobiert zu werden. Schau dazu in der <A HREF="#menu">
OSD-Menü</A>-Sektion nach.</LI>
</UL>
<P>Nun kompiliere MPlayer:</P>
<PRE>
./configure
make
make install
</PRE>
<P>Ab diesem Zeitpunkt ist MPlayer zur Benutzung bereit. Das Verzeichnis
<CODE>$PREFIX/etc/mplayer</CODE> enthält die Datei
<CODE>codecs.conf</CODE>, welche benutzt wird, um dem Programm alle Codecs und
deren unterstütze Features mitzuteilen. Diese Datei sollte zusammen mit
dem Hauptprogramm immer aktuell gehalten werden!<BR> Du solltest
außerdem überprüfen, ob eine <CODE>codecs.conf</CODE> deinem
Home-Verzeichnis (<CODE>~/.mplayer/codecs.conf</CODE>) von einer alten
MPlayer-Version vorhanden ist. Diese solltest du unbedingt
löschen!</P>
<P><B>Debian-Benutzer</B> können ein <CODE>.deb</CODE>-Paket für sich
compilieren, was sehr einfach ist. Du musst bloß <CODE>fakeroot
debian/rules binary</CODE> in MPlayer's Sourceverzeichnis
ausführen. Genauere Anleitungen können in der <A
HREF="documentation.html#debian">Debian</A>-Sektion gefunden werden.</P>
<P><B>Schau dir immer die Ausgabe von <CODE>./configure</CODE></B> und die
<CODE>configure.log</CODE>-Datei an. Beide enthalten Infos darüber, welche
Features eincompiliert werden, und welche nicht. Du kannst dir auch die
Dateien <CODE>config.h</CODE> und <CODE>config.mak</CODE> ansehen.<BR>
Wenn einige Bibliotheken installiert sind, diese aber nicht von
<CODE>./configure</CODE> erkannt werden, dann solltest du überprüfen,
ob auch die dazugehärigen Header-Dateien installiert sind (welche sich
meist in -dev-Paketen befinden), und ob die Versionsnummern
übereinstimmen. Das <CODE>configure.log</CODE> sagt dir normalerweise, was
fehlt.</P>
<P>Auch wenn sie nicht zwingend erforderlich sind, solltest du doch Schriften
installieren, um das OSD und Untertitel benutzen zu können. Die empfohlene
Methode ist, eine TrueType-Schrift zu installieren und MPlayer anzuweisen,
diese zu benutzen. Wie das funktioniert, kannst du in der Sektion über <A
HREF="#subtitles_osd">Untertitel und das OSD</A>nachlesen.</P>
<H2><A NAME="gui">1.3 Was ist mit dem GUI?</A></H2>
<P>Das GUI basiert auf GTK 1.2.x (nicht das ganze GUI benutzt GTK, sondern nur
die Dialoge). Die Skins sind als PNG-Grafiken gespeichern, so dass du also auch
gtk und die libpng (und deren devel-Pakete) installieren musst. Du kannst das
GUI durch den Parameter <CODE>--enable-gui</CODE> bei <CODE>./configure</CODE>
anschalten. Um MPlayer im GUI-Modus zu betreiben, kannst du entweder</P>
<UL>
<LI><CODE>gui=yes</CODE> in deine Config-File eintragen oder</LI>
<LI><CODE>ln -s $PREFIX/bin/mplayer $PREFIX/bin/gmplayer</CODE>
ausführen und <CODE>gmplayer</CODE> aufrufen.</LI>
</UL>
<P>Im Moment kannst du die <CODE>-gui</CODE>-Kommandozeilenoption nicht
verwenden.</P>
<P>Da MPlayer keine Skins enthält, musst du dir welche
herunterladen, wenn du das GUI verwenden willst. Schau dazu auf die <A
HREF="http://www.mplayerhq.hu/homepage/dload.html">Download-Seite</A>. Diese
sollten in das normale, systemweite Verzeichnis
(<CODE>$PREFIX/share/mplayer/Skin</CODE>) oder nach
<CODE>$HOME/.mplayer/Skin</CODE> extrahiert werden. MPlayer sucht
standardmäßig nach einem Verzeichnis namens <CODE>default</CODE>,
aber du kannst mit der Option <CODE>-skin (neuer Skin)</CODE> oder dem Eintrag
<CODE>skin=(neuer Skin)</CODE> in der Konfigurationsdatei den Skin
<CODE>*/Skin/(neuer Skin)</CODE> auswählen.</P>
<H2><A NAME="subtitles_osd">1.4 Untertitel und das OSD</H2>
<P>MPlayer kann Untertitel zu Filmen darstellen. Momentan werden folgende
Formate unterstützt:</P>
<UL>
<LI>VobSub</LI>
<LI>OGM</LI>
<LI>CC (closed caption)</LI>
<LI>Microdvd</LI>
<LI>SubRip</LI>
<LI>SubViewer</LI>
<LI>Sami</LI>
<LI>VPlayer</LI>
<LI>RT</LI>
<LI>SSA</LI>
<LI>MPsub</LI>
<LI>AQTitle</LI>
<LI>JACOsub</LI>
</UL>
<P>MPlayer kann die oben aufgeführten Formate (bis auf die ersten drei) in
die folgenden Formate konvertieren, wenn du die jeweils dahinter angegebene
Option benutzt: </P>
<UL>
<LI>MPsub: <CODE>-dumpmpsub</CODE></LI>
<LI>SubRip: <CODE>-dumpsrtsub</CODE></LI>
<LI>Microdvd: <CODE>-dumpmicrodvdsub</CODE></LI>
<LI>JACOsub: <CODE>-dumpjacosub</CODE></LI>
<LI>Sami: <CODE>-dumpsami</CODE></LI>
</UL>
<P>Die Kommandozeilenoptionen unterscheidet sich leicht für die
unterschiedlichen Formate:</P>
<P>VobSub-Untertitel bestehen aus einer mehreren MB großen .SUB-Datei und
optionalen .IDX- und/oder .IFO-Dateien.<BR>
Benutzung: wenn du Dateien wie <CODE>beispiel.sub</CODE>,
<CODE>beispiel.ifo</CODE> (optional) und <CODE>beispiel.idx</CODE> hast, dann
musst du die Optionen <CODE>-vobsub beispiel [-vobsubid <id>]</CODE>
angeben (optional mit Pfadangabe natürlich). Die
<CODE>-vobsubid</CODE>-Option funktioniert wie <CODE>-sid</CODE> bei DVDs. Du
kannst mit ihr zwischen Untertitel-Sprache wählen. Falls keine
<CODE>-vobsubid</CODE> angegeben wird, versucht MPlayer, die mit
<CODE>-slang</CODE> angegebene Sprache zu benutzen und zur Not die durch
<CODE>langidx</CODE> in der .IDX-Datei angegebene Sprache wählen. Wenn das
ebenfalls fehlschlägt, werden keine Untertitel angezeigt.</P>
<H4>Andere Untertitelformate</H4>
Die anderen Formate bestehen aus einer einzigen Textdatei, welche das Timing,
die Platzierung und die Texte selber enthält.<BR> Verwendung: Wenn man
eine Datei wie <CODE>beispiel.txt</CODE> hat, übergibt man einfach die
Option <CODE>-sub beispiel.txt</CODE> (natürlich optional mit
Pfadname).</P>
<H4>Angleichung der Untertitel-Anzeigezeit und der Platzierung</H4>
<DL>
<DT><CODE>-subdelay <sec></CODE></DT>
<DD>Verzögert die Untertitel um <sec> Sekunden. Der Wert kann
negativ sein.</DD>
<DT><CODE>-subfps <rate></CODE></DT>
<DD>Gibt die Bildrate in Bildern pro Sekunde für die Datei an
(Fließkommazahl).</DD>
<DT><CODE>-subpos <0 - 100></CODE></DT>
<DD>Legt die Position für die Untertitel fest.</DD>
</DL>
<P>Wenn du feststellst, dass bei Verwendung einer MicroDVD-Untertiteldatei die
Verzögerung im Laufe der Zeit immer größer wird, dann liegt das
wahrscheinlich daran, dass die Bildraten für den Film und die Untertitel
unterschiedlich sind.<BR>
Es sei gesagt, dass das MicroDVD-Format absolute Bildnummern verwendet, um
anzugeben, wann Text anzuzeigen ist. Deswegen funktioniert die
<CODE>-subfps</CODE>-Option mit diesem Format nicht. Da MPlayer
natürlich nicht in der Lage ist, die richtige Bildrate zu erraten, musst
du die Bildrate manuell konvertieren. Auf dem MPlayer-FTP-Server liegt
im <CODE>contrib</CODE>-Verzeichnis ein kleines Perl-Skript, das diese
Konvertierung für dich vornehmen kann.</P>
<P>MPlayer wird versuchen, die Untertiteldatei zu erraten, wenn er einen Film
abspielt. Wenn, wie das meistens der Fall ist, der Film und die Untertiteldatei
den gleichen Namen haben und am gleichen Ort liegen, dann musst du nicht die
Untertiteloption benutzen. Spiel einfach den Film ab, und MPlayer wird
automatisch die Untertitel finden.</P>
<P>Für DVD Untertitel lies die <A
HREF="cd-dvd.html#dvd">DVD-Sektion</A>.</P>
<H3><A NAME="mpsub">1.4.1 MPlayers eigenes Untertitelformat (MPsub)</A></H3>
<P>MPlayer hat ein neues Untertitelformat eingeführt, das
<B>MPsub</B> genannt wird. Es wurde von Gabucino entwickelt. Das
Haupt-Feature ist, dass es <B>dynamische</B> Zeitabhängigkeiten benutzt
(obwohl es auch einen Frame-basierende Modus besitzt). Ein Beispiel (aus <A
HREF="../tech/mpsub.sub">mpsub.sub</A>):</P>
<P><CODE><I>
# erste Nummer : warte so lange nach dem Verschwinden des vorherigen
Untertitels<BR>
# zweite Nummer : zeige den momentanen Untertitel für so viele
Sekunden<BR>
<BR>
15 3<BR>
A long time ago...<BR>
<BR>
0 3<BR>
in a galaxy far, far away...<BR>
<BR>
0 3<BR>
Naboo was under attack.<BR>
</I></CODE></P>
<P>Wie man erkennen kann, ist das Hauptziel, das <B>Bearbeiten/Timing/
Zusammenfügen/Schneiden von Untertiteln einfach zu machen</B>. Und wenn
du mal angenommen einen SSA-Untertitel bekommst und er zeitlich schlecht
zu deinem Video abgestimmt ist, kannst du einfach <CODE>mplayer dummy.avi
-sub quelle.ssa -dumpmpsub</CODE> ausführen. Es wird eine
<CODE>dump.mpsub</CODE>-Datei im aktuellen Verzeichnis erzeugt, die den
Quell-Untertitel-Text enthält, jedoch im <B>MPsub</B>-Format. Dann kannst
du dem Untertitel einfach Sekunden hinzufügen usw.</P>
<P>Untertitel werden mit einer Technik - genannt <B>'OSD', On Screen
Display</B> - angezeigt. OSD wird verwendet, um die aktuelle Zeit, die
Lautstärken- und Such-Leisten etc. anzuzeigen.</P>
<H3><A NAME="install_osd">1.4.2 Installation des OSD und der Untertitel</A></H3>
<P>Du brauchst ein MPlayer-Schriftenpaket, um das OSD oder Untertitel
anzeigen zu können. Es gibt mehrere Möglichkeiten, eines zu
bekommen:</P>
<UL>
<LI>Lade die fertigen Schiftpakete von der MPlayer-Seite.
Hinweis: Momentan sind nur Schriftarten verfügbaren, die den
ISO 8859-1/2-Zeichensätzen entsprechen, aber es gibt auch ein paar
von Benutzern erstellte Font-Pakete für andere Zeichnsätze
(einschließlich Koreanisch, Russisch, 8859-8 etc.). Diese kannst
du im contrib/font-Verzeichnis auf dem FTP-Server finden.<BR><BR>
Zu jeder Schrift muss eine passende font.desc-Datei existieren, die
festlegt, wo im Zeichensatz die einzelnen Unicode-Zeichen zu finden sind.
Eine andere Möglichkeit besteht darin, dass man bei in UTF8 kodierten
Untertiteln die Option <CODE>-utf8</CODE> verwendet oder die Datei
in <video_name>.utf umgebennt und im gleichen Verzeichnis liegen hat.
Die Umwandlung zwischen verschiedenen Zeichnsätzen und UTF8 kann
mit den Programmen konwert (unter Debian) oder iconv (unter RedHat)
vorgenommen werden.<BR>
Einige URLs:
<UL>
<LI><A HREF="ftp://ftp.mplayerhq.hu/MPlayer/releases/fonts/">
ftp://ftp.mplayerhq.hu/MPlayer/releases/fonts/</A> - ISO Schiften</LI>
<LI><A HREF="ftp://ftp.mplayerhq.hu/MPlayer/contrib/fonts/">
ftp://ftp.mplayerhq.hu/MPlayer/contrib/fonts</A> -
verschiedene Schriften von Anwendern</LI>
<LI><A HREF="http://realtime.ssu.ac.kr/~lethean/mplayer">
http://realtime.ssu.ac.kr/~lethean/mplayer</A> - koreanische Schrift
und RAW-Plugin</LI>
</UL></LI>
<LI>Verwende das Schrift-Erzeugungs-Tool, das in TOOLS/subfont-c liegt. Es
ist ein komplettes Tool, um TTF/Type1/usw.-Schriften in ein
MPlayer-Schriftpaket zu konvertieren (lies TOOLS/subfont-c/README
für Details).</LI>
<LI>Verwende das GIMP-Plugin für Schrift-Erzeugung unter
TOOLS/subfont-GIMP (Hinweis: Du musst auch das HSI-RAW-Plugin haben; siehe
URL unten).</LI>
<LI>Mit Hilfe der <B>freetype</B>-Bibliothek kannst du auch TrueType-Schriften
verwenden. Dafür wird mindestens Version 2.0.9 benötigt, und du
musst configure die Option <CODE>--enable-freetype</CODE> mitgeben. Danach
hast du zwei Möglichkeiten:
<UL>
<LI>Gib bei jedem Aufruf mit dem Parameter <CODE>-font
/pfad/zu/arial.ttf</CODE> eine TrueType-Schrift an.</LI>
<LI>Erstelle einen Symlink wie folgt: <CODE>ln -s /pfad/zu/arial.ttf
~/.mplayer/subfont.ttf</CODE></LI>
</UL>
</LI>
</UL>
<P>Wenn du eine Nicht-TrueType-Schrift benutzt, dann entpacke die Dateien nach
den Download nach <CODE>~/.mplayer</CODE> oder
<CODE>$PREFIX/share/mplayer</CODE>. Danach benennst du eine davon um oder
erstellst einen symbolischen Links zu <CODE>font</CODE> (wie z.B.: <CODE>ln -s
~/.mplayer/arial-24 ~/.mplayer/font</CODE>). Nun solltest du die Zeit in
oberen linken Ecke des Films sehen (kann man mit der Taste "o" ausschalten).
</P>
<P>Das OSD hat 4 Anzeigearten, zwischen denen du mit 'o' umschalten kannst:</P>
<P>(Untertitel werden <I>immer angezeigt</I>. Wie du sie deaktivierst, findest
du in der man-Page.)</P>
<UL>
<LI>Lautstärken- + Suchleiste (Standard)</LI>
<LI>Lautstärken- + Suchleiste + und prozentuale Dateiposition beim
Spulen</LI>
<LI>Lautstärken- + Suchleiste + die totale Länge der Datei</LI>
<LI>nur Untertitel</LI>
</UL>
<P>Du kannst das Standard-Verhalten mit der <CODE>osdlevel=</CODE>-Variable
in der Konfigurationsdatei oder der Kommandozeilenoption
<CODE>-osdlevel</CODE> ändern.</P>
<H3><A NAME="menu">1.4.3 Das OSD-Menü</A></H3>
<P>MPlayer besitzt nun ein komplett vom Benutzer definierbares
OSD-Menü.</P>
<P><B>ANMERKUNG:</B> das Optionsmenü ist momentan NICHT IMPLEMENTIERT!</P>
<H4>Installation</H4>
<OL>
<LI>Gib vor der Compilierung <CODE>./configure</CODE> die Option
<CODE>--enable-menu</CODE> mit.</LI>
<LI>Überzeuge dich, dass du auch wirklich eine Schrift für das
OSD installiert hast (siehe oben).</LI>
<LI>Kopiere die Datei <CODE>etc/menu.conf</CODE> in dein
<CODE>~/.mplayer</CODE>-Verzeichnis.</LI>
<LI>Kopiere die Datei <CODE>etc/input.conf</CODE> in dein
<CODE>~/.mplayer</CODE>-Verzeichnis oder in MPlayers
systemweites Konfigurationsverzeichnis (standardmäßig
<CODE>/usr/local/etc/mplayer</CODE>).</LI>
<LI>Überprüfe den Inhalt der Datei <CODE>input.conf</CODE> und
passe ihn nach deinen Wünschen an, um die Navigationstasten des
Menüs zu aktivieren. Wie das geht, steht unten.</LI>
<LI>Starte MPlayer analog zu diesem Beispiel:<BR>
<CODE>$ mplayer -menu file.avi</CODE></LI>
<LI>Drücke die Tasten, die du vorher für die Navigation
festgelegt hast.</LI>
</OL>
<H2><A NAME="rtc">1.5 RTC</A></H2>
<P>Es gibt drei Methoden der Zeitmessung in MPlayer.</P>
<UL>
<LI><B>Um die alte Methode zu verwenden</B>, musst du nichts tun.
MPlayer verwendet <CODE>usleep()</CODE>, um Audio und Video synchron
zu halten, und erreicht dabei eine Genauigkeit bis zu +/- 10ms. Manchmal
muss die Synchronisation aber einfach feiner eingestellt werden
können.</LI>
<LI><B>Der neue Timercode</B> verwendet die RTC (Real Time Clock
[Echtzeituhr]) für diese Aufgabe, da sie Timer mit genauen
1ms-Intervallen erzeugen kann. Dies wird automatisch aktiviert, falls
verfügbar, erfordert jedoch Root-Privilegien, ein <B>setuid root</B>
MPlayer-Binary oder einen passend eingerichteten Kernel.<BR>
Wenn der Kernel 2.4.19pre8 oder später verwendet wird, kannst du die
maximale RTC-Frequenz für normale Benutzer über das
<CODE>/proc</CODE>-Dateisystem anpassen. Du kannst folgenden Befehl
verwenden, um die RTC für alle normalen Benutzer zu aktivieren:
<P><CODE>echo 1024 > /proc/sys/dev/rtc/max-user-freq</CODE></P>
Wenn du einen älteren Kernel verwendest, dann kannst du auch eine
Zeile in der Datei <CODE>drivers/char/rtc.c</CODE> des Kernelquelltextes
verändern und den Kernel neu compilieren. Dazu musst du folgenden
Abschnitt finden:
<PRE>
* We don't really want Joe User enabling more
* than 64Hz of interrupts on a multi-user machine.
*/
if ((rtc_freq > 64) && (!capable(CAP_SYS_RESOURCE)))
</PRE>
Hier änderst du die 64 in 1024. Du solltest dabei aber wirklich
wissen, was du tust.<BR>
Du kannst die Effizienz des neuen Timers in der Statusleiste sehen.<BR>
Die Energieverwaltungs-Funktionen einiger Notebook-BIOSse mit
Speedstep-CPUs haben Probleme mit der RTC. Audio und Video können
dadurch aus der Synchronisation fallen. Das einstecken des externen
Stromsteckers vor dem Booten soll scheinbar helfen. Du kannst die
Verwendung der RTC kann jedoch jederzeit mit der Option <CODE>-nortc</CODE>
deaktivieren. In einigen Hardwarekombinationen (bestätigt durch die
Verwendung eines nicht-DMA-DVD-Laufwerkes auf einem ALi1541-Board)
verursacht der RTC-Timer eine rucklige Wiedergabe. Du solltest in solchen
Fällen die folgende Methode verwenden.</LI>
<LI><B>Der dritte Timercode</B> wird mit der Option <CODE>-softsleep</CODE>
aktiviert. Er besitzt dieselbe Effizienz wie die RTC, braucht jedoch kein
RTC. Er braucht jedoch auch mehr CPU-Leistung.</LI>
</UL>
<B>Warnung: Installiere NIEMALS MPlayer mit setuid root auf einem
Mehrbenutzersystem!</B> Das wär ein simpler Weg, um Root-Rechte zu
bekommen.
<H1><A NAME="features">2. Features</A></H1>
<H2><A NAME="formats">2.1.</A> <A HREF="formats.html">Unterstützte
Formate</A></H2>
<H2><A NAME="codecs">2.2.</A> <A HREF="codecs.html">Unterstützte
Codecs</A></H2>
<H2><A NAME="output">2.3.</A> <A HREF="video.html">Video</A> & <A
HREF="sound.html">Audio-Ausgabegeräte</A></H2>
<H2><A NAME="tv">2.4 TV input</A></H2>
<P>Dieser Teil der Docs zeigt, wie man mit einem V4L-kompatiblen Gerät
(z.B. einer TV-Karte) <B>fernsehen oder Sendungen aufnehmen</B> kann. In
der man-page findest du eine Beschreibung aller TV-Optionen sowie die Belegung
der Tastatur für's Fernsehen.</P>
<H3><A NAME="tv_compilation">2.4.1 Compilierung</A></H3>
<OL>
<LI>Als erstes musst du MPlayer neu compilieren.
<CODE>./configure</CODE> erkennt automatisch die Kernel-Header von v4l und
ob die <CODE>/dev/video*</CODE>-Einträge existieren. Wenn sie
existieren, wird die TV-Unterstützung eingebaut (siehe Ausgabe von
<CODE>configure</CODE>).</LI>
<LI>stelle sicher, dass dein Tuner mit anderer TV-Software unter Linux
funktioniert, zum Beispiel xawtv.</LI>
</OL>
<H3><A NAME="tv_tips">2.4.2 Tipps zur Benutzung</A></H3>
Die vollständige Auflistung der vorhandenen Optionen ist in der man-page
verfügbar. Hier nur ein paar Tipps:
<UL>
<LI>Benutze die Option <CODE>channels</CODE>. Ein Beispiel:<BR>
<CODE>-tv on:channels=26-MTV1,23-TV2</CODE><BR>
Erklärung: Mit dieser Option sind nur die Kanäle 26 und 23
anwählbar, und das OSD zeigt eine nette Meldung beim Kanalwechsel an,
nämlich den Namen des Kanals. Leerzeichen im Namen müssen durch
"_" ersetzt werden.</LI>
<LI>Wähle vernänftige Bildabmessungen. Höhe und Breite des
resultierenden Bildes (nach Anwendungen aller Filter) sollten durch
16 teilbar sein.</LI>
<LI>Wenn du Video mit einer Höhe aufnimmst, die mehr als die Hälfte
der Fernsehauflösung beträgt (z.B. 288 für PAL oder 240
für NTSC), dann schalte Deinterlacing an. Andernfalls wirst du Video
bekommen, das bei Szenen mit viel vertikaler Bewegung sehr viele Artefakte
aufweist. Zusätzlich wird der zur gerechten Verteilung der Bitrate
verwendete Algorithmus damit warhscheinlich nicht zurecht kommen, da
Interlacing-Artefakte sehr viele Details erzeugen und der Codec somit eine
Unmenge an Bandbreite für die Encodierung benötigt. Du kannst
Deinterlacing mit der Option <CODE>-vop pp=DEINT_TYPE</CODE> anschalten.
Normalerweise funktioniert <CODE>pp=lb</CODE> sehr gut, aber das hängt
auch vom persönlichen Geschmack ab. Schau in der man-page nach. Dort
findest du eine Beschreibung der einzelnen Deinterlacing-Algorithmen.
Probier sie einfach aus.</LI>
<LI>Schneide nicht benutze Bildteile weg. Wenn du Video aufnimmst, dann hast
du an den Rändern oftmals schwarze Bereiche oder Bereiche, in denen
viele Bildstörungen auftreten. Diese benötigen wiederum eine
sehr große Bandbreite. Genauer gesagt sind es nicht die schwarzen
Bereiche, die soviel Bandbreite benötigen, sondern der Übergang
zwischen Bild und schwarzem Bereich, sprich die Kanten. Bevor du also
mit der Aufnahme anfängst, solltest du die Argumente des
<CODE>crop</CODE>-Filters so anpassen, dass all der Müll an den
Rändern weggeschnitten wird. Vergiss aber wiederum nicht, die
Bildabmessungen sinnvoll zu wählen.</LI>
<LI>Achte auf die CPU-Auslastung. Sie sollte die 90%-Barriere die meiste Zeit
über nicht überschreiten. Wenn du große Aufnahmepuffer
verwendest, dann kann MEncoder auch ein paar Sekunden mit
höherer Auslastung überleben, aber auch nicht mehr. Somit
solltest du besser deine 3D-OpenGL-Bildschirmschoner und allgemein alles
andere, was viel Performance kostet, vor der Aufnahme ausschalten.</LI>
<LI>Spiel nicht mit der Systemuhr herum. MEncoder benutzt die
Systemuhr, um Audio und Video synchron zu halten. Wenn du die Uhrzeit
veränderst (besonders, wenn du sie zurücksetzt), dann wird das
MEncoder verwirren, und er wird Bilder wegwerfen. Das ist besonders
dann wichtig, wenn dein Rechner die Systemzeit automatisch über das
Netzwerk anpasst, z.B. mit einer Software wie NTP. Schalte also NTP
während der Aufnahme aus, wenn du verlässliche Resultate
erzielen willst.</LI>
<LI>Ändere das <CODE>outfmt</CODE> nicht, es sei denn, du weißt
wirklich, was du da tust, oder wenn deine Karte/dein Treiber wirklich das
Standardausgabeformat nicht beherrscht (YV12-Farbraum). In älteren
Versionen von MPlayer/MEncoder musste das <CODE>outfmt</CODE>
immer mit angegeben werden, aber heute nicht mehr, und die Standardwerte
passen eh in den meisten Fällen. Wenn du z.B. nach mit DivX aufnehmen
willst, dafür die libavcodec benutzt und <CODE>outfmt=RGB24</CODE>
angibst, um die Bildqualität zu verbessern, so wird das aufgenommene
Bild eh später wieder in den YV12-Farbraum zurückkonvertiert. Das
einzige, was du somit erreichst, ist die Verschwendung von CPU-Zeit.</LI>
<LI>Wenn du den I420-Farbraum verwenden möchtest
(<CODE>outfmt=i420</CODE>), dann musst du auch die Option <CODE>-vc
rawi420</CODE> angeben, weil es ansonsten einen Konflikt mit der FourCC
des Intel Indeo-Videocodecs gibt.</LI>
<LI>Es gibt mehrere Möglichkeiten, den Ton aufzunehmen. Zum einen kannst
du den Ton mit der Soundkarte aufnehmen und die TV-Karte mit einem
Kabel an die Soundkarte anschließen. Zum anderen kannst du den
im bt878-Chip eingebauten ADC verwenden. Im zweiten Fall musst du das
<B>btaudio</B>-Kernelmodul verwenden. Lies die Datei
<CODE>linux/Documentation/sound/btaudio</CODE>, die in den Kernelquellen
zu finden ist. Sie enthält Informationen darüber, wie du diesen
Treiber benutzt.</LI>
<LI>Falls MEncoder das Audiogerät nicht öffnen kann,
dann geh sicher, dass es auch wirklich verfügbar ist. Probleme machen
vor allem die Soundserver wie z.B. arts vom KDE oder esd vom GNOME. Wenn
du eine Full-Duplex-Soundkarte hast (und das ist heutzutage praktisch
jede Karte) und KDE verwendest, dann versuche, die Option "full duplex"
im Optionsmenü des KDE-Soundservers zu aktivieren.</LI>
</UL>
<H3><A NAME="tv_examples">2.4.3 Beispiele</A></H3>
<P>Dummy-Ausgabe mittels AAlib ;)<BR>
<CODE> mplayer -tv
on:driver=dummy:width=640:height=480 -vo aa</CODE><BR>
<BR>
Standard-V4L-Gerät als Quelle<BR>
<CODE> mplayer -tv
on:driver=v4l:width=640:height=480 -vo xv</CODE><BR>
<BR>
Hier ein sinnvolleres und umfassenderes Beispiel. MEncoder wird
mit voller PAL-Größe aufnehmen, das Bild an den Rändern
beschneiden und mit einem linear-blend-Algorithmus ein Deinterlacing
vornehmen. Audio wird mit einer Bitrate von 64kbps mit dem LAME-Codec in
MP3 comprimiert. Diese Einstellungen sind dazu geeignet, um Filme
aufzunehmen.<BR>
<CODE> mencoder -tv
on:driver=v4l:width=768:height=576 \<BR>
-ovc lavc -lavcopts
vcodec=mpeg4:vbitrate=900 \<BR> -oac
mp3lame -lameopts cbr:br=64 \<BR>
-vop
pp=lb,crop=720:544:24:18 -o output.avi
</CODE><BR>
<BR> In diesem Beispiel wird das Bild noch auf 384x288 verkleinert und mit
einer Bitrate von nur 350kbps im Qualitätsmodus comprimiert. Die
<CODE>vqmax</CODE>-Option lockert die Beschränkungen der Quantizer und
erlaubt es dem Codec erst, wirklich so eine niedrige Bitrate zu erreichen,
was natürlich auf Kosten der Bildqualität geschieht. Dieses
Beispiel kann verwendet werden, um z.B. lange TV-Serien aufzuzeichnen,
wobei es auf die Qualität nicht so sehr wie auf den Platzbedarf ankommt.
<BR>
<CODE>
mencoder -tv on:driver=v4l:width=768:height=576 \<BR>
-ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \<BR>
-oac mp3lame -lameopts cbr:br=48 \<BR>
-vop scale=384:288,pp=tn/lb,crop=720:540:24:18 -sws 1 -o output.avi
</CODE><BR>
Du könntest auch in der <CODE>-tv</CODE>-Option eine kleinere
Bildgröße angeben und dafür auf die Softwareskalierung
verzichten. Aber der oben gewählte Ansatz gibt MEncoder die
maximal zur verfügung stehende Information zur Verarbeitung und ist
ein bischen resistenter gegen Bildrauschen. Dazu kommt, dass der bt8x8-Chip
wegen einer Hardwarebeschränkung nur in der Horizontale zwischen
Pixeln interpolieren kann.</P>
<H2><A NAME="edl">2.5 Edit Decision Lists (EDL)</A></H2>
<P>Die Edit Decision Lists (EDL) erlauben es, bestimmte Stellen bei der
Wiedergabe automatisch zu überspringen oder stummzuschalten. Dabei werden
EDL-Konfigurationsdateien ausgewertet.</P>
<P>Das ist dann ganz nützlich, wenn du einen Film in einer
"familienfreundlichen"
Version sehen möchtest. Du kannst damit Gewalt, Obszönitäten
oder Jar-Jar Binks rausschneiden, ganz so, wie du's willst. Davon abgesehen
kannst du z.B. auch automatisch Werbung überspringen.</P>
<P>Das EDL-Dateiformat ist ziemlich simpel gestrickt. Wenn das EDL erst einmal
einen gewissen Reifegrad erreicht hat, wird wahrscheinlich ein auf XML
basierendes Dateiformat eingeführt (aber die Kompatibilität zu alten
EDL-Formaten trotzdem gewahrt) werden.</P>
<P>Die maximale Anzahl von EDL-Einträgen beträgt momentan 1000.
Falls du mehr davon brauchst, dann ändern einfach
<CODE>#define MAX_EDL_ENTRIES</CODE> in der Datei <CODE>edl.h</CODE>.</P>
<H3><A NAME="edl_using">2.5.1 Benutzung von EDL-Dateien</A></H3>
<P>Gib mit der Option <CODE>-edl <Dateiname></CODE> die EDL-Datei an,
die du auf dein Video angewandt haben möchtest.</P>
<H3><A NAME="edl_making">2.5.2 Erstellen von EDL-Dateien</A></H3>
<P>Das aktuelle EDL-Dateiformat sieht so aus:</P>
<CODE>[Start in Sekunden] [Ende in Sekunden] [Aktion]</CODE>
<P>Die Sekundenangaben sind Fließkommazahlen, und die Aktion ist entweder
<CODE>0</CODE> (überspringen) oder <CODE>1</CODE> (stummschalten).
Beispiel:</P>
<PRE>
5.3 7.1 0
15 16.7 1
420 422 0
</PRE>
<P>Hier wird von Sekunde 5.3 bis Sekunde 7.1 ausgelassen. Von Sekunde 15 bis
Sekunde 16.7 wird stummgeschaltet, bei 16.7 wieder lautgestellt, und von
Sekunde 420 bis Sekunde 422 wird das Video übersprungen. Diese
Aktionen werden ausgeführt, sobald der Abspieltimer die angegebenen
Werte erreicht.</P>
<P>Wenn du eine EDL-Datei erstellen möchtest, dann benutze
<CODE>-edlout <filename></CODE>. Während der Wiedergabe kannst du
<CODE>i</CODE> drücken. Es wird dann ein Eintrag erstellt, der an dieser
Stelle 2 Sekunden überspringt. Du kannst dann mit einem Editor deiner
Wahl die generierte EDL-Datei verfeinern.</P>
<H1><A NAME="usage">3. Verwendung</A></H1>
<H2><A NAME="command_line">3.1 Kommandozeile</A></H2>
<P>MPlayer benützt einen komplexen Abspielbaum. Er besteht aus
globalen Optionen am Anfang (z.B. <CODE>mplayer -vfm 5</CODE>) und Optionen
nach dem Dateinamen, welche nur für die jeweilige Datei/URL/etc gelten
(z.B. <CODE>mplayer -vfm 5 movie1.avi movie2.avi -vfm 4</CODE>).<BR> Mit { und
} können Dateinamen/URL-Grupen gebildet werden. Dies ist mit der Option
<CODE>-loop</CODE> nützlich: <CODE>mplayer { 1.avi -loop 2 2.avi } -loop
3</CODE> spielt die Dateien in dieser Reihenfolge: 1 1 2 1 1 2 1 1 2<BR></P>
<TABLE BORDER=0>
<TR><TD> </TD><TD>Datei</TD><TD> </TD><TD><CODE>mplayer [Optionen] [Pfad/]Dateiname</CODE></TD></TR>
<TR><TD></TD><TD>Datei</TD><TD></TD><TD><CODE>mplayer [standard Optionen] [Pfad/]Dateiname [Optionen für datei1] datei2 datei3 [Optionen für datei3]</CODE></TD></TR>
<TR><TD></TD><TD>VCD</TD><TD></TD><TD><CODE>mplayer [Optionen] -vcd Tracknr [-cdrom-device /dev/cdrom]</CODE></TD></TR>
<TR><TD></TD><TD>DVD</TD><TD></TD><TD><CODE>mplayer [Optionen] -dvd Titelnr [-dvd-device /dev/dvd]</CODE></TD></TR>
<TR><TD></TD><TD>Netz</TD><TD></TD><TD><CODE>mplayer [Optionen] http://site.com/datei.asf (playlist kann auch benutzt werden)</CODE></TD></TR>
</TABLE>
<P>Die neusten Versionen von MPlayer akkzeptieren auch VCD- und
DVD-Tracks im URL-Format, so wie z.B. auch Xine: <CODE>mplayer dvd://1</CODE>
oder <CODE>mplayer vcd://1</CODE></P>
<PRE>
mplayer -vo x11 /mnt/Filme/Contact/contact2.mpg
mplayer -vcd 2
mplayer -afm 3 /mnt/DVDtrailers/alien4.vob
mplayer -dvd 1
mplayer -abs 65536 -delay -0.4 -nobps ~/movies/test.avi
</PRE>
<H2><A NAME="control">3.2 Steuerung</A></H2>
<P>MPlayer besitzt eine vollständig konfigurierbare, durch Befehle
angesteuerte Steuerungsschicht (control layer), der es erlaubt, MPlayer
mit Tastatur, Maus, Joystick oder Fernbedienung (unter Verwendung von LIRC) zu
steuern. Schau in die man-page. Dort steht eine vollständige Liste
aller Tastaturkommandos.</P>
<H3><A NAME="default_controls">3.2.1 Konfiguration der Steuerung</A></H3>
<P> MPlayer ermöglicht es, dass du jede Taste/jeden Button mit
einem MPlayer-Befehl verbindest. Dieses wird in einer simplen
Konfigurationsdatei festgelegt. Die Syntax besteht einfach aus einem
Tastennamen gefolgt vom auszuführenden Befehl. Die
Standardkonfigurationsdatei ist <CODE>$HOME/.mplayer/input.conf</CODE>, aber
diese Position kann auch mit der Option <CODE>-input</CODE> geändert
werden. Pfadangaben beziehen sich hier relativ zu <CODE>$HOME/.mplayer</CODE>).
</P>
<P>Beispiel:</P>
<PRE>
##
## MPlayer input control file
##
RIGHT seek +10
LEFT seek -10
- audio_delay 0.100
+ audio_delay -0.100
q quit
> pt_step 1
< pt_step -1
ENTER pt_step 1 1
</PRE>
<H4><A NAME="key_names">3.2.2.1 Tastennamen</A></H4>
<P>Mit folgendem Befehl erhälst du eine vollständige Liste:
<CODE>mplayer -input keylist</CODE></P>
<H4>Tastatur</H4>
<UL>
<LI>Irgendein druckbares Zeichen</LI>
<LI>SPACE</LI>
<LI>ENTER</LI>
<LI>TAB</LI>
<LI>CTRL</LI>
<LI>BS</LI>
<LI>DEL</LI>
<LI>INS</LI>
<LI>HOME</LI>
<LI>END</LI>
<LI>PGUP</LI>
<LI>PGDWN</LI>
<LI>ESC</LI>
<LI>RIGHT</LI>
<LI>LEFT</LI>
<LI>UP</LI>
<LI>DOWN</LI>
</UL>
<H4>Maus (wird nur unter X unterstützt)</H4>
<UL>
<LI>MOUSE_BTN0 (Linke Taste)</LI>
<LI>MOUSE_BTN1 (Rechte Taste)</LI>
<LI>MOUSE_BTN2 (Mittlere Taste)</LI>
<LI>MOUSE_BTN3 (Mausrad)</LI>
<LI>MOUSE_BTN4 (Mausrad)</LI>
<LI>...</LI>
<LI>MOUSE_BTN9</LI>
</UL>
<H4>Joystick (Joystick-Unterstützung muss bei der Kompilierung aktiviert
sein)</H4>
<UL>
<LI>JOY_RIGHT oder JOY_AXIS0_PLUS</LI>
<LI>JOY_LEFT oder JOY_AXIS0_MINUS</LI>
<LI>JOY_UP oder JOY_AXIS1_MINUS</LI>
<LI>JOY_DOWN oder JOY_AXIS1_PLUS</LI>
<LI>JOY_AXIS2_PLUS</LI>
<LI>JOY_AXIS2_MINUS</LI>
<LI>....</LI>
<LI>JOY_AXIS9_PLUS</LI>
<LI>JOY_AXIS9_MINUS</LI>
</UL>
<H4><A NAME="commands">3.2.2.2 Befehle</A></H4>
<P>Mit folgendem Befehl erhälst du eine vollständige Liste:
<CODE>mplayer -input cmdlist</CODE></P>
<UL>
<LI><B>seek</B> (int) Wert [(int) type=0]
<P>Sucht bis zu einer gewissen Stelle im Film.<BR>
Type 0 ist eine relative Suche von +/- Wert Sekunden.<BR>
Type 1 sucht bis Wert % im Film. </P></LI>
<LI><B>audio_delay</B> (float) Wert
<P>Korrigiert die Audioverzögerung um Wert Sekunden</P></LI>
<LI><B>quit</B>
<P>Beendet MPlayer</P></LI>
<LI><B>pause</B>
<P>Wechselt zwischen Pause und Weiterspielen</P></LI>
<LI><B>grap_frames</B>
<P>Weiß das jemand?</P></LI>
<LI><B>pt_step</B> (int) Wert [(int) force=0]
<P>Springt zum nächsten/vorherigen Eintrag im playtree. Das Vorzeichen
von Wert bestimmt die Richtung.<BR> Wenn kein neuer Eintrag mehr vorhanden
ist, geschieht gar nichts, es sei denn, force ist nicht 0.</P></LI>
<LI><B>pt_up_step</B> (int) Wert [(int) force=0]
<P>Wie pt_step, springt jedoch zum nächsten/vorherigen Eintrag in der
übergeordneten Liste. Dies ist nützlich, um eine innere Schleife
im playtree zu unterbrechen.</P></LI>
<LI><B>alt_src_step</B> (int) Wert
<P>Wenn mehr als eine Quelle vorhanden ist, wählt dies die
nächste/vorherige (nur unterstützt für asx
Wiedergabelisten).</P></LI>
<LI><B>sub_delay</B> (float) Wert [(int) abs=0]
<P>Korrigiert die Untertitel-Verzögerung um +/- Wert Sekunden oder
setzt sie auf Wert Sekunden, wenn abs nicht null ist.</P></LI>
<LI><B>osd</B> [(int) level=-1]
<P>Wechselt den OSD-Modus oder setzt in auf level, wenn level >
0.</P></LI>
<LI><B>volume</B> (int) dir
<P>Erhöht/erniedrigt die Lautstärke</P></LI>
<LI><B>contrast</B> (int) Wert [(int) abs=0]</LI>
<LI><B>brightness</B> (int) Wert [(int) abs=0]</LI>
<LI><B>hue</B> (int) Wert [(int) abs=0]</LI>
<LI><B>saturation</B> (int) Wert [(int) abs=0]
<P>Setzt/korrigiert die Video-Parameter. Die Wertreichweite reicht von -100
bis 100.</P></LI>
<LI><B>frame_drop</B> [(int) type=-1]
<P>Wechselt den Framedrop-Modus.</P></LI>
<LI><B>sub_pos</B> (int) Wert
<P>Korrigiert die Untertitel-Position.</P></LI>
<LI><B>vobsub_lang</B>
<P>Ändert die Sprache der VobSub-Untertitel.</P></LI>
<LI><B>vo_fullscreen</B>
<P>Wechselt den Vollbildschirm-Modus.</P></LI>
<LI><B>tv_step_channel</B> (int) dir
<P>Wählt nächsten/vorherigen Tv-Kanal.</P></LI>
<LI><B>tv_step_norm</B>
<P>Ändert TV-Norm.</P></LI>
<LI><B>tv_step_chanlist</B>
<P>Ändert Kanalliste.</P></LI>
<LI><B>gui_loadfile</B></LI>
<LI><B>gui_loadsubtitle</B></LI>
<LI><B>gui_about</B></LI>
<LI><B>gui_play</B></LI>
<LI><B>gui_stop</B></LI>
<LI><B>gui_playlist</B></LI>
<LI><B>gui_preferences</B></LI>
<LI><B>gui_skinbrowser</B>
<P>GUI-Aktionen</P></LI>
</UL>
<H3><A NAME="lirc">3.2.3 Steuerung mittels LIRC</A></H3>
<P>Linux Infrared Remote Control - verwende einen einfach zu bauenden,
selbstgebauten IR-Empfänger, (fast) jede beliebige Fernbedienung
und steuere deinen Linux-Rechner damit. Mehr dazu auf <A
HREF="http://www.lirc.org">www.lirc.org</A>.</P>
<P>Wenn du das lirc-Paket installiert hast, erkennt es <CODE>configure</CODE>
automatisch. Wenn alles gut geht, gibt MPlayer während des Starts
eine Nachricht wie etwa "Setting up lirc support..." aus. Wenn ein Fehler
auftritt, wird dies auch gemeldet. Wenn gar nichts gesagt wird, ist auch keine
LIRC-Unterstützung eincompiliert. Das ist alles :-)</P>
<P>Der Anwendungsname für MPlayer ist - oh, ein Wunder -
<CODE>mplayer</CODE>. Du kannst jeden beliebigen MPlayer-Befehl benutzen
und sogar mehrere nacheinander ausführen lassen, indem du sie durch \n
voneinander trennst. Vergiss nicht, die <CODE>repeat</CODE>-Option in der
.lircrc zu benutzen, wenn es Sinn macht (beim Suchen, bei der Lautstärke
etc.). Hier ist ein Auszug aus meiner .lircrc:</P>
<PRE>
begin
button = VOLUME_PLUS
prog = mplayer
config = volume 1
repeat = 1
end
begin
button = VOLUME_MINUS
prog = mplayer
config = volume -1
repeat = 1
end
begin
button = CD_PLAY
prog = mplayer
config = pause
end
begin
button = CD_STOP
prog = mplayer
config = seek 0 1\npause
end
</PRE>
<P>Wenn du die Standard-Position der LIRC-Konfigurationsdatei (~/.lircrc) nicht
magst, verwende die Option <CODE>-lircconf <Dateiname></CODE>, um eine
andere Datei anzugeben.</P>
<H3><A NAME="slave">3.2.4 Der "Slave"-Modus</A></H3>
<P>Der Slave-Modus erlaubt es dir, ein einfaches Frontend für
MPlayer zu erstellen. Wenn er mit der Option <CODE>-slave</CODE>
aktiviert wurde, dann liest MPlayer durch neue Zeilen unterbrochene
Befehle (\n) von der Standardeingabe.</P>
<H2><A NAME="streaming">3.3 Streaming über das Netzwerk oder
Pipes</A></H2>
<P>MPlayer kann Videos über Netzwerke unter Verwendung des HTTP-
MMS- oder RTSP/RTP-Protokolls abspielen.</P>
<P>Abspielen geht einfach durch das Hinzufügung der URL zu der
Kommandozeile. MPlayer berücksichtigt auch die
http_proxy-Umgebungsvariable und benutzt einen Proxy, falls vorhanden. Der
Proxygebrauch kann auch erzwungen werden:</P>
<P><CODE>mplayer
http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf</CODE>
</P>
<P>MPlayer kann auch von stdin lesen (<B>nicht</B> von benannte Pipes).
Dies ist ein Beispiel für die Verwendung, um von FTP abzuspielen:</P>
<P><CODE> wget ftp://micorsops.com/etwas.avi -O - | mplayer
-</CODE></P>
<P>Hinweis: Bei der Wiedergabe übers Netzwerk empfiehlt sich, den Cache zu
aktivieren:</P>
<P><CODE> wget ftp://micorsops.com/etwas.avi -O - | mplayer -cache
8192 -</CODE></P>
<H1><A NAME="cd/dvd">4.</A> <A HREF="cd-dvd.html">CD/DVD-Sektion</A></H1>
<H1><A NAME="faq">5.</A> <A HREF="faq.html">FAQs - Die häufisten Fragen
und Antworten</A></H1>
<H1><A NAME="ports">6.</A> Portierungen</A></H1>
<H2><A NAME="linux">6.1</A> Linux</A></H2>
<P>Die hauptsächliche Entwicklungsplattform ist Linux auf x86, obwohl
MPlayer auch auf anderen Linuxportierungen läuft.</P>
<H3><A NAME="debian">6.1.1 Debian-Pakete</A></H3>
<P>Um selber ein Debianpaket zu erstellen, starte den folgenden Befehl im
Source-Verzeichnis:</P>
<PRE>
fakeroot debian/rules binary
</PRE>
<P>Und nun einfach root werden und:</P>
<PRE>
dpkg -i ../mplayer_0.90-1_i386.deb als root.
</PRE>
<P>Christian Marillat hat seit einiger Zeit unoffizielle Debianpakete von
MPlayer, MEncoder und den Schriften erstellt. Du kannst sie (per apt-get)
von <A HREF="http://marillat.free.fr/">seiner Homepage</A> herunterladen.
Diese Pakete sind definitiv inoffiziell, da Christian bereits damals
diese Pakete erstellt und verteilt hat, als MPlayer noch nicht komplett unter
der GPL stand und
<A HREF="users_against_developers.html#binary">Binärpakete</A>
nicht erlaubt waren. Christian ignorierte unsere Bitte, das zu unterlassen,
was einiges an bösem Blut zwischen ihm und den MPlayer-Entwicklern
hinterließ. Inzwischen sind Binärpakete kein Problem mehr. Trotzdem
<B>supporten wir diese Pakete nicht</B>!</P>
<H3><A NAME="rpm">6.1.2 RPM-Pakete</A></H3>
<P>Dominik Mierzejewski erstellt und wartet die offiziellen RedHat RPM-Pakete
für MPlayer. Diese können von seiner
<A HREF="http://www.piorunek.pl/~dominik/linux/pkgs/mplayer/">Homepage</A>
heruntergeladen werden. Bitte lies die Anweisungen auf seiner Seite, und
schreib ihm wegen Problemen und nicht uns.</P>
<P>Inzwischen gibt es auch andere RPM-Versionen (SuSE liefert MPlayer mit ihrer
offiziellen Distribution aus, Mandrake-Pakete gibt es von
<A HREF="http://plf.zarb.org/">P.L.F</A>) von MPlayer, aber keine dieser
Versionen wird offiziell unterstützt.</P>
<H3><A NAME="arm">6.1.3 ARM</A></H3>
<P>MPlayer läuft auf Linux-PDAs mit einer ARM-CPU, z.B. dem Sharp Zaurus
oder dem Compaq Ipaq. Am einfachsten ist es, sich MPlayer von
<A HREF="http://www.openzaurus.org">Openzaurus</A> runterzuladen.
Wenn du MPlayer selber compilieren möchtest, dann schau dir dir
Verzeichnisse für
<A HREF="http://openzaurus.bkbits.net:8080/buildroot/src/packages/mplayer?nav=index.html|src/.|src/packages">
mplayer</A> und
<A HREF="http://openzaurus.bkbits.net:8080/buildroot/src/packages/libavcodec?nav=index.html|src/.|src/packages">
libavcodec</A> bei der OpenZaurus-Distribution an. Sie enthalten immer
die aktuellen Makefiles und Patches, die benutzt werden können,
um die CVS-Version von MPlayer mit libavcodec zu compilieren.<BR>
Wenn du das GUI brauchst, dann kannst du <CODE>xmms-embedded</CODE>
benutzen.</P>
<H2><A NAME="freebsd">6.2 *BSD</A></H2>
<P>MPlayer läuft auf FreeBSD, OpenBSD, NetBSDO, BSD/OS und Darwin.
Es sind ports/pkgsrc/fink/etc-Versionen verfügbar, die sich wahrscheinlich
leichter als die normalen Quelltexte installieren lassen.</P>
<P>Um das Paket zu compilieren, brauchst du GNU make (gmake,
/usr/ports/devel/gmake), das originale BSD make wird nicht funktionieren.
Außerdem ist eine relativ neue Version der binutils nötig.</P>
<P>Wenn MPlayer meldet "CD-ROM Device '/dev/cdrom' not found!" musst du
einen symbolischen Link setzen: <CODE>ln -s /dev/(dein CD-ROM Device)
/dev/cdrom</CODE></P>
<P>Wenn du die Win32-DLLs mit MPlayer benuzen willst, dann musst du
deinen Kernel mit "<CODE>option USER_LDT</CODE>" neu compilieren (es sei denn,
bei dir läuft FreeBSD-CURRENT, in dem der Kernel bereits damit
compiliert wurde).</P>
<H3><A NAME="freebsd">6.2.1 FreeBSD</A></H3>
<P>Falls deine CPU SSE unterstützt, musst du den Kernel mit
"<CODE>options CPU_ENABLE_SSE</CODE>" übersetzen, um diese nutzen zu
können (FreeBSD-STABLE oder ein Kernel-Patch werden dafür
benötigt). </P>
<H3><A NAME="openbsd">6.2.2 OpenBSD</A></H3>
<P>Aufgrund der Beschränkungen in verschiedenen Versionen von gas
(Relokation vs. MMX), musst du den Kernel in zwei Schritten neu compilieren.
Stell zuerst sicher, dass das nicht mitgelierferte "as" über deinen
<CODE>$PATH</CODE> erreichbar ist. Danach rufe <CODE>gmake -k</CODE> auf und
stell sicher, dass die mitgelieferte Version benutzt wird. Schließlich
wird mit <CODE>gmake</CODE> der Kernel übersetzt.</P>
<H2><A NAME="solaris">6.3 Solaris</A></H2>
<P>MPlayer sollte auf Solaris 2.6 oder neuer funktionieren.</P>
<P>Bei <B>UltraSPARC</B>s kann MPlayer die Vorteile der
<B>VIS</B>-Erweiterungen (vergleichbar mit MMX) verwenden, zur Zeit jedoch erst
in <CODE>libmpeg2</CODE>, <CODE>libvo</CODE> und <CODE>libavcodec</CODE>,
jedoch nicht in <CODE>mp3lib</CODE>. Du kannst eine VOB-Datei auf einer 400MHz
CPU ansehen. Du musst dazu <A
HREF="http://www.sun.com/sparc/vis/mediaLib.html">mLib</A> installiert
haben.</P>
<P>Um dieses Paket zu compilieren, brauchst du GNU Make (gmake,
/opt/sfw/gmake). Das originale Solaris Make wird nicht funktionieren. Dies ist
ein typischer Fehler, den du bekommen wirst, wenn du Solaris' Make anstatt von
GNU Make verwendest:</P>
<PRE>
% /usr/ccs/bin/make
make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
</PRE>
<P>Unter Solaris SPARC brauchst du den GNU C/C++ Compiler. Es spielt keine
Rolle, ob der GNU C/C++-Compiler mit oder ohne GNU Assembler konfiguriert
ist.</P>
<P>Unter Solaris x86 brauchst du den GNU C/C++-Compiler, welcher konfiguriert
sein muss, den GNU Assembler zu verwenden! Der MPlayer-Code erzeugt auf
x86 Plattformen eine Binary mit Verwendungen von MMX-, SSE- und 3DNOW-Befehlen.
Dies kann mit dem Sun Assembler <CODE>/usr/ccs/bin/as</CODE> nicht assembliert
werden.</P>
<P>Das <CODE>configure</CODE> Skript versucht herauszufinden, welches
Assemblerprogramm von deinem "gcc" Befehl ausgeführt wird (für den
Fall, dass es fehlschlägt, verwende die Option
"--as=/woimmer/du/es/installiert/hast/gnu-as" und sage damit dem Skript,
wo es den GNU "as" auf deinem System finden kann).</P>
<P>Fehlermeldungen von <CODE>configure</CODE> auf einem Solaris x86 System bei
Verwendung von GCC ohne GNU Assembler:</P>
<PRE>
% configure
...
Checking assembler (/usr/ccs/bin/as) ... , failed
Please upgrade(downgrade) binutils to 2.10.1...
</PRE>
<P>(Lösung: Installiere und verwende einen gcc, der mit "--with-as=gas"
konfiguriert ist)</P>
<P>Ein typischer Fehler beim Kompilieren mit einem GNU C Compiler, der nicht den
GNU as verwendet:</P>
<PRE>
% gmake
...
gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
-fomit-frame-pointer -I/usr/local/include -o mplayer.o mplayer.c
Assembler: mplayer.c
"(stdin)", line 3567 : Illegal mnemonic
"(stdin)", line 3567 : Syntax error
... more "Illegal mnemonic" and "Syntax error" errors ...
</PRE>
<P>Aufgrund von Fehlern in Solaris 8 x86 ist es nicht möglich, DVDs
mit einer Speicherkapazität von mehr als 4GB zu verwenden:</P>
<UL>
<LI>Der sd(7D)-Treiber von Solaris 8 x86 hat eine Fehler beim Zugriff auf
einen Dateiblock >4GB auf einem Gerät, dass eine logische
Blockgröße != DEV_BSIZE (z.B. CD-ROM und DVD Medien) aufweist.
Beim Zugriff auf eine Adresse >4 GB gibt es also einen 32Bit Int
Overflow.
(<A HREF="http://groups.yahoo.com/group/solarisonintel/message/22516">
http://groups.yahoo.com/group/solarisonintel/message/22516</A>)
<BR>
Die SPARC-Version von Solaris 8 kennt dieses Problem nicht.
</LI>
<LI>Ein ähnlicher Fehler existiert im hsfs(7FS) Dateisystem-Code
(ISO9660): hsfs unterstützt eventuell keine Partitions/Disks >4GB.
(<A HREF="http://groups.yahoo.com/group/solarisonintel/message/22592">
http://groups.yahoo.com/group/solarisonintel/message/22592</A>)
<BR>
Das hsfs-Problem kann durch die Installation des Patches 109764-04
(auf SPARC) / 109765-04 (auf x86) behoben werden.
</LI>
</UL>
<P>Bei Solaris mit einer UltraSPARC CPU kannst du zusätzliche
Geschwindigkeit gewinnen, indem du die VIS-Befehle für rechenintensive
Operationen verwendest. VIS-Beschleunigungen können von MPlayer
durch das Aufrufen von Funktionen in Suns <A
HREF="http://www.sun.com/sparc/vis/mediaLib.html">mediaLib</A> verwendet
werden.</P>
<P>VIS-Beschleunigungen von mediaLib werden für MPEG2 Video-Decodierung
und für Farbraumkonvertierung im Videoausgabetreiber verwendet.</P>
<H2><A NAME="sgi">6.4 Silicon Graphics / IRIX</A></H2>
<P>Du hast zwei Möglichkeiten. Die eine besteht darin, das GNU
install-Programm zu installieren und <CODE>./configure</CODE> mitzuteilen, wo
es liegt (sofern du es nicht in deinen <CODE>$PATH</CODE> installiert
hast):</P>
<PRE>
./configure --install-path=PATH
</PRE>
<P>Die zweite Möglichkeit besteht darin, das bei IRIX 6.5 mitgelieferte
"install" zu benutzen. Dazu musst du aber das Makefile ein wenig von Hand
anpassen. Ändere die folgenden beiden Zeilen</P>
<PRE>
$(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1
$(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf
</PRE>
<P>in:</P>
<PRE>
$(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/
$(INSTALL) -m 644 codecs.conf $(CONFDIR)/
</PRE>
<P>Führ danach noch die beiden Befehle aus dem
MPlayer-Quellcodeverzeichnis heraus auf:</P>
<PRE>
cp DOCS/mplayer.1 . ; cp etc/codecs.conf .
</PRE>
<P>Nun mache ganz normal mit dem Compilierungs- und Installationsprozess
weiter.</P>
<H2><A NAME="qnx">6.5 QNX</A></H2>
<P>Funktioniert. Du musst SDL für QNX herunterladen, installieren und dann
MPlayer mit den Optionen <CODE>-vo sdl:photon</CODE> und <CODE>-ao
sdl:nto</CODE> starten. Es sollte schnell sein.</P>
<P>Die <CODE>-vo x11</CODE>-Ausgabe ist sogar noch langsamer als unter Linux,
da QNX nur eine <B>sehr langsame</B> <I>X-Emulation</I> hat. Benutze SDL.</P>
<H2><A NAME="cygwin">6.6 Cygwin</A></H2>
<P>Die Portierung auf Cygwin, eine Unix-Tool-Umgebung unter Windows, steckt
noch in ihren Kinderschuhen. Momentan werden die folgenden Punkte nicht
unterstützt: Win32-DLLs oder OpenGL. Von SDL ist bekannt, dass sie
Audio- und Videoverzerrung hervorruft oder sogar das System zum Absturz bringt.
<A HREF="../tech/patches.txt">Patches</A> sind natürlich jederzeit
willkommen. Die besten Resultate erhälst du mit der windowseigenen
DirectX-Videoausgabe (<CODE>-vo directx</CODE>) und dem windowseigenenen
waveout-Audiotreiber (<CODE>-ao win32</CODE>). Du solltest auf jeden Fall einen
Blick auf die <A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-cygwin/">
mplayer-cygwin</A> Mailingliste werfen, um Hilfe zu bekommen und die neuesten
Informationen zu finden.</P>
<P>Du wirst die Datei <CODE>etc/cygwin_inttypes.h</CODE> aus den
MPlayer-Quellen nach <CODE>/usr/include/inttypes.h</CODE> kopieren
und erst danach MPlayer compilieren müssen, da der Compiler sich
sonst über eine fehlende <CODE>intypes.h</CODE> beschwert..</P>
<P>Wenn du Unterstützung für DirectX-Videoausgabe (<CODE>-vo
directx</CODE>) haben willst, dann installier die <A
HREF="http://www.videolan.org/vlc/dx7headers.tgz">DirectX 7 Header Files</A>
und compiliere MPlayer erneut. Du solltest mit <CODE>-vo directx -ao
win32</CODE> die besten Ergebnisse erzielen. Falls das Bild gestört ist,
so versuche es ohne die Hardwarebeschleunigung erneut: <CODE>-vo
directx:noaccel</CODE>.</P>
<P>Anweisungen, wie du SDL unter Cygwin zum Laufen bringst, findest du auf
der <A HREF="http://www.libsdl.org/extras/win32/cygwin/">libsdl-Seite</A>.</P>
<P>Du kannst VCDs einfach abspielen, indem du die <CODE>.DAT</CODE>-Datei
oder die <CODE>.MPG</CODE>-Datei abspielst, die Windows auf einer VCD
anzeigt. So funktioniert es (pass bei Bedarf den Laufwerksbuchstaben an):</P>
<P><CODE>mplayer d:/mpegav/avseq01.dat</CODE></P>
<P><CODE>mplayer /cydrive/d/MPEG2/AVSEQ01.MPG</CODE></P>
<P>DVDs funktionieren ebenfalls. Setze dafür einfach dsa DVD-Gerät
korrekt:</P>
<P><CODE>mplayer -dvd <Titel> -dvd-device '\\.\d:'</CODE></P>
<P>Die QuickTime-DLLs sollen angeblich ebenfalls funktionieren. Compiliere
MPlayer mit <CODE>--enable-qtx-codecs</CODE> und kopiere die Codecs an den
Standardort für Windows-DLLs, <CODE>C:\WINNT\system32</CODE> oder
<CODE>C:\Windows\system</CODE>, abängig von deiner Windowsversion.</P>
<H1><A NAME="encoding">7.</A><A HREF="encoding.html">Encodierung mit
MEncoder</A></H1>
<H1><A NAME="mailing_lists">Anhang A - Mailing-Listen</A></H1>
<P>Es stehen einige öffentliche Mailinglisten für MPlayer zur
Verfügung. Wenn nichts anderes angegeben wird, dann ist die auf der Liste
zu verwendende Sprache <B>Englisch</B>. Bitte schreibe nicht in anderen
Sprachen, und schick niemals HTML-Mails! Es gibt eine
Größenbeschränkung auf 80k. Wenn du etwas größeres
hast, dann lade es irgendwo hoch und gib in der Mail nur die URL an. Klick auf
die Links, um dich bei den Listen anzumelden. Auf diesen Mailinglisten gelten
die gleichen Regeln bezüglich Schreibstil und Antworten wie im Usenet.
Bitte befolge diese Regeln, da es das Leben für diejenigen, die deine
Mails lesen, deutlich vereinfacht. Wenn du diese Regeln nicht kennst, dann lies
bitte die <A HREF="http://learn.to/edit_messages">HOWTO über's Schreiben
von Mails (Englisch)</A> durch. Wenn du gerade keine Zeit hast, dann lies
alternativ die
<A HREF="http://www.xs4all.nl/~hanb/documents/quotingguide.html">
Quoting-HOWTO (Englisch)</A>.</P>
<UL>
<LI>MPlayer Ankündigungsliste:
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-announce">
http://mplayerhq.hu/mailman/listinfo/mplayer-announce</A><BR>
Liste mit Ankündigungen rund um MPlayer. Melde dich hier an,
wenn du Ankündigungen über z.B. neue Versionen oder neue Features
mitbekommen möchtest.</LI>
<LI>MPlayer Entwickler-Liste:
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">
http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng</A><BR>
Diese Liste ist über MPlayer Entwicklung. Es wird über
Interface-/API-Änderungen, neue Librarys, Code-Optimierungencode und
<CODE>./configure</CODE>-Änderungen diskuttiert. Du kannst auch deine
Patches hier herschicken. Sende <B>keine</B> Fehlerberichte,
Anwenderfragen, Featurewünsche oder Beschwerden hierher! Diese Liste
sollte wenig verwendet werden.
</LI>
<LI>MPlayer Anwender-(Users)-Liste:
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-users">
http://mplayerhq.hu/mailman/listinfo/mplayer-users</A><BR>
<UL>
<LI>Sende hier Fehlerberichte (nach lesen von
DOCS/<A HREF="#known_bugs">BUGS</A>, <A HREF="bugreports.html">wie man
Fehler berichtet</A>).</LI>
<LI>Sende hier Featurewünsche (nach lesen von DOCS/TODO).</LI>
<LI>Sende hier Anwenderfragen (nach lesen von DOCS/TODO).</LI>
</UL>
</LI>
<LI>MPlayer Anwender-(Users)-Liste-(ungarisch):
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-felhasznalok">
http://mplayerhq.hu/mailman/listinfo/mplayer-felhasznalok</A><BR>
<UL>
<LI>Liste mit ungarischer Sprache</LI>
<LI>Inhalt? Wir werden sehen... hauptsächlich Beschwerden und
RTFM-Fragen :(</LI>
</UL>
</LI>
<LI>MPlayer & Matrox G200/G400/G450/G550 Anwender:
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-matrox">
http://mplayerhq.hu/mailman/listinfo/mplayer-matrox</A><BR>
Sende hierher Matrox-betreffende Fragen
<UL>
<LI>Sachen über mga_vid</LI>
<LI>Matroxs offizielle Beta Treiber (für X 4.x.x)</LI>
<LI>und über matroxfb-TVout.</LI>
</UL>
</LI>
<LI>MPlayer & DVB-Karten Anwender:
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-dvb">
http://mplayerhq.hu/mailman/listinfo/mplayer-dvb</A><BR>
Dinge im Bezug auf DVB-Hardwaredecoder Karten.
(<B>nicht</B> DXR3!)
</LI>
<LI>MPlayer CVS-log:
<A HREF="http://mp.dev.hu/mailman/listinfo/mplayer-cvslog">
http://mplayerhq.hu/mailman/listinfo/mplayer-cvslog</A><BR>
Alle Änderungen am Quellcode werden hier automatisch mitgeteilt.
Sende hier nur Fragen über CVS-Änderungen (wenn du nicht
verstehst, warum eine Änderung erforderlich ist, du eine bessere
Lösung hast oder einen möblichen Fehler/Problem im Patch
gefunden hast).
</LI>
<LI>MPlayer Cygwin-Portierungsliste:
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-cygwin">
http://mplayerhq.hu/mailman/listinfo/mplayer-cygwin</A><BR>
Diskussionen über die Portierung auf Cygwin.
</LI>
<LI>MPlayer OS/2-Portierungsliste:
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-os2">
http://mplayerhq.hu/mailman/listinfo/mplayer-os2</A><BR>
Liste für Diskussionen über die OS/2-Portierung von MPlayer.
</LI>
<LI>MPlayer Weekly News' Liste:
<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-mwn">
http://mplayerhq.hu/mailman/listinfo/mplayer-mwn</A><BR>
Liste für Diskussionen über die Wöchentlichen Neuigkeiten
(MPlayer Weekly News).
</LI>
</UL>
<P><B>Hinweis:</B> Du kannst das durchsuchbare Mailinglisten-Archiv an
folgender Stelle finden: <A HREF="http://www.mplayerhq.hu/cgi-bin/htsearch">
http://www.mplayerhq.hu/cgi-bin/htsearch</A></P>
<H1><A NAME="bug_reports"></A><A HREF="bugreports.html">Anhang B -
Wie man einen Fehler berichtet</A></H1>
<H1><A NAME="known_bugs">Anhang C - Bekannte Probleme</A></H1>
<P>Spezielle System-/CPU-spezifische Fehler/Probleme:</P>
<UL>
<LI>SIGILL (signal 4) auf einem P3 mit 2.2.x Kernel:<BR>
Problem: Kernel 2.2.x hat keine richtige SSE-Unterstützung<BR>
Lösung: update den Kernel auf 2.4.x<BR>
Abhilfe: <CODE>./configure --disable-sse</CODE></LI>
<LI>Allgemein SIGILL (signal 4):<BR>
Problem: du hast MPlayer auf einem anderem Computer compiliert, als auf dem
du abspielst (z.B. compiliert auf einem P3 und Wiedergabe auf einem
Celeron)<BR>
Lösung: kompiliere MPlayer auf dem Rechner, auf dem du abspielst.<BR>
Abhilfe: <CODE>./configure --disable-sse</CODE> usw.</LI>
<LI>"Internal buffer inconsistency" wird während der Verwendung von
MEncoder:<BR>
Problem: bekanntes Problem, wenn lame < 3.90 mit gcc 2.96 oder 3.x.x
compiliert wurde.<BR>
Lösung: Es sollte lame >=3.90 verwendet werden.<BR>
Abhilfe: Compiliere lame mit gcc 2.95.x und deinstalliere alle
installierten lame-Pakete, welche mit gcc 2.96 kompiliert worden sein
könnten.</LI>
<LI>Hässlicher MP2/MP3-Ton auf PPC:<BR>
Problem: bekannter gcc-Fehlcompilierungsfehler auf PPC-Platformen,
es ist noch keine Fehlerbehebung vorhanden.<BR>
Abhilfe: benutze FFmpeg's (langsamen) MP1/MP2/MP3-Decoder
(<CODE>-ac ffmpeg</CODE>)</LI>
<LI>sig11 in libmpeg2 beim Skalieren und Encodieren:<BR>
Problem: bekannter gcc 2.95.2 MMX-Fehler, aktualisiere auf 2.95.3.</LI>
</UL>
<P>Verschiedene A-V Sync- und andere Audio-Probleme</P>
<P>Allgemein Audio-Verzögerung und ruckartiger Sound (kommt bei allen
oder einigen Dateien vor):</P>
<UL>
<LI>am häufigsten: fehlerhafte Audio-Treiber! Probiere verschiedene
Audio-Treiber aus; probiere ALSA 0.9 OSS-Emulation mit <CODE>-ao oss
</CODE>. Manchmal hilft auch <CODE>-ao sdl</CODE>.
Wenn die Datei mit <CODE>-nosound</CODE> ohne Probleme wiedergegeben wird,
dann liegt
höchstwahrscheinlich ein Soundkartentreiber-Problem vor.</LI>
<LI>Audio-Pufferprobleme (Puffergröße schlecht erkannt)<BR>
Abhilfe: <CODE>mplayer -abs</CODE></LI>
<LI>Samplerate Probleme - vielleicht wird die Samplerate in den benutzten
Dateien von der Karte nicht unterstützt. Hier sollte das
Resampling-Plugin (<CODE>-aop</CODE>) getestet werden</LI>
<LI>Langsamer Rechner (CPU oder Grafik)<BR>
versuche es mit <CODE>-vo null</CODE>. Wenn es gut funktioniert, hast du
eine langsame VGA-Karte oder einen langsamen Treiber.<BR>
Abhilfe: kaufe eine schneller Karte oder lies die Dokumentationen, wie man
die Geschwingkeiten erhöht.<BR>
Versuche auch <CODE>-framedrop</CODE></LI>
</UL>
<P>Audio (verschiebt sich / verliert die Synchronisation / bricht nach einer
gewissen Zeit ab) bei einer oder nur einigen wenigen Dateien:</P>
<UL>
<LI>defekte Datei<BR>
Abhilfe:
<UL>
<LI><CODE>-ni</CODE> oder <CODE>-nobps</CODE> (für nicht-interlaced
oder defekte Dateien)<BR>
und/oder</LI>
<LI><CODE>-mc 0</CODE> (erforderlich bei Dateien mit schlechtem
Interleave und VBR-Audio)<BR>
und/oder</LI>
<LI><CODE>-delay</CODE> Option oder +/- Tasten beim Abspielen</LI>
</UL>
Wenn keine dieser Optionen hilft, kann die Datei auf den Server geladen
werden. Wir werden sie untersuchen (und das Problem lösen).
<LI>deine Soundkarte unterstützt keine 48KHz-Wiedergabe<BR>
Abhilfe: kaufe eine bessere Soundkarte... versuche die Bilder/Sekunde
um 10% zu vermindern (verwende <CODE>-fps 27</CODE> bei 30fps-Filmen)
oder verwende das Resampler-Plugin.</LI>
<LI>langsamer Rechner<BR>
(wenn A-V nicht ungefähr 0 ist und die letzte Nummer in der
Status-Leiste steigt)<BR>
Abhilfe: <CODE>-framedrop</CODE></LI>
</UL>
<P>Überhaupt kein Ton:</P>
<UL>
<LI>deine Datei verwendet eine nicht unterstützten Audio-Codec<BR>
Abhilfe: lese die Dokumentationen und hilf uns, dass wir ihn in Zukunft
unterstützen.</LI>
</UL>
<P>Überhaupt kein Bild (nur ein graues/grünes Fenster):</P>
<UL>
<LI>deine Datei verwendet einen nicht unterstützten Videocodec<BR>
Abhilfe: lies die Dokumentation und hilf uns, den Codec zu
unterstützen</LI>
<LI>der automatisch gewählte Codec kann die Datei nicht decodieren,
versuche, einen anderen mit den <CODE>-vc</CODE> oder <CODE>-vfm</CODE>
Optionen zu wählen.</LI>
<LI>Es wird versuchst eine DivX 3.x Datei mit dem OpenDivX- oder XviD-Decoder
(<CODE>-vc odivx</CODE>) abzuspielen - installiere Divx4Linux und
compiliere MPlayer neu.</LI>
</UL>
<P>Videoausgabe-Probleme:</P>
<P>Erster Hinweis: Die Optionen <CODE>-fs, -vm und -zoom</CODE> sind nur
Empfehlungen, sie werden (noch) nicht von allen Treiber unterstützt. Also
ist dies kein Fehler (Bug), wenn es nicht funktioniert. Nur einige Treiber
unterstützten Scaling/Zooming, erwarte das nicht von x11 oder dga.</P>
<P>Zucken des OSD/Untertiteln:</P>
<UL>
<LI>x11 Treiber: Sorry, es kann zur Zeit nicht gelöst werden</LI>
<LI>xv Treiber: verwende die <CODE>-double</CODE>-Option</LI>
</UL>
<P>Grünes Bild bei der Verwendung von mga_vid (<CODE>-vo mga /
-vo xmga</CODE>):</P>
<UL>
<LI><CODE>mga_vid</CODE> hat die Grösse des RAMs falsch erkannt. Lade
das Modul neu mit der Option <CODE>mga_ram_size</CODE>.</LI>
</UL>
<H1><A NAME="skin">Anhang D</A> - <A HREF="../skin.html">MPlayer skin format (Englisch)</A></H1>
<H1><A NAME="flame_wars">Anhang E</A> - <A HREF="users_against_developers.html">
Aufschrei der Entwickler</A></H1>
<H1><A NAME="patches">Anhang F</A> - <A HREF="../tech/patches.txt">Wie man
Patches erstellt</A></H1>
</BODY>
</HTML>
|